?

Average Accuracy: 73.5% → 94.0%
Time: 48.2s
Precision: binary64
Cost: 142784

?

\[\cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right) \cdot R \]
\[\begin{array}{l} t_0 := \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot \left(\cos \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right)\right)\right)\right)\\ {\left({t_0}^{2} \cdot t_0\right)}^{0.3333333333333333} \cdot R \end{array} \]
(FPCore (R lambda1 lambda2 phi1 phi2)
 :precision binary64
 (*
  (acos
   (+
    (* (sin phi1) (sin phi2))
    (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2)))))
  R))
(FPCore (R lambda1 lambda2 phi1 phi2)
 :precision binary64
 (let* ((t_0
         (acos
          (fma
           (sin phi1)
           (sin phi2)
           (*
            (cos phi2)
            (*
             (cos phi1)
             (+
              (* (cos lambda2) (cos lambda1))
              (* (sin lambda2) (sin lambda1)))))))))
   (* (pow (* (pow t_0 2.0) t_0) 0.3333333333333333) R)))
double code(double R, double lambda1, double lambda2, double phi1, double phi2) {
	return acos(((sin(phi1) * sin(phi2)) + ((cos(phi1) * cos(phi2)) * cos((lambda1 - lambda2))))) * R;
}
double code(double R, double lambda1, double lambda2, double phi1, double phi2) {
	double t_0 = acos(fma(sin(phi1), sin(phi2), (cos(phi2) * (cos(phi1) * ((cos(lambda2) * cos(lambda1)) + (sin(lambda2) * sin(lambda1)))))));
	return pow((pow(t_0, 2.0) * t_0), 0.3333333333333333) * R;
}
function code(R, lambda1, lambda2, phi1, phi2)
	return Float64(acos(Float64(Float64(sin(phi1) * sin(phi2)) + Float64(Float64(cos(phi1) * cos(phi2)) * cos(Float64(lambda1 - lambda2))))) * R)
end
function code(R, lambda1, lambda2, phi1, phi2)
	t_0 = acos(fma(sin(phi1), sin(phi2), Float64(cos(phi2) * Float64(cos(phi1) * Float64(Float64(cos(lambda2) * cos(lambda1)) + Float64(sin(lambda2) * sin(lambda1)))))))
	return Float64((Float64((t_0 ^ 2.0) * t_0) ^ 0.3333333333333333) * R)
end
code[R_, lambda1_, lambda2_, phi1_, phi2_] := N[(N[ArcCos[N[(N[(N[Sin[phi1], $MachinePrecision] * N[Sin[phi2], $MachinePrecision]), $MachinePrecision] + N[(N[(N[Cos[phi1], $MachinePrecision] * N[Cos[phi2], $MachinePrecision]), $MachinePrecision] * N[Cos[N[(lambda1 - lambda2), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * R), $MachinePrecision]
code[R_, lambda1_, lambda2_, phi1_, phi2_] := Block[{t$95$0 = N[ArcCos[N[(N[Sin[phi1], $MachinePrecision] * N[Sin[phi2], $MachinePrecision] + N[(N[Cos[phi2], $MachinePrecision] * N[(N[Cos[phi1], $MachinePrecision] * N[(N[(N[Cos[lambda2], $MachinePrecision] * N[Cos[lambda1], $MachinePrecision]), $MachinePrecision] + N[(N[Sin[lambda2], $MachinePrecision] * N[Sin[lambda1], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, N[(N[Power[N[(N[Power[t$95$0, 2.0], $MachinePrecision] * t$95$0), $MachinePrecision], 0.3333333333333333], $MachinePrecision] * R), $MachinePrecision]]
\cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right) \cdot R
\begin{array}{l}
t_0 := \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot \left(\cos \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right)\right)\right)\right)\\
{\left({t_0}^{2} \cdot t_0\right)}^{0.3333333333333333} \cdot R
\end{array}

Error?

Derivation?

  1. Initial program 73.5%

    \[\cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right) \cdot R \]
  2. Simplified73.5%

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

    [Start]73.5

    \[ \cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right) \cdot R \]

    fma-def [=>]73.5

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

    associate-*l* [=>]73.5

    \[ \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \color{blue}{\cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)}\right)\right) \cdot R \]
  3. Applied egg-rr73.5%

    \[\leadsto \color{blue}{{\left({\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)}^{3}\right)}^{0.3333333333333333}} \cdot R \]
    Proof

    [Start]73.5

    \[ \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right) \cdot R \]

    add-cbrt-cube [=>]73.3

    \[ \color{blue}{\sqrt[3]{\left(\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right) \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)\right) \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)}} \cdot R \]

    pow1/3 [=>]73.5

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

    pow3 [=>]73.5

    \[ {\color{blue}{\left({\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)}^{3}\right)}}^{0.3333333333333333} \cdot R \]
  4. Applied egg-rr94.1%

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

    [Start]73.5

    \[ {\left({\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)}^{3}\right)}^{0.3333333333333333} \cdot R \]

    cos-diff [=>]94.1

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

    +-commutative [=>]94.1

    \[ {\left({\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \color{blue}{\left(\sin \lambda_1 \cdot \sin \lambda_2 + \cos \lambda_1 \cdot \cos \lambda_2\right)}\right)\right)\right)}^{3}\right)}^{0.3333333333333333} \cdot R \]
  5. Taylor expanded in lambda2 around -inf 94.0%

    \[\leadsto {\color{blue}{\left({\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot \left(\cos \phi_1 \cdot \left(\sin \lambda_2 \cdot \sin \lambda_1 + \cos \lambda_2 \cdot \cos \lambda_1\right)\right)\right)\right)}^{2} \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot \left(\cos \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right)\right)\right)\right)\right)}}^{0.3333333333333333} \cdot R \]
  6. Final simplification94.0%

    \[\leadsto {\left({\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot \left(\cos \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right)\right)\right)\right)}^{2} \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot \left(\cos \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right)\right)\right)\right)\right)}^{0.3333333333333333} \cdot R \]

Alternatives

Alternative 1
Accuracy94.1%
Cost77888
\[R \cdot {\left({\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \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)\right)\right)}^{3}\right)}^{0.3333333333333333} \]
Alternative 2
Accuracy94.1%
Cost64960
\[R \cdot \cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot \mathsf{fma}\left(\cos \lambda_2, \cos \lambda_1, \sin \lambda_2 \cdot \sin \lambda_1\right)\right) \]
Alternative 3
Accuracy94.1%
Cost64960
\[R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right) \cdot \left(\cos \phi_2 \cdot \cos \phi_1\right)\right)\right) \]
Alternative 4
Accuracy83.5%
Cost58824
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \cos \phi_1\\ \mathbf{if}\;\phi_1 \leq -0.00165:\\ \;\;\;\;R \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot \left(\cos \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)\right)\right)\\ \mathbf{elif}\;\phi_1 \leq 6.2:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_0 \cdot \mathsf{fma}\left(\cos \lambda_2, \cos \lambda_1, \sin \lambda_2 \cdot \sin \lambda_1\right) + \phi_1 \cdot \sin \phi_2\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \left(\pi \cdot 0.5\right) - R \cdot \sin^{-1} \left(\mathsf{fma}\left(\cos \left(\lambda_2 - \lambda_1\right), t_0, \sin \phi_1 \cdot \sin \phi_2\right)\right)\\ \end{array} \]
Alternative 5
Accuracy82.6%
Cost58824
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq -0.0015:\\ \;\;\;\;R \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot \left(\cos \phi_1 \cdot t_0\right)\right)\right)\right)\right)\\ \mathbf{elif}\;\phi_2 \leq 5 \cdot 10^{+31}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot \mathsf{fma}\left(\cos \lambda_2, \cos \lambda_1, \sin \lambda_2 \cdot \sin \lambda_1\right) + \sin \phi_1 \cdot \phi_2\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot t_0\right)\right)\right)\\ \end{array} \]
Alternative 6
Accuracy94.1%
Cost58688
\[R \cdot \cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right) \cdot \left(\cos \phi_2 \cdot \cos \phi_1\right)\right) \]
Alternative 7
Accuracy83.6%
Cost58436
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \cos \phi_1\\ \mathbf{if}\;\phi_1 \leq -0.0105:\\ \;\;\;\;R \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)\right)\right)\\ \mathbf{elif}\;\phi_1 \leq 0.235:\\ \;\;\;\;R \cdot \cos^{-1} \left(\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right) \cdot t_0 + \phi_1 \cdot \sin \phi_2\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \left(\pi \cdot 0.5\right) - R \cdot \sin^{-1} \left(\mathsf{fma}\left(\cos \left(\lambda_2 - \lambda_1\right), t_0, \sin \phi_1 \cdot \sin \phi_2\right)\right)\\ \end{array} \]
Alternative 8
Accuracy83.6%
Cost58436
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \cos \phi_1\\ \mathbf{if}\;\phi_1 \leq -0.00071:\\ \;\;\;\;R \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot \left(\cos \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)\right)\right)\\ \mathbf{elif}\;\phi_1 \leq 0.0008:\\ \;\;\;\;R \cdot \cos^{-1} \left(\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right) \cdot t_0 + \phi_1 \cdot \sin \phi_2\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \left(\pi \cdot 0.5\right) - R \cdot \sin^{-1} \left(\mathsf{fma}\left(\cos \left(\lambda_2 - \lambda_1\right), t_0, \sin \phi_1 \cdot \sin \phi_2\right)\right)\\ \end{array} \]
Alternative 9
Accuracy83.6%
Cost52553
\[\begin{array}{l} \mathbf{if}\;\phi_1 \leq -0.005 \lor \neg \left(\phi_1 \leq 0.21\right):\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right) \cdot \left(\cos \phi_2 \cdot \cos \phi_1\right) + \phi_1 \cdot \sin \phi_2\right)\\ \end{array} \]
Alternative 10
Accuracy83.6%
Cost52552
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \cos \phi_1\\ \mathbf{if}\;\phi_1 \leq -0.003:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)\\ \mathbf{elif}\;\phi_1 \leq 0.0115:\\ \;\;\;\;R \cdot \cos^{-1} \left(\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right) \cdot t_0 + \phi_1 \cdot \sin \phi_2\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \left(\pi \cdot 0.5\right) - R \cdot \sin^{-1} \left(\mathsf{fma}\left(\cos \left(\lambda_2 - \lambda_1\right), t_0, \sin \phi_1 \cdot \sin \phi_2\right)\right)\\ \end{array} \]
Alternative 11
Accuracy75.1%
Cost52296
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq -8 \cdot 10^{-207}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\sin \phi_1 \cdot \sin \phi_2\right)\right) + \left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot t_0\right)\\ \mathbf{elif}\;\phi_2 \leq 1.7 \cdot 10^{-116}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\phi_1 \cdot \sin \phi_2 + \cos \phi_1 \cdot \mathsf{fma}\left(\cos \lambda_2, \cos \lambda_1, \sin \lambda_2 \cdot \sin \lambda_1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot t_0\right)\right)\right)\\ \end{array} \]
Alternative 12
Accuracy75.1%
Cost52164
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq -8 \cdot 10^{-207}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\sin \phi_1 \cdot \sin \phi_2\right)\right) + \left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot t_0\right)\\ \mathbf{elif}\;\phi_2 \leq 1.8 \cdot 10^{-119}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\phi_1 \cdot \sin \phi_2 + \cos \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot t_0\right)\right)\right)\\ \end{array} \]
Alternative 13
Accuracy75.1%
Cost46024
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq -9 \cdot 10^{-207}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot t_0\right)\\ \mathbf{elif}\;\phi_2 \leq 4.4 \cdot 10^{-119}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\phi_1 \cdot \sin \phi_2 + \cos \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right)\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot t_0\right)\right)\right)\\ \end{array} \]
Alternative 14
Accuracy66.3%
Cost45636
\[\begin{array}{l} \mathbf{if}\;\lambda_2 \leq -4500:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\cos \lambda_2, \cos \lambda_1, \sin \lambda_2 \cdot \sin \lambda_1\right) + \phi_1 \cdot \sin \phi_2\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\\ \end{array} \]
Alternative 15
Accuracy66.3%
Cost45636
\[\begin{array}{l} \mathbf{if}\;\lambda_2 \leq -4200:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\cos \lambda_2, \cos \lambda_1, \sin \lambda_2 \cdot \sin \lambda_1\right) + \phi_1 \cdot \sin \phi_2\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\cos \left(\lambda_2 - \lambda_1\right), \cos \phi_2 \cdot \cos \phi_1, \sin \phi_1 \cdot \sin \phi_2\right)\right)\\ \end{array} \]
Alternative 16
Accuracy66.3%
Cost45636
\[\begin{array}{l} \mathbf{if}\;\lambda_2 \leq -4500:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\cos \lambda_2, \cos \lambda_1, \sin \lambda_2 \cdot \sin \lambda_1\right) + \phi_1 \cdot \sin \phi_2\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \left(\cos \phi_2 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\right)\right)\\ \end{array} \]
Alternative 17
Accuracy65.8%
Cost39368
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \cos \phi_1\\ t_1 := \sin \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_2 \leq -0.0165:\\ \;\;\;\;R \cdot \cos^{-1} \left(\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right) + \phi_1 \cdot \sin \phi_2\right)\\ \mathbf{elif}\;\lambda_2 \leq 1.28 \cdot 10^{-14}:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_1 + \cos \lambda_1 \cdot t_0\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_1 + \cos \lambda_2 \cdot t_0\right)\\ \end{array} \]
Alternative 18
Accuracy66.3%
Cost39364
\[\begin{array}{l} \mathbf{if}\;\lambda_2 \leq -4500:\\ \;\;\;\;R \cdot \cos^{-1} \left(\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_2 \cdot \sin \lambda_1\right) + \phi_1 \cdot \sin \phi_2\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\\ \end{array} \]
Alternative 19
Accuracy57.4%
Cost39240
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \cos \phi_1\\ \mathbf{if}\;\lambda_2 \leq 4500:\\ \;\;\;\;R \cdot \cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \cos \lambda_1 \cdot t_0\right)\\ \mathbf{elif}\;\lambda_2 \leq 8.6 \cdot 10^{+161}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\sin \phi_1 \cdot \phi_2 + t_0 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\right)\right)\\ \end{array} \]
Alternative 20
Accuracy63.2%
Cost39236
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \cos \phi_1\\ t_1 := \sin \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_1 \leq -7.4 \cdot 10^{-6}:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_1 + \cos \lambda_1 \cdot t_0\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_1 + \cos \lambda_2 \cdot t_0\right)\\ \end{array} \]
Alternative 21
Accuracy51.0%
Cost39108
\[\begin{array}{l} \mathbf{if}\;\phi_1 \leq -0.04:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\phi_1 \cdot \sin \phi_2 + \left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right)\\ \end{array} \]
Alternative 22
Accuracy49.7%
Cost39108
\[\begin{array}{l} t_0 := \cos \left(\lambda_2 - \lambda_1\right)\\ \mathbf{if}\;\phi_2 \leq 5.8 \cdot 10^{-9}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_1 \cdot t_0\right)\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \sin \phi_2, \cos \phi_2 \cdot t_0\right)\right)\\ \end{array} \]
Alternative 23
Accuracy48.0%
Cost32964
\[\begin{array}{l} t_0 := \left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq 5.8 \cdot 10^{-9}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\sin \phi_1 \cdot \phi_2 + t_0\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\phi_1 \cdot \sin \phi_2 + t_0\right)\\ \end{array} \]
Alternative 24
Accuracy37.2%
Cost32836
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \cos \phi_1\\ t_1 := \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_1 \leq -245:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_1 + \cos \lambda_1 \cdot t_0\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_1 + \cos \lambda_2 \cdot t_0\right)\\ \end{array} \]
Alternative 25
Accuracy43.8%
Cost32832
\[R \cdot \cos^{-1} \left(\phi_1 \cdot \sin \phi_2 + \left(\cos \phi_2 \cdot \cos \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right) \]
Alternative 26
Accuracy35.5%
Cost26436
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ t_1 := \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\phi_2 \leq 2 \cdot 10^{-10}:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_1 + \cos \phi_1 \cdot t_0\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_1 + \cos \phi_2 \cdot t_0\right)\\ \end{array} \]
Alternative 27
Accuracy22.1%
Cost26308
\[\begin{array}{l} t_0 := \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_2 \leq 10^{-29}:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_0 + \cos \phi_1 \cdot \cos \lambda_1\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(\cos \left(\lambda_1 - \lambda_2\right) + t_0\right)\\ \end{array} \]
Alternative 28
Accuracy23.6%
Cost26308
\[\begin{array}{l} t_0 := \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_1 \leq -245:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_0 + \cos \phi_1 \cdot \cos \lambda_1\right)\\ \mathbf{else}:\\ \;\;\;\;R \cdot \cos^{-1} \left(t_0 + \cos \phi_1 \cdot \cos \lambda_2\right)\\ \end{array} \]
Alternative 29
Accuracy28.3%
Cost26304
\[R \cdot \cos^{-1} \left(\phi_1 \cdot \sin \phi_2 + \cos \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)\right) \]
Alternative 30
Accuracy20.5%
Cost19776
\[R \cdot \cos^{-1} \left(\cos \left(\lambda_1 - \lambda_2\right) + \phi_1 \cdot \sin \phi_2\right) \]
Alternative 31
Accuracy18.2%
Cost13376
\[R \cdot \cos^{-1} \left(\cos \left(\lambda_1 - \lambda_2\right) + \phi_1 \cdot \phi_2\right) \]

Error

Reproduce?

herbie shell --seed 2023131 
(FPCore (R lambda1 lambda2 phi1 phi2)
  :name "Spherical law of cosines"
  :precision binary64
  (* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2))))) R))