\[\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{\_.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\mathsf{asin.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(theta\right)\right)\right)\right)\right)\right)\right)\right)\right)
\]
↓
\[\begin{array}{l}
t_1 := \mathsf{fma.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{cos.f64}\left(theta\right)\right)\right)\right)\\
\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{fma.f64}\left(\mathsf{*.f64}\left(\mathsf{cbrt.f64}\left(\mathsf{pow.f64}\left(t_1, 2\right)\right), \mathsf{neg.f64}\left(\mathsf{sin.f64}\left(\phi_1\right)\right)\right), \mathsf{cbrt.f64}\left(t_1\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\right)
\end{array}
\]
(FPCore (lambda1 phi1 phi2 delta theta)
:precision binary64
(+.f64
lambda1
(atan2.f64
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(-.f64
(cos.f64 delta)
(*.f64
(sin.f64 phi1)
(sin.f64
(asin.f64
(+.f64
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))))↓
(FPCore (lambda1 phi1 phi2 delta theta)
:precision binary64
(let* ((t_1
(fma.f64
(sin.f64 phi1)
(cos.f64 delta)
(*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))
(+.f64
lambda1
(atan2.f64
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(fma.f64
(*.f64 (cbrt.f64 (pow.f64 t_1 2)) (neg.f64 (sin.f64 phi1)))
(cbrt.f64 t_1)
(cos.f64 delta))))))\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{\_.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(\mathsf{asin.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(theta\right)\right)\right)\right)\right)\right)\right)\right)\right)
↓
\begin{array}{l}
t_1 := \mathsf{fma.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{cos.f64}\left(theta\right)\right)\right)\right)\\
\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{fma.f64}\left(\mathsf{*.f64}\left(\mathsf{cbrt.f64}\left(\mathsf{pow.f64}\left(t_1, 2\right)\right), \mathsf{neg.f64}\left(\mathsf{sin.f64}\left(\phi_1\right)\right)\right), \mathsf{cbrt.f64}\left(t_1\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\right)
\end{array}
Alternatives
| Alternative 1 |
|---|
| Accuracy | 99.7% |
|---|
| Cost | 142464 |
|---|
\[\begin{array}{l}
t_1 := \mathsf{fma.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(theta\right)\right)\right)\right)\\
\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right), \mathsf{fma.f64}\left(\mathsf{*.f64}\left(\mathsf{cbrt.f64}\left(\mathsf{pow.f64}\left(t_1, 2\right)\right), \mathsf{neg.f64}\left(\mathsf{sin.f64}\left(\phi_1\right)\right)\right), \mathsf{cbrt.f64}\left(t_1\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\right)
\end{array}
\]
| Alternative 2 |
|---|
| Accuracy | 99.7% |
|---|
| Cost | 90752 |
|---|
\[\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{\_.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{expm1.f64}\left(\mathsf{log1p.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{fma.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{sin.f64}\left(\phi_1\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(theta\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)
\]
| Alternative 3 |
|---|
| Accuracy | 99.7% |
|---|
| Cost | 84608 |
|---|
\[\begin{array}{l}
t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\\
\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), t_1\right), \mathsf{\_.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right)\right), \mathsf{log.f64}\left(\mathsf{+.f64}\left(1, \mathsf{expm1.f64}\left(\mathsf{*.f64}\left(\mathsf{cos.f64}\left(theta\right), t_1\right)\right)\right)\right)\right)\right)\right)\right)\right)
\end{array}
\]
| Alternative 4 |
|---|
| Accuracy | 99.8% |
|---|
| Cost | 84288 |
|---|
\[\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{fma.f64}\left(\mathsf{fma.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(theta\right)\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sin.f64}\left(\phi_1\right)\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\right)
\]
| Alternative 5 |
|---|
| Accuracy | 99.8% |
|---|
| Cost | 71680 |
|---|
\[\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right), \mathsf{\_.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(theta\right)\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\right)\right)\right)\right)
\]
| Alternative 6 |
|---|
| Accuracy | 99.8% |
|---|
| Cost | 71680 |
|---|
\[\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{\_.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(theta\right)\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\right)\right)\right)\right)
\]
| Alternative 7 |
|---|
| Accuracy | 94.3% |
|---|
| Cost | 65152 |
|---|
\[\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{\_.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{cos.f64}\left(\phi_1\right)\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\right)\right)\right)\right)
\]
| Alternative 8 |
|---|
| Accuracy | 89.5% |
|---|
| Cost | 45960 |
|---|
\[\begin{array}{l}
t_1 := \mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right)\\
\mathbf{if}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(delta\right), \frac{-5332261958806667}{288230376151711744}\right):\\
\;\;\;\;\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(t_1, \mathsf{\_.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\phi_1, \phi_1\right)\right)\right)\right)\\
\mathbf{elif}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(delta\right), \frac{-1320736327839163}{33018408195979077897021236557282287907427957877257595132997544314167118909795303717151078492978574243417149687078570542430146722468917846078158686153933723556774167749937817760545719854776652565814014556763199275259251768296972608677399806172939779780596161306108624896}\right):\\
\;\;\;\;\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(t_1, \mathsf{/.f64}\left(\mathsf{+.f64}\left(1, \mathsf{cos.f64}\left(\mathsf{+.f64}\left(\phi_1, \phi_1\right)\right)\right), 2\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\\
\end{array}
\]
| Alternative 9 |
|---|
| Accuracy | 89.5% |
|---|
| Cost | 45704 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(delta\right), \frac{-5332261958806667}{288230376151711744}\right):\\
\;\;\;\;\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right), \mathsf{\_.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{*.f64}\left(\phi_1, \phi_1\right)\right)\right)\right)\\
\mathbf{elif}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(delta\right), \frac{-1320736327839163}{33018408195979077897021236557282287907427957877257595132997544314167118909795303717151078492978574243417149687078570542430146722468917846078158686153933723556774167749937817760545719854776652565814014556763199275259251768296972608677399806172939779780596161306108624896}\right):\\
\;\;\;\;\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{*.f64}\left(delta, \mathsf{cos.f64}\left(\phi_1\right)\right)\right), \mathsf{*.f64}\left(\mathsf{cos.f64}\left(\phi_1\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\\
\end{array}
\]
| Alternative 10 |
|---|
| Accuracy | 92.1% |
|---|
| Cost | 39424 |
|---|
\[\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right), \mathsf{+.f64}\left(\mathsf{cos.f64}\left(delta\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{cos.f64}\left(\mathsf{*.f64}\left(\phi_1, 2\right)\right), -1\right), 2\right)\right)\right)\right)
\]
| Alternative 11 |
|---|
| Accuracy | 75.2% |
|---|
| Cost | 32649 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\mathsf{<=.f64}\left(\mathsf{sin.f64}\left(delta\right), \frac{-1261007895663739}{4503599627370496}\right) \lor \neg \mathsf{<=.f64}\left(\mathsf{sin.f64}\left(delta\right), \frac{348449143727041}{696898287454081973172991196020261297061888}\right):\\
\;\;\;\;\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(theta, \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\lambda_1\\
\end{array}
\]
| Alternative 12 |
|---|
| Accuracy | 88.2% |
|---|
| Cost | 32512 |
|---|
\[\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(delta\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{cos.f64}\left(\phi_1\right)\right)\right), \mathsf{cos.f64}\left(delta\right)\right)\right)
\]
| Alternative 13 |
|---|
| Accuracy | 86.0% |
|---|
| Cost | 25984 |
|---|
\[\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(delta\right)\right)\right)
\]
| Alternative 14 |
|---|
| Accuracy | 79.4% |
|---|
| Cost | 19849 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\mathsf{<=.f64}\left(delta, -1419999999999999983727607138668932362056590686158848\right) \lor \neg \mathsf{<=.f64}\left(delta, 325000000000000006850731374841046237184\right):\\
\;\;\;\;\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(theta, \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(delta\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{+.f64}\left(\lambda_1, \mathsf{atan2.f64}\left(\mathsf{*.f64}\left(\mathsf{sin.f64}\left(theta\right), \mathsf{sin.f64}\left(delta\right)\right), 1\right)\right)\\
\end{array}
\]
| Alternative 15 |
|---|
| Accuracy | 69.6% |
|---|
| Cost | 19720 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\mathsf{<=.f64}\left(\lambda_1, \frac{-6491683198595055}{1081947199765842424529591879509026010150599323721976877318063532086628152436172512203606540057921920808293160946190599534351047801861499980289103827892100253508375928829962412377562148201321351276593628996016513851695161943555198441141036848674890703850575013678567420592128}\right):\\
\;\;\;\;\lambda_1\\
\mathbf{elif}\;\mathsf{<=.f64}\left(\lambda_1, \frac{533661513344723}{5231975621026695903068481684863290090631859432155925817596437443214604741820977160611320209061014932263645863855239974732359107840294502166008094518895788478483675671300894035850134084503110909120094815504417224113077119759472054472248800754920440876255467030120381917802944253736633001385354330112}\right):\\
\;\;\;\;\mathsf{atan2.f64}\left(\mathsf{*.f64}\left(theta, \mathsf{sin.f64}\left(delta\right)\right), \mathsf{cos.f64}\left(delta\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\lambda_1\\
\end{array}
\]
| Alternative 16 |
|---|
| Accuracy | 69.3% |
|---|
| Cost | 64 |
|---|
\[\lambda_1
\]