?

Average Error: 20.69% → 0.3%
Time: 1.2min
Precision: binary64
Cost: 182144

?

\[\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)} \]
\[\begin{array}{l} t_0 := \cos \lambda_1 \cdot \cos \lambda_2\\ t_1 := \sin \lambda_2 \cdot \sin \lambda_1\\ \tan^{-1}_* \frac{\mathsf{fma}\left(\cos \lambda_1, -\sin \lambda_2, \sin \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({t_0}^{3} + {t_1}^{3}\right) \cdot \left(\cos \phi_2 \cdot \sin \phi_1\right)}{{t_0}^{2} + \left(t_1 \cdot t_1 - t_0 \cdot t_1\right)}} \end{array} \]
(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
 (let* ((t_0 (* (cos lambda1) (cos lambda2)))
        (t_1 (* (sin lambda2) (sin lambda1))))
   (atan2
    (*
     (fma (cos lambda1) (- (sin lambda2)) (* (sin lambda1) (cos lambda2)))
     (cos phi2))
    (-
     (* (cos phi1) (sin phi2))
     (/
      (* (+ (pow t_0 3.0) (pow t_1 3.0)) (* (cos phi2) (sin phi1)))
      (+ (pow t_0 2.0) (- (* t_1 t_1) (* t_0 t_1))))))))
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) {
	double t_0 = cos(lambda1) * cos(lambda2);
	double t_1 = sin(lambda2) * sin(lambda1);
	return atan2((fma(cos(lambda1), -sin(lambda2), (sin(lambda1) * cos(lambda2))) * cos(phi2)), ((cos(phi1) * sin(phi2)) - (((pow(t_0, 3.0) + pow(t_1, 3.0)) * (cos(phi2) * sin(phi1))) / (pow(t_0, 2.0) + ((t_1 * t_1) - (t_0 * t_1))))));
}
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)
	t_0 = Float64(cos(lambda1) * cos(lambda2))
	t_1 = Float64(sin(lambda2) * sin(lambda1))
	return atan(Float64(fma(cos(lambda1), Float64(-sin(lambda2)), Float64(sin(lambda1) * cos(lambda2))) * cos(phi2)), Float64(Float64(cos(phi1) * sin(phi2)) - Float64(Float64(Float64((t_0 ^ 3.0) + (t_1 ^ 3.0)) * Float64(cos(phi2) * sin(phi1))) / Float64((t_0 ^ 2.0) + Float64(Float64(t_1 * t_1) - Float64(t_0 * t_1))))))
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_] := Block[{t$95$0 = N[(N[Cos[lambda1], $MachinePrecision] * N[Cos[lambda2], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[Sin[lambda2], $MachinePrecision] * N[Sin[lambda1], $MachinePrecision]), $MachinePrecision]}, N[ArcTan[N[(N[(N[Cos[lambda1], $MachinePrecision] * (-N[Sin[lambda2], $MachinePrecision]) + N[(N[Sin[lambda1], $MachinePrecision] * N[Cos[lambda2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Cos[phi2], $MachinePrecision]), $MachinePrecision] / N[(N[(N[Cos[phi1], $MachinePrecision] * N[Sin[phi2], $MachinePrecision]), $MachinePrecision] - N[(N[(N[(N[Power[t$95$0, 3.0], $MachinePrecision] + N[Power[t$95$1, 3.0], $MachinePrecision]), $MachinePrecision] * N[(N[Cos[phi2], $MachinePrecision] * N[Sin[phi1], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[t$95$0, 2.0], $MachinePrecision] + N[(N[(t$95$1 * t$95$1), $MachinePrecision] - N[(t$95$0 * t$95$1), $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)}
\begin{array}{l}
t_0 := \cos \lambda_1 \cdot \cos \lambda_2\\
t_1 := \sin \lambda_2 \cdot \sin \lambda_1\\
\tan^{-1}_* \frac{\mathsf{fma}\left(\cos \lambda_1, -\sin \lambda_2, \sin \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({t_0}^{3} + {t_1}^{3}\right) \cdot \left(\cos \phi_2 \cdot \sin \phi_1\right)}{{t_0}^{2} + \left(t_1 \cdot t_1 - t_0 \cdot t_1\right)}}
\end{array}

Error?

Derivation?

  1. Initial program 20.69

    \[\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. Simplified20.69

    \[\leadsto \color{blue}{\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}} \]
    Proof

    [Start]20.69

    \[ \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)} \]

    associate-*l* [=>]20.69

    \[ \tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \color{blue}{\sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}} \]
  3. Applied egg-rr10.55

    \[\leadsto \tan^{-1}_* \frac{\color{blue}{\left(\sin \lambda_1 \cdot \cos \lambda_2 + \left(-\cos \lambda_1\right) \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 \cos \left(\lambda_1 - \lambda_2\right)\right)} \]
  4. Simplified10.55

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

    [Start]10.55

    \[ \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 + \left(-\cos \lambda_1\right) \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 \cos \left(\lambda_1 - \lambda_2\right)\right)} \]

    +-commutative [<=]10.55

    \[ \tan^{-1}_* \frac{\color{blue}{\left(\left(-\cos \lambda_1\right) \cdot \sin \lambda_2 + \sin \lambda_1 \cdot \cos \lambda_2\right)} \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)} \]

    distribute-lft-neg-in [<=]10.55

    \[ \tan^{-1}_* \frac{\left(\color{blue}{\left(-\cos \lambda_1 \cdot \sin \lambda_2\right)} + \sin \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)} \]

    distribute-rgt-neg-in [=>]10.55

    \[ \tan^{-1}_* \frac{\left(\color{blue}{\cos \lambda_1 \cdot \left(-\sin \lambda_2\right)} + \sin \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)} \]

    sin-neg [<=]10.55

    \[ \tan^{-1}_* \frac{\left(\cos \lambda_1 \cdot \color{blue}{\sin \left(-\lambda_2\right)} + \sin \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)} \]

    fma-def [=>]10.55

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

    sin-neg [=>]10.55

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

    \[\leadsto \tan^{-1}_* \frac{\mathsf{fma}\left(\cos \lambda_1, -\sin \lambda_2, \sin \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \color{blue}{\frac{\left({\left(\cos \lambda_1 \cdot \cos \lambda_2\right)}^{3} + {\left(\sin \lambda_1 \cdot \sin \lambda_2\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\left(\cos \lambda_1 \cdot \cos \lambda_2\right) \cdot \left(\cos \lambda_1 \cdot \cos \lambda_2\right) + \left(\left(\sin \lambda_1 \cdot \sin \lambda_2\right) \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2\right) - \left(\cos \lambda_1 \cdot \cos \lambda_2\right) \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2\right)\right)}}} \]
  6. Taylor expanded in lambda1 around inf 0.31

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

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

    [Start]0.31

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

    *-commutative [=>]0.31

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

    unpow2 [=>]0.31

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

    unpow2 [=>]0.31

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

    swap-sqr [<=]0.3

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

    unpow2 [<=]0.3

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

    *-commutative [<=]0.3

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

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

Alternatives

Alternative 1
Error0.29%
Cost110528
\[\tan^{-1}_* \frac{\mathsf{fma}\left(\cos \lambda_1, -\sin \lambda_2, \sin \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \left(\cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \cos \lambda_2\right)\right) + \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \left(\sin \lambda_2 \cdot \sin \lambda_1\right)\right)\right)} \]
Alternative 2
Error0.29%
Cost104192
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \left(\cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \cos \lambda_2\right)\right) + \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \left(\sin \lambda_2 \cdot \sin \lambda_1\right)\right)\right)} \]
Alternative 3
Error0.29%
Cost97472
\[\tan^{-1}_* \frac{\mathsf{fma}\left(\cos \lambda_1, -\sin \lambda_2, \sin \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \left(\cos \lambda_1 \cdot \cos \lambda_2 + \sin \lambda_2 \cdot \sin \lambda_1\right)} \]
Alternative 4
Error0.29%
Cost91136
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \cos \lambda_2 - \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(\cos \lambda_1 \cdot \cos \lambda_2 + \sin \lambda_2 \cdot \sin \lambda_1\right)} \]
Alternative 5
Error10.55%
Cost78016
\[\tan^{-1}_* \frac{\mathsf{fma}\left(\cos \lambda_1, -\sin \lambda_2, \sin \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)} \]
Alternative 6
Error10.59%
Cost71817
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_2 \leq -0.00132 \lor \neg \left(\lambda_2 \leq 0.062\right):\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{t_0 - \sin \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \phi_2\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \left(-0.5 \cdot \left(\lambda_2 \cdot \lambda_2\right) + 1\right) + \cos \lambda_1 \cdot \left(0.16666666666666666 \cdot {\lambda_2}^{3} - \lambda_2\right)\right)}{t_0 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}\\ \end{array} \]
Alternative 7
Error10.71%
Cost71817
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_1 \leq -5.6 \cdot 10^{-13} \lor \neg \left(\lambda_1 \leq 1.35 \cdot 10^{-12}\right):\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{t_0 - \cos \lambda_1 \cdot \left(\cos \phi_2 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \mathsf{expm1}\left(\mathsf{log1p}\left(\cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)}\\ \end{array} \]
Alternative 8
Error10.55%
Cost71680
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)} \]
Alternative 9
Error11.59%
Cost65545
\[\begin{array}{l} t_0 := \cos \lambda_1 \cdot \sin \lambda_2\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_1 \leq -0.012 \lor \neg \left(\phi_1 \leq 0.00076\right):\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 - t_0\right)}{t_1 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot t_2\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \cos \lambda_2 - t_0\right)}{t_1 - t_2 \cdot \left(\cos \phi_2 \cdot \phi_1\right)}\\ \end{array} \]
Alternative 10
Error11.71%
Cost65417
\[\begin{array}{l} t_0 := \cos \lambda_1 \cdot \sin \lambda_2\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_1 \leq -3.9 \cdot 10^{-11} \lor \neg \left(\phi_1 \leq 0.00076\right):\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 - t_0\right)}{t_1 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot t_2\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \cos \lambda_2 - t_0\right)}{t_1 - \phi_1 \cdot t_2}\\ \end{array} \]
Alternative 11
Error11.7%
Cost65417
\[\begin{array}{l} t_0 := \cos \lambda_1 \cdot \sin \lambda_2\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_1 \leq -5.2 \cdot 10^{-11} \lor \neg \left(\phi_1 \leq 0.00076\right):\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 - t_0\right)}{t_1 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot t_2\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \cos \lambda_2 - t_0\right)}{t_1 - \sin \phi_1 \cdot t_2}\\ \end{array} \]
Alternative 12
Error12.26%
Cost59016
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \cos \left(\lambda_1 - \lambda_2\right)\\ t_2 := \sin \phi_1 \cdot \left(\cos \phi_2 \cdot t_1\right)\\ t_3 := \sin \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_1 \leq -3.8 \cdot 10^{-9}:\\ \;\;\;\;\tan^{-1}_* \frac{\frac{\cos \phi_2}{\frac{1}{t_3}}}{t_0 - t_2}\\ \mathbf{elif}\;\phi_1 \leq 0.00076:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{t_0 - \phi_1 \cdot t_1}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot t_3}{t_0 + \left(1 - \left(t_2 + 1\right)\right)}\\ \end{array} \]
Alternative 13
Error29.94%
Cost52361
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\lambda_1 \leq -2.65 \cdot 10^{-11} \lor \neg \left(\lambda_1 \leq 0.00021\right):\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot t_0\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\lambda_1 - \sin \lambda_2\right)}{\sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot t_0\right)}\\ \end{array} \]
Alternative 14
Error21%
Cost52361
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_1 \leq -3200 \lor \neg \left(\lambda_1 \leq 0.108\right):\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{t_0 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \sin \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \phi_2\right)}\\ \end{array} \]
Alternative 15
Error20.72%
Cost52352
\[\tan^{-1}_* \frac{\frac{\cos \phi_2}{\frac{1}{\sin \left(\lambda_1 - \lambda_2\right)}}}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)} \]
Alternative 16
Error20.69%
Cost52224
\[\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(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)} \]
Alternative 17
Error34.37%
Cost45960
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot t_0\\ \mathbf{if}\;\lambda_1 \leq -2.8 \cdot 10^{-6}:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{t_1}\\ \mathbf{elif}\;\lambda_1 \leq 4.2 \cdot 10^{-208}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\lambda_1 - \sin \lambda_2\right)}{\sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot t_0\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_1}\\ \end{array} \]
Alternative 18
Error45.85%
Cost45833
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_1 \leq -2.05 \cdot 10^{-7} \lor \neg \left(\lambda_1 \leq 0.01\right):\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{t_0 - \sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \cos \lambda_2 \cdot \phi_1}\\ \end{array} \]
Alternative 19
Error34.23%
Cost45833
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_1 \leq -3500 \lor \neg \left(\lambda_1 \leq 0.2\right):\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{t_0 - \sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \cos \lambda_2 \cdot \sin \phi_1}\\ \end{array} \]
Alternative 20
Error33.98%
Cost45696
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)} \]
Alternative 21
Error39.2%
Cost45568
\[\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 \sin \phi_1} \]
Alternative 22
Error52.11%
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 23
Error52.17%
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 24
Error68.9%
Cost33152
\[\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{\sin \phi_2 \cdot \left(1 + -0.5 \cdot \left(\phi_1 \cdot \phi_1\right)\right) - \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)} \]
Alternative 25
Error77.1%
Cost32640
\[\tan^{-1}_* \frac{\sin \lambda_1}{\cos \phi_1 \cdot \sin \phi_2 - \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)} \]
Alternative 26
Error68.95%
Cost32640
\[\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{\sin \phi_2 - \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)} \]

Error

Reproduce?

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