Average Error: 13.2 → 0.2
Time: 1.0min
Precision: binary64
Cost: 116800
\[\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{\mathsf{fma}\left(\cos \lambda_2 \cdot \sin \lambda_1, \cos \phi_2, \cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \left(-\sin \lambda_2\right)\right)\right)}{\cos \phi_1 \cdot \sin \phi_2 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\sin \lambda_1 \cdot \sin \lambda_2\right)\right) + \cos \lambda_2 \cdot \cos \lambda_1\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
  (fma
   (* (cos lambda2) (sin lambda1))
   (cos phi2)
   (* (cos phi2) (* (cos lambda1) (- (sin lambda2)))))
  (-
   (* (cos phi1) (sin phi2))
   (*
    (* (cos phi2) (sin phi1))
    (+
     (expm1 (log1p (* (sin lambda1) (sin lambda2))))
     (* (cos lambda2) (cos lambda1)))))))
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(fma((cos(lambda2) * sin(lambda1)), cos(phi2), (cos(phi2) * (cos(lambda1) * -sin(lambda2)))), ((cos(phi1) * sin(phi2)) - ((cos(phi2) * sin(phi1)) * (expm1(log1p((sin(lambda1) * sin(lambda2)))) + (cos(lambda2) * cos(lambda1))))));
}
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(fma(Float64(cos(lambda2) * sin(lambda1)), cos(phi2), Float64(cos(phi2) * Float64(cos(lambda1) * Float64(-sin(lambda2))))), Float64(Float64(cos(phi1) * sin(phi2)) - Float64(Float64(cos(phi2) * sin(phi1)) * Float64(expm1(log1p(Float64(sin(lambda1) * sin(lambda2)))) + Float64(cos(lambda2) * cos(lambda1))))))
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[Cos[lambda2], $MachinePrecision] * N[Sin[lambda1], $MachinePrecision]), $MachinePrecision] * N[Cos[phi2], $MachinePrecision] + N[(N[Cos[phi2], $MachinePrecision] * N[(N[Cos[lambda1], $MachinePrecision] * (-N[Sin[lambda2], $MachinePrecision])), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(N[Cos[phi1], $MachinePrecision] * N[Sin[phi2], $MachinePrecision]), $MachinePrecision] - N[(N[(N[Cos[phi2], $MachinePrecision] * N[Sin[phi1], $MachinePrecision]), $MachinePrecision] * N[(N[(Exp[N[Log[1 + N[(N[Sin[lambda1], $MachinePrecision] * N[Sin[lambda2], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]] - 1), $MachinePrecision] + N[(N[Cos[lambda2], $MachinePrecision] * N[Cos[lambda1], $MachinePrecision]), $MachinePrecision]), $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{\mathsf{fma}\left(\cos \lambda_2 \cdot \sin \lambda_1, \cos \phi_2, \cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \left(-\sin \lambda_2\right)\right)\right)}{\cos \phi_1 \cdot \sin \phi_2 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\sin \lambda_1 \cdot \sin \lambda_2\right)\right) + \cos \lambda_2 \cdot \cos \lambda_1\right)}

Error

Derivation

  1. Initial program 13.2

    \[\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. Applied egg-rr6.7

    \[\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}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)} \]
  3. 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}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \color{blue}{\left(\sin \lambda_1 \cdot \sin \lambda_2 + \cos \lambda_1 \cdot \cos \lambda_2\right)}} \]
  4. Applied egg-rr0.2

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

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

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

Alternatives

Alternative 1
Error12.3
Cost156808
\[\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 := \cos \left(\lambda_1 - \lambda_2\right)\\ t_3 := \tan^{-1}_* \frac{t_0}{t_1 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot t_2\right)}\\ t_4 := \tan^{-1}_* \frac{t_0}{t_1 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot t_2}\\ \mathbf{if}\;t_4 \leq 1.55:\\ \;\;\;\;t_3\\ \mathbf{elif}\;t_4 \leq 1.572:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2}{t_1 - \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_3\\ \end{array} \]
Alternative 2
Error0.2
Cost104000
\[\tan^{-1}_* \frac{\mathsf{fma}\left(\cos \lambda_2 \cdot \sin \lambda_1, \cos \phi_2, \left(-\sin \lambda_2\right) \cdot \left(\cos \phi_2 \cdot \cos \lambda_1\right)\right)}{\cos \phi_1 \cdot \sin \phi_2 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2 + \cos \lambda_2 \cdot \cos \lambda_1\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 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2 + \cos \lambda_2 \cdot \cos \lambda_1\right)} \]
Alternative 4
Error3.7
Cost84872
\[\begin{array}{l} t_0 := \cos \lambda_1 \cdot \sin \lambda_2\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \cos \lambda_2 \cdot \sin \lambda_1\\ t_3 := \cos \phi_2 \cdot \left(t_2 - t_0\right)\\ t_4 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq -3938660.626319912:\\ \;\;\;\;\tan^{-1}_* \frac{t_3}{t_1 - \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \phi_2 \cdot \left(\sin \phi_1 \cdot t_4\right)\right)\right)}\\ \mathbf{elif}\;\phi_2 \leq 6.986887506913781 \cdot 10^{-30}:\\ \;\;\;\;\tan^{-1}_* \frac{t_3}{t_1 - \sin \phi_1 \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2 + \cos \lambda_2 \cdot \cos \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2 \cdot \cos \phi_2 - \cos \phi_2 \cdot t_0}{t_1 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot t_4}\\ \end{array} \]
Alternative 5
Error6.7
Cost78208
\[\tan^{-1}_* \frac{\left(\cos \lambda_2 \cdot \sin \lambda_1\right) \cdot \cos \phi_2 - \cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \sin \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)} \]
Alternative 6
Error6.9
Cost71816
\[\begin{array}{l} t_0 := \cos \lambda_1 \cdot \sin \lambda_2\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \cos \phi_2 \cdot \sin \phi_1\\ t_3 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - t_0\right)}{t_1 - \cos \lambda_1 \cdot t_2}\\ \mathbf{if}\;\lambda_1 \leq -179475370.01190808:\\ \;\;\;\;t_3\\ \mathbf{elif}\;\lambda_1 \leq 1.723304543586466 \cdot 10^{-20}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 - t_0\right)}{t_1 - t_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{else}:\\ \;\;\;\;t_3\\ \end{array} \]
Alternative 7
Error7.0
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 - \cos \lambda_2 \cdot \left(\cos \phi_2 \cdot \sin \phi_1\right)}\\ \mathbf{if}\;\lambda_2 \leq -1.0988640854365583 \cdot 10^{-15}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\lambda_2 \leq 1.0321125411001029 \cdot 10^{-26}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \cos \phi_2 \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 8
Error6.7
Cost71680
\[\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 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)} \]
Alternative 9
Error7.4
Cost65544
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \cos \lambda_1 \cdot \sin \lambda_2\\ t_2 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 - t_1\right)}{t_0 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{if}\;\phi_1 \leq -5.4717186810392465 \cdot 10^{-8}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_1 \leq 3.3847490775085955 \cdot 10^{-14}:\\ \;\;\;\;\tan^{-1}_* \frac{\left(\cos \lambda_2 \cdot \sin \lambda_1\right) \cdot \cos \phi_2 - \cos \phi_2 \cdot t_1}{t_0 - \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 10
Error7.5
Cost65416
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \cos \lambda_1 \cdot \sin \lambda_2\\ t_2 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 - t_1\right)}{t_0 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{if}\;\phi_1 \leq -5.4717186810392465 \cdot 10^{-8}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_1 \leq 3.3847490775085955 \cdot 10^{-14}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - t_1\right)}{t_0 - \cos \lambda_2 \cdot \phi_1}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 11
Error7.8
Cost65288
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\\ t_2 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_1 \leq -5.4717186810392465 \cdot 10^{-8}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{t_0 - \cos \phi_2 \cdot t_1}\\ \mathbf{elif}\;\phi_1 \leq 3.3847490775085955 \cdot 10^{-14}:\\ \;\;\;\;\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 - \cos \lambda_2 \cdot \phi_1}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{t_0 - \cos \phi_2 \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(t_1\right)\right)}\\ \end{array} \]
Alternative 12
Error8.2
Cost65288
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \cos \left(\lambda_1 - \lambda_2\right)\\ t_2 := \sin \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_1 \leq -1.475148326233933 \cdot 10^{-52}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(t_2\right)\right)}{t_0 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot t_1}\\ \mathbf{elif}\;\phi_1 \leq 3.3847490775085955 \cdot 10^{-14}:\\ \;\;\;\;\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 - \cos \lambda_2 \cdot \phi_1}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot t_2}{t_0 - \cos \phi_2 \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\sin \phi_1 \cdot t_1\right)\right)}\\ \end{array} \]
Alternative 13
Error7.8
Cost58888
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}\\ \mathbf{if}\;\phi_1 \leq -5.4717186810392465 \cdot 10^{-8}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\phi_1 \leq 3.3847490775085955 \cdot 10^{-14}:\\ \;\;\;\;\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 - \cos \lambda_1 \cdot \phi_1}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 14
Error7.8
Cost58888
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}\\ \mathbf{if}\;\phi_1 \leq -5.4717186810392465 \cdot 10^{-8}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\phi_1 \leq 3.3847490775085955 \cdot 10^{-14}:\\ \;\;\;\;\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 - \cos \lambda_2 \cdot \phi_1}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 15
Error18.3
Cost52624
\[\begin{array}{l} t_0 := \cos \lambda_2 \cdot \sin \phi_1\\ t_1 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_2 := \cos \phi_1 \cdot \sin \phi_2\\ t_3 := \tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{t_2 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{if}\;\lambda_1 \leq -5.46878198768077 \cdot 10^{+117}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;\lambda_1 \leq -5.061323842490912 \cdot 10^{-75}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_2 - \sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{elif}\;\lambda_1 \leq 2.1537261751348627 \cdot 10^{-233}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(-\lambda_2\right)}{t_2 - \cos \phi_2 \cdot t_0}\\ \mathbf{elif}\;\lambda_1 \leq 1.723304543586466 \cdot 10^{-20}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_2 - t_0}\\ \mathbf{else}:\\ \;\;\;\;t_3\\ \end{array} \]
Alternative 16
Error13.4
Cost52424
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \sin \left(-\lambda_2\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_2 \leq -0.27398790877081824:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{t_1 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \phi_1\right)}\\ \mathbf{elif}\;\lambda_2 \leq 9.003524630273685 \cdot 10^{-12}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_1 - \cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{t_1 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}\\ \end{array} \]
Alternative 17
Error13.4
Cost52360
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(-\lambda_2\right)}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \phi_1\right)}\\ \mathbf{if}\;\lambda_2 \leq -0.27398790877081824:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\lambda_2 \leq 9.003524630273685 \cdot 10^{-12}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 18
Error18.8
Cost52296
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(-\lambda_2\right)}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \phi_1\right)}\\ \mathbf{if}\;\lambda_2 \leq -879753321.5227183:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\lambda_2 \leq 1.0321125411001029 \cdot 10^{-26}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 19
Error19.8
Cost46216
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_2 := \tan^{-1}_* \frac{t_1}{t_0 - \sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{if}\;\lambda_1 - \lambda_2 \leq -2 \cdot 10^{-5}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\lambda_1 - \lambda_2 \leq 10^{-50}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - \cos \phi_2 \cdot \sin \phi_1}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 20
Error20.0
Cost45896
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \cos \phi_2 \cdot \sin \phi_1}\\ \mathbf{if}\;\phi_2 \leq -5.601618379532573 \cdot 10^{-55}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\phi_2 \leq 0.1522152496642467:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \left(-\mathsf{fma}\left(-1, \lambda_1, \lambda_2\right)\right)}{t_0 - \sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 21
Error20.0
Cost45832
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \sin \left(\lambda_1 - \lambda_2\right)\\ t_2 := \tan^{-1}_* \frac{\cos \phi_2 \cdot t_1}{t_0 - \cos \phi_2 \cdot \sin \phi_1}\\ \mathbf{if}\;\phi_2 \leq -5.601618379532573 \cdot 10^{-55}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_2 \leq 0.1522152496642467:\\ \;\;\;\;\tan^{-1}_* \frac{t_1 \cdot \left(1 + -0.5 \cdot \left(\phi_2 \cdot \phi_2\right)\right)}{t_0 - \sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 22
Error23.8
Cost39944
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \cos \left(\lambda_2 - \lambda_1\right)\\ t_2 := \sin \left(\lambda_1 - \lambda_2\right)\\ t_3 := \tan^{-1}_* \frac{\cos \phi_2 \cdot t_2}{t_0 - \phi_1 \cdot t_1}\\ \mathbf{if}\;\phi_2 \leq -1.137786503102006 \cdot 10^{-52}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;\phi_2 \leq 0.1522152496642467:\\ \;\;\;\;\tan^{-1}_* \frac{t_2 \cdot \left(1 + -0.5 \cdot \left(\phi_2 \cdot \phi_2\right)\right)}{t_0 - \sin \phi_1 \cdot t_1}\\ \mathbf{else}:\\ \;\;\;\;t_3\\ \end{array} \]
Alternative 23
Error33.1
Cost39296
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)} \]
Alternative 24
Error33.1
Cost39168
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \cos \lambda_1 \cdot \phi_1} \]
Alternative 25
Error33.2
Cost39168
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \cos \lambda_2 \cdot \phi_1} \]
Alternative 26
Error43.3
Cost32768
\[\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)} \]

Error

Reproduce

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