?

Average Accuracy: 73.7% → 94.1%
Time: 1.1min
Precision: binary64
Cost: 77760

?

\[\mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\right)\right)\right), R\right) \]
\[\mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{expm1.f64}\left(\mathsf{log1p.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right)\right)\right), R\right) \]
(FPCore (R lambda1 lambda2 phi1 phi2)
 :precision binary64
 (*.f64
  (acos.f64
   (+.f64
    (*.f64 (sin.f64 phi1) (sin.f64 phi2))
    (*.f64
     (*.f64 (cos.f64 phi1) (cos.f64 phi2))
     (cos.f64 (-.f64 lambda1 lambda2)))))
  R))
(FPCore (R lambda1 lambda2 phi1 phi2)
 :precision binary64
 (*.f64
  (acos.f64
   (+.f64
    (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2))))
    (*.f64
     (fma.f64
      (cos.f64 lambda2)
      (cos.f64 lambda1)
      (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))
     (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))
  R))
\mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\right)\right)\right), R\right)
\mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{expm1.f64}\left(\mathsf{log1p.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right)\right)\right), R\right)

Error?

Derivation?

  1. Initial program 73.7%

    \[\mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\right)\right)\right), R\right) \]
  2. Applied egg-rr94.1%

    \[\leadsto \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)}\right)\right), R\right) \]
    Proof

    [Start]73.7

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\right)\right)\right), R\right) \]

    cos-diff [=>]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)}\right)\right)\right), R\right) \]

    distribute-lft-in [=>]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)}\right)\right), R\right) \]
  3. Simplified94.1%

    \[\leadsto \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)}\right)\right), R\right) \]
    Proof

    [Start]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right), R\right) \]

    distribute-lft-out [=>]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)}\right)\right), R\right) \]

    *-rgt-identity [<=]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), 1\right)}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right), R\right) \]

    associate-*r* [<=]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)}\right)\right), R\right) \]

    *-commutative [=>]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right)}, \mathsf{*.f64}\left(1, \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right)\right), R\right) \]

    *-lft-identity [=>]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)}\right)\right)\right), R\right) \]

    cos-neg [<=]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_1\right), \color{blue}{\mathsf{cos.f64}\left(\mathsf{neg.f64}\left(\lambda_2\right)\right)}\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right), R\right) \]

    *-commutative [=>]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\mathsf{neg.f64}\left(\lambda_2\right)\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)}, \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right), R\right) \]

    fma-def [=>]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \color{blue}{\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\mathsf{neg.f64}\left(\lambda_2\right)\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)}\right)\right)\right), R\right) \]

    cos-neg [=>]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{fma.f64}\left(\color{blue}{\mathsf{cos.f64}\left(\lambda_2\right)}, \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right), R\right) \]
  4. Applied egg-rr94.1%

    \[\leadsto \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\color{blue}{\mathsf{expm1.f64}\left(\mathsf{log1p.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\right)\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right), R\right) \]
    Proof

    [Start]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right), R\right) \]

    expm1-log1p-u [=>]94.1

    \[ \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\color{blue}{\mathsf{expm1.f64}\left(\mathsf{log1p.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\right)\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right), R\right) \]
  5. Final simplification94.1%

    \[\leadsto \mathsf{*.f64}\left(\mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{expm1.f64}\left(\mathsf{log1p.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right)\right)\right), R\right) \]

Alternatives

Alternative 1
Accuracy83.2%
Cost65096
\[\begin{array}{l} t_0 := \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\\ t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \frac{-5902958103587057}{295147905179352825856}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), t_0\right), t_1\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \frac{6277101735386681}{12554203470773361527671578846415332832204710888928069025792}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), t_0\right)\right)\right)\right)\\ \end{array} \]
Alternative 2
Accuracy83.2%
Cost65096
\[\begin{array}{l} t_0 := \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\\ t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \frac{-5902958103587057}{295147905179352825856}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), t_0\right), t_1\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \frac{6277101735386681}{12554203470773361527671578846415332832204710888928069025792}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{log.f64}\left(\mathsf{exp.f64}\left(t_0\right)\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 3
Accuracy94.1%
Cost64960
\[\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right)\right)\right)\right) \]
Alternative 4
Accuracy83.2%
Cost58824
\[\begin{array}{l} t_0 := \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\\ t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \frac{-5902958103587057}{295147905179352825856}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), t_0\right), t_1\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \frac{6277101735386681}{12554203470773361527671578846415332832204710888928069025792}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), t_0\right)\right)\right)\right)\\ \end{array} \]
Alternative 5
Accuracy94.1%
Cost58688
\[\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\right)\right) \]
Alternative 6
Accuracy82.6%
Cost52624
\[\begin{array}{l} t_0 := \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\\ t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\\ t_2 := \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\\ t_3 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\phi_1, -4199999999999999834751324097295431163614375847823891290088432213478707365164952889794664281138774527433162141962550229631762432\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_3, \mathsf{*.f64}\left(t_0, \mathsf{log.f64}\left(\mathsf{exp.f64}\left(t_2\right)\right)\right)\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_1, -41000000000000002788954316948458617931687412618046451004750965944119612342892213062129940667742289920\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_3, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_1, \frac{-6139076427730539}{1180591620717411303424}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), t_2\right), t_3\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_1, \frac{6904811908925349}{6277101735386680763835789423207666416102355444464034512896}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), t_1\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_3, \mathsf{*.f64}\left(t_0, \mathsf{pow.f64}\left(\mathsf{cbrt.f64}\left(t_2\right), 3\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 7
Accuracy82.6%
Cost52624
\[\begin{array}{l} t_0 := \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\\ t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ t_2 := \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\\ t_3 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\phi_1, -3399999999999999894857114802101125529578639151956020520937051435698472005184318468512133486128520404431938095231625803805491200\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{+.f64}\left(\mathsf{exp.f64}\left(\mathsf{log1p.f64}\left(\mathsf{*.f64}\left(t_2, t_0\right)\right)\right), -1\right)\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_1, -41000000000000002788954316948458617931687412618046451004750965944119612342892213062129940667742289920\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{+.f64}\left(t_3, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_1, \frac{-6611313076017503}{2361183241434822606848}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), t_0\right), t_1\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_1, \frac{6904811908925349}{6277101735386680763835789423207666416102355444464034512896}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right), t_3\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(t_2, \mathsf{pow.f64}\left(\mathsf{cbrt.f64}\left(t_0\right), 3\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 8
Accuracy74.6%
Cost45768
\[\begin{array}{l} t_0 := \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\\ t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\phi_2, \frac{-1146064980651225}{26046931378436930758124421057504913270096712196546516251547882077203270460225125279380594534654508948214569963255598595491753131461403769845169359579417304867559209294976619368996399554343023534097519594280807038990979484521392426918608896}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), t_0\right)\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_2, \frac{5792176041770645}{26328072917139296674479506920917608079723773850137277813577744384}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right), \mathsf{*.f64}\left(\phi_1, \phi_2\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{fma.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), t_0\right), t_1\right)\right)\right)\\ \end{array} \]
Alternative 9
Accuracy41.2%
Cost45641
\[\begin{array}{l} \mathbf{if}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_2\right), \frac{-3602879701896397}{144115188075855872}\right) \lor \neg \mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_2\right), \frac{5902958103587057}{590295810358705651712}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \phi_2\right)\right)\right)\right)\\ \end{array} \]
Alternative 10
Accuracy52.5%
Cost45641
\[\begin{array}{l} \mathbf{if}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_2\right), \frac{-5764607523034235}{288230376151711744}\right) \lor \neg \mathsf{<=.f64}\left(\mathsf{sin.f64}\left(\phi_2\right), \frac{5902958103587057}{590295810358705651712}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \phi_2\right)\right)\right)\right)\\ \end{array} \]
Alternative 11
Accuracy74.6%
Cost39625
\[\begin{array}{l} \mathbf{if}\;\mathsf{<=.f64}\left(\phi_2, \frac{-586055956014831}{13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448}\right) \lor \neg \mathsf{<=.f64}\left(\phi_2, \frac{6318737500113431}{26328072917139296674479506920917608079723773850137277813577744384}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\lambda_1\right), \mathsf{sin.f64}\left(\lambda_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right), \mathsf{*.f64}\left(\phi_1, \phi_2\right)\right)\right)\right)\\ \end{array} \]
Alternative 12
Accuracy61.4%
Cost39500
\[\begin{array}{l} t_0 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ t_1 := \mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\right)\\ t_2 := \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\phi_1, -159999999999999989944552393973900225604372920958349972403300010855230793642961654112601228541105453547752781156718400530593792829447325901273825939842848991414158271414760636416\right):\\ \;\;\;\;t_1\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_1, \frac{-3512807709348987}{4503599627370496}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), t_2\right)\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_1, \frac{6904811908925349}{6277101735386680763835789423207666416102355444464034512896}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), t_2\right), \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\phi_1, \phi_1\right), \frac{-1}{2}\right)\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 13
Accuracy63.4%
Cost39236
\[\begin{array}{l} t_0 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\lambda_1, \frac{-5312662293228351}{590295810358705651712}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\lambda_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 14
Accuracy73.7%
Cost39232
\[\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_1, \lambda_2\right)\right)\right)\right)\right)\right) \]
Alternative 15
Accuracy53.2%
Cost33220
\[\begin{array}{l} t_0 := \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\\ t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\phi_2, -960000000000000052993804485235922313320333312\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{+.f64}\left(1, \mathsf{*.f64}\left(\frac{-1}{2}, \mathsf{*.f64}\left(\lambda_1, \lambda_1\right)\right)\right)\right)\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_2, \frac{6611313076017503}{4722366482869645213696}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), t_0\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), t_0\right)\right)\right)\right)\\ \end{array} \]
Alternative 16
Accuracy44.5%
Cost33105
\[\begin{array}{l} t_0 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\phi_2, \frac{3659834024223975}{2361183241434822606848}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \phi_2\right)\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_2, 899999999999999964581068447803464867782712815427173554941014311955738593946055745162686238919650953611655586395469265877447288941433115215044995448832\right) \lor \neg \mathsf{<=.f64}\left(\phi_2, 284999999999999995388833640979021290287120649756223913947980067687221355868152638307190292046477660929416992836294481962677460862769356377077971080372636166157382024223144816680231264466753878031362269246973984899072\right) \land \mathsf{<=.f64}\left(\phi_2, 340000000000000010265660799451558343846097575020396851542244361570837936885724461095551535816879353598728493030326747461955382794256129348314248514595090691250616675174048028069783964937862852745233164203008689030980771370334213552068142645592205527123808665347658122002432\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\lambda_2\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 17
Accuracy47.8%
Cost33105
\[\begin{array}{l} t_0 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\phi_2, \frac{3659834024223975}{2361183241434822606848}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right)\right)\right)\right)\\ \mathbf{elif}\;\mathsf{<=.f64}\left(\phi_2, 560000000000000016070111814965433859727262623727145728421577469031149535714011101252800779606632267752408148819090043099835522336542017510099124224\right) \lor \neg \mathsf{<=.f64}\left(\phi_2, 55999999999999995535272801702797424058663519197071367745065210682635819796529770286552914089927915700661953706556477250247489357142183011197438249872356895158552571953752741144077033213321091040558282834685913464832\right) \land \mathsf{<=.f64}\left(\phi_2, 195000000000000006770895673662476136025986279262787236774141277200863350470094839835699447026649241969554306129785208791245471800788716846142900255876860044895084376248634034927049853136821645231722355926919149570118944511562578496548533463758425772234491897742286001274880\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\lambda_2\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 18
Accuracy50.2%
Cost32836
\[\begin{array}{l} t_0 := \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\\ t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\phi_2, \frac{7177997053961861}{4722366482869645213696}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), t_0\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_1, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_2\right), t_0\right)\right)\right)\right)\\ \end{array} \]
Alternative 19
Accuracy36.5%
Cost32708
\[\begin{array}{l} t_0 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\lambda_1, \frac{-1166238552209971}{2535301200456458802993406410752}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 20
Accuracy32.6%
Cost26436
\[\begin{array}{l} t_0 := \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\phi_1, \frac{-3715469692580659}{1125899906842624}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \phi_2\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \mathsf{sin.f64}\left(\phi_2\right)\right), t_0\right)\right)\right)\\ \end{array} \]
Alternative 21
Accuracy26.3%
Cost26308
\[\begin{array}{l} \mathbf{if}\;\mathsf{<=.f64}\left(\lambda_1, \frac{-2184094498327211}{590295810358705651712}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 22
Accuracy23.0%
Cost26308
\[\begin{array}{l} t_0 := \mathsf{*.f64}\left(\phi_1, \mathsf{sin.f64}\left(\phi_2\right)\right)\\ \mathbf{if}\;\mathsf{<=.f64}\left(\lambda_1, \frac{-3170534137668829}{288230376151711744}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(t_0, \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 23
Accuracy27.8%
Cost26304
\[\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \mathsf{sin.f64}\left(\phi_2\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right)\right)\right)\right) \]
Alternative 24
Accuracy20.3%
Cost19908
\[\begin{array}{l} \mathbf{if}\;\mathsf{<=.f64}\left(\phi_1, \frac{-6547527335242445}{187072209578355573530071658587684226515959365500928}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \phi_2\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 25
Accuracy21.2%
Cost19908
\[\begin{array}{l} \mathbf{if}\;\mathsf{<=.f64}\left(\lambda_1, \frac{-7656119366529843}{9007199254740992}\right):\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_1\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\lambda_2\right)\right)\right)\right)\right)\\ \end{array} \]
Alternative 26
Accuracy25.7%
Cost19904
\[\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \phi_2\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right)\right)\right)\right) \]
Alternative 27
Accuracy17.8%
Cost13376
\[\mathsf{*.f64}\left(R, \mathsf{acos.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\phi_1, \phi_2\right), \mathsf{cos.f64}\left(\mathsf{\_.f64}\left(\lambda_2, \lambda_1\right)\right)\right)\right)\right) \]

Error

Reproduce?

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