Average Error: 13.1 → 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{\mathsf{fma}\left(\sin \lambda_1, \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 \mathsf{fma}\left(\cos \lambda_1 \cdot \cos \phi_2, \cos \lambda_2, \cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2\right)\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 (sin lambda1) (cos lambda2) (* (- (cos lambda1)) (sin lambda2)))
   (cos phi2))
  (-
   (* (cos phi1) (sin phi2))
   (*
    (sin phi1)
    (fma
     (* (cos lambda1) (cos phi2))
     (cos lambda2)
     (* (cos phi2) (* (sin lambda1) (sin lambda2))))))))
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(sin(lambda1), cos(lambda2), (-cos(lambda1) * sin(lambda2))) * cos(phi2)), ((cos(phi1) * sin(phi2)) - (sin(phi1) * fma((cos(lambda1) * cos(phi2)), cos(lambda2), (cos(phi2) * (sin(lambda1) * sin(lambda2)))))));
}
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(fma(sin(lambda1), cos(lambda2), Float64(Float64(-cos(lambda1)) * sin(lambda2))) * cos(phi2)), Float64(Float64(cos(phi1) * sin(phi2)) - Float64(sin(phi1) * fma(Float64(cos(lambda1) * cos(phi2)), cos(lambda2), Float64(cos(phi2) * Float64(sin(lambda1) * sin(lambda2)))))))
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[Sin[lambda1], $MachinePrecision] * N[Cos[lambda2], $MachinePrecision] + N[((-N[Cos[lambda1], $MachinePrecision]) * N[Sin[lambda2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Cos[phi2], $MachinePrecision]), $MachinePrecision] / N[(N[(N[Cos[phi1], $MachinePrecision] * N[Sin[phi2], $MachinePrecision]), $MachinePrecision] - N[(N[Sin[phi1], $MachinePrecision] * N[(N[(N[Cos[lambda1], $MachinePrecision] * N[Cos[phi2], $MachinePrecision]), $MachinePrecision] * N[Cos[lambda2], $MachinePrecision] + N[(N[Cos[phi2], $MachinePrecision] * N[(N[Sin[lambda1], $MachinePrecision] * N[Sin[lambda2], $MachinePrecision]), $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(\sin \lambda_1, \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 \mathsf{fma}\left(\cos \lambda_1 \cdot \cos \phi_2, \cos \lambda_2, \cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2\right)\right)}

Error

Derivation

  1. Initial program 13.1

    \[\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.1

    \[\leadsto \color{blue}{\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}} \]
    Proof
    (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))): 0 points increase in error, 0 points decrease in error
    (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))): 2 points increase in error, 0 points decrease in error
    (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (cos.f64 (-.f64 lambda1 lambda2))))): 0 points increase in error, 0 points decrease in error
  3. Applied egg-rr13.0

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

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

    \[\leadsto \tan^{-1}_* \frac{\mathsf{fma}\left(\sin \lambda_1, \cos \lambda_2, \left(-\cos \lambda_1\right) \cdot \sin \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 \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right)\right)}} \]
  6. Applied egg-rr0.2

    \[\leadsto \tan^{-1}_* \frac{\mathsf{fma}\left(\sin \lambda_1, \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 \color{blue}{\mathsf{fma}\left(\cos \phi_2 \cdot \cos \lambda_1, \cos \lambda_2, \cos \phi_2 \cdot \left(\sin \lambda_2 \cdot \sin \lambda_1\right)\right)}} \]
  7. Final simplification0.2

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

Alternatives

Alternative 1
Error12.2
Cost169672
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ 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{t_1}{t_2 - t_0 \cdot \left(\cos \phi_2 \cdot \sin \phi_1\right)}\\ t_4 := t_2 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot t_0\right)\\ \mathbf{if}\;t_3 \leq 1.55:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_4}\\ \mathbf{elif}\;t_3 \leq 1.5708:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2}{t_2 - \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\sqrt{{t_1}^{2}}}{t_4}\\ \end{array} \]
Alternative 2
Error12.2
Cost156808
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ 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{t_1}{t_2 - t_0 \cdot \left(\cos \phi_2 \cdot \sin \phi_1\right)}\\ t_4 := \tan^{-1}_* \frac{t_1}{t_2 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot t_0\right)}\\ \mathbf{if}\;t_3 \leq 1.55:\\ \;\;\;\;t_4\\ \mathbf{elif}\;t_3 \leq 1.5708:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2}{t_2 - \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_4\\ \end{array} \]
Alternative 3
Error0.2
Cost97472
\[\tan^{-1}_* \frac{\mathsf{fma}\left(\sin \lambda_1, \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 \left(\sin \lambda_1 \cdot \sin \lambda_2 + \cos \lambda_2 \cdot \cos \lambda_1\right)\right)} \]
Alternative 4
Error0.2
Cost97408
\[\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 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \mathsf{fma}\left(\cos \lambda_2, \cos \lambda_1, \sin \lambda_1 \cdot \sin \lambda_2\right)\right)} \]
Alternative 5
Error3.6
Cost91208
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \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 \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}\\ \mathbf{if}\;\phi_2 \leq -0.0352980682740583:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\phi_2 \leq 4.415488496411144 \cdot 10^{-30}:\\ \;\;\;\;\tan^{-1}_* \frac{\mathsf{fma}\left(\sin \lambda_1, \cos \lambda_2, \left(-\cos \lambda_1\right) \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{t_0 - \sin \phi_1 \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2 + \cos \lambda_2 \cdot \cos \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 6
Error0.2
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 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2 + \cos \lambda_2 \cdot \cos \lambda_1\right)\right)} \]
Alternative 7
Error3.6
Cost84872
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\\ t_2 := \tan^{-1}_* \frac{\cos \phi_2 \cdot t_1}{t_0 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}\\ \mathbf{if}\;\phi_2 \leq -0.0352980682740583:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_2 \leq 4.415488496411144 \cdot 10^{-30}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \left(\sin \lambda_1 \cdot \sin \lambda_2 + \cos \lambda_2 \cdot \cos \lambda_1\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 8
Error6.8
Cost71816
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \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{if}\;\lambda_1 \leq -1632.9076133915266:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\lambda_1 \leq 1.0925783141849754:\\ \;\;\;\;\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 \left(\cos \lambda_2 \cdot \cos \lambda_1 + \lambda_1 \cdot \sin \lambda_2\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 9
Error7.7
Cost71816
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \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 \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \phi_1\right)}\\ \mathbf{if}\;\lambda_2 \leq -0.1854228645528665:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\lambda_2 \leq 2.0631266222031016 \cdot 10^{-111}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\sin \lambda_1 - \lambda_2 \cdot \cos \lambda_1\right)}{t_0 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \left(\cos \lambda_1 + \sin \lambda_1 \cdot \lambda_2\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 10
Error6.7
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 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)} \]
Alternative 11
Error7.8
Cost65544
\[\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 -2.274479154320451 \cdot 10^{-5}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\phi_1 \leq 40460.31787430927:\\ \;\;\;\;\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 \left(\lambda_2 - \lambda_1\right) \cdot \left(\cos \phi_2 \cdot \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 12
Error11.0
Cost65416
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := t_0 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\\ t_2 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq -0.0352980682740583:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{t_0 - \cos \phi_2 \cdot \mathsf{expm1}\left(\mathsf{log1p}\left(\sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\right)\right)}\\ \mathbf{elif}\;\phi_2 \leq 244.92581035462206:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2}{t_1}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{t_1}\\ \end{array} \]
Alternative 13
Error16.4
Cost52360
\[\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 \left(\cos \lambda_1 \cdot \cos \phi_2\right)}\\ \mathbf{if}\;\phi_2 \leq -3742405284.670286:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_2 \leq 244.92581035462206:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 + \left(\sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\right) \cdot \left(-1 + \left(\phi_2 \cdot \phi_2\right) \cdot 0.5\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 14
Error13.3
Cost52360
\[\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 \left(\cos \lambda_1 \cdot \cos \phi_2\right)}\\ \mathbf{if}\;\lambda_1 \leq -1632.9076133915266:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\lambda_1 \leq 1.457062609978384 \cdot 10^{-19}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 15
Error13.5
Cost52360
\[\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\\ \mathbf{if}\;\lambda_1 \leq -2.0375506862659737 \cdot 10^{+22}:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{t_1 - \cos \phi_2 \cdot \left(\sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}\\ \mathbf{elif}\;\lambda_1 \leq 1.457062609978384 \cdot 10^{-19}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{t_1 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{t_1 - \sin \phi_1 \cdot \left(\cos \lambda_1 \cdot \cos \phi_2\right)}\\ \end{array} \]
Alternative 16
Error23.6
Cost46472
\[\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 := \cos \left(\lambda_2 - \lambda_1\right)\\ \mathbf{if}\;\phi_2 \leq -47578572412.60163:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \phi_1\right)}\\ \mathbf{elif}\;\phi_2 \leq 1.0671263054256454 \cdot 10^{+40}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 + \left(\sin \phi_1 \cdot t_2\right) \cdot \left(-1 + \left(\phi_2 \cdot \phi_2\right) \cdot 0.5\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - t_2 \cdot \left(\cos \phi_2 \cdot \phi_1\right)}\\ \end{array} \]
Alternative 17
Error19.7
Cost46472
\[\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 - \cos \phi_2 \cdot \sin \phi_1}\\ \mathbf{if}\;\phi_2 \leq -3742405284.670286:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_2 \leq 2.576988366827457 \cdot 10^{-7}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 + \left(\sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\right) \cdot \left(-1 + \left(\phi_2 \cdot \phi_2\right) \cdot 0.5\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 18
Error23.7
Cost46088
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \sin \left(\lambda_1 - \lambda_2\right)\\ t_2 := \cos \phi_2 \cdot t_1\\ t_3 := \cos \left(\lambda_2 - \lambda_1\right)\\ \mathbf{if}\;\phi_2 \leq -0.6826291395876113:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \phi_1\right)}\\ \mathbf{elif}\;\phi_2 \leq 2.576988366827457 \cdot 10^{-7}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot t_3\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{t_0 - t_3 \cdot \left(\cos \phi_2 \cdot \phi_1\right)}\\ \end{array} \]
Alternative 19
Error32.4
Cost45960
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{t_0 - \cos \phi_2 \cdot \left(\phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\right)}\\ \mathbf{if}\;\phi_2 \leq -0.6826291395876113:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\phi_2 \leq 2.576988366827457 \cdot 10^{-7}:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 20
Error26.7
Cost45960
\[\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 \left(\cos \lambda_2 \cdot \phi_1\right)}\\ \mathbf{if}\;\phi_2 \leq -0.6826291395876113:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_2 \leq 2.576988366827457 \cdot 10^{-7}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 21
Error23.7
Cost45960
\[\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 \left(\cos \lambda_2 \cdot \phi_1\right)}\\ \mathbf{if}\;\phi_2 \leq -0.6826291395876113:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_2 \leq 2.576988366827457 \cdot 10^{-7}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_2 - \lambda_1\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 22
Error33.7
Cost45832
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := t_0 - \cos \phi_2 \cdot \left(\phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\right)\\ \mathbf{if}\;\phi_2 \leq -6.254190876339205:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\left(\lambda_1 - \lambda_2\right) + \left(\lambda_2 \cdot \lambda_2\right) \cdot \left(\lambda_2 \cdot 0.16666666666666666 + \lambda_1 \cdot -0.5\right)\right)}{t_1}\\ \mathbf{elif}\;\phi_2 \leq 2.3084677008083734 \cdot 10^{+24}:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right)}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\lambda_1 - \lambda_2\right)}{t_1}\\ \end{array} \]
Alternative 23
Error40.5
Cost40712
\[\begin{array}{l} t_0 := \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2 - \cos \phi_2 \cdot t_0\\ t_2 := \sin \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\lambda_1 - \lambda_2 \leq -20000000000:\\ \;\;\;\;\tan^{-1}_* \frac{t_2 \cdot \left(-0.5 \cdot \left(\phi_2 \cdot \phi_2\right) + 1\right)}{t_1}\\ \mathbf{elif}\;\lambda_1 - \lambda_2 \leq 5 \cdot 10^{+34}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\left(\lambda_1 - \lambda_2\right) + \left(\lambda_1 \cdot \lambda_1\right) \cdot \left(\lambda_2 \cdot 0.5 + \lambda_1 \cdot -0.16666666666666666\right)\right)}{t_1}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{\sin \phi_2 - t_0}\\ \end{array} \]
Alternative 24
Error40.5
Cost40068
\[\begin{array}{l} t_0 := \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2 - \cos \phi_2 \cdot t_0\\ t_2 := \sin \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\lambda_1 - \lambda_2 \leq -2 \cdot 10^{+17}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2 \cdot \left(-0.5 \cdot \left(\phi_2 \cdot \phi_2\right) + 1\right)}{t_1}\\ \mathbf{elif}\;\lambda_1 - \lambda_2 \leq 2 \cdot 10^{-11}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\lambda_1 - \lambda_2\right)}{t_1}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{\sin \phi_2 - t_0}\\ \end{array} \]
Alternative 25
Error40.7
Cost39944
\[\begin{array}{l} t_0 := \sin \left(\lambda_1 - \lambda_2\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\\ \mathbf{if}\;\lambda_1 - \lambda_2 \leq -2 \cdot 10^{+17}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{t_1 - \cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \phi_1\right)}\\ \mathbf{elif}\;\lambda_1 - \lambda_2 \leq 2 \cdot 10^{-11}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\lambda_1 - \lambda_2\right)}{t_1 - \cos \phi_2 \cdot t_2}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{\sin \phi_2 - t_2}\\ \end{array} \]
Alternative 26
Error43.6
Cost39560
\[\begin{array}{l} t_0 := \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\\ t_1 := \sin \left(\lambda_1 - \lambda_2\right)\\ t_2 := \cos \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\phi_2 \leq 2.3084677008083734 \cdot 10^{+24}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{\sin \phi_2 \cdot \mathsf{fma}\left(-0.5, \phi_1 \cdot \phi_1, 1\right) - t_0}\\ \mathbf{elif}\;\phi_2 \leq 2.0261361962202039 \cdot 10^{+186}:\\ \;\;\;\;\tan^{-1}_* \frac{\lambda_1 \cdot \cos \phi_2}{t_2 - \cos \phi_2 \cdot t_0}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_2 - \cos \lambda_1 \cdot \phi_1}\\ \end{array} \]
Alternative 27
Error43.9
Cost33024
\[\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right)}{\sin \phi_2 \cdot \mathsf{fma}\left(-0.5, \phi_1 \cdot \phi_1, 1\right) - \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)} \]
Alternative 28
Error43.8
Cost26240
\[\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right)}{\sin \phi_2 - \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)} \]

Error

Reproduce

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