Details

Time bar (total: 50.2s)

analyze8.6s (17.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
0%99.8%0.2%11
0%99.8%0.2%12
0.6%99.2%0.2%13
1.8%98%0.2%14
Compiler

Compiled 71 to 47 computations (33.8% saved)

sample21.6s (43%)

Results
15.9s5457×body1024valid
2.7s476×body2048valid
2.1s1215×body512valid
451.0ms424×body256valid
380.0ms684×body128valid
3.0msbody1024invalid
Compiler

Compiled 142 to 94 computations (33.8% saved)

preprocess61.0ms (0.1%)

Algorithm
egg-herbie
Rules
661×cancel-sign-sub-inv_binary64
351×distribute-rgt-neg-in_binary64
312×fma-neg_binary64
281×neg-mul-1_binary64
263×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01701101
13911057
29681057
323931057
448091057
055
Stop Event
saturated
node limit
Compiler

Compiled 70 to 46 computations (34.3% saved)

simplify38.0ms (0.1%)

Algorithm
egg-herbie
Rules
698×fma-def_binary64
562×fma-neg_binary64
317×cancel-sign-sub-inv_binary64
288×distribute-rgt-neg-in_binary64
278×unswap-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027103
15999
212799
329299
471099
5162699
6317899
7485099
Stop Event
node limit
Counts
1 → 2

prune8.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
24.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
Compiler

Compiled 409 to 266 computations (35% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
0.8b
(-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
2.5b
(sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1)))
3.3b
(sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))

series251.0ms (0.5%)

Counts
4 → 132
Calls

36 calls:

19.0ms
(sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda1
0
18.0ms
(sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
phi1
0
16.0ms
(sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda2
0
14.0ms
(sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
phi2
0
13.0ms
(sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda2
inf

rewrite47.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
240×add-sqr-sqrt_binary64
232×log1p-expm1-u_binary64
232×expm1-log1p-u_binary64
229×add-cbrt-cube_binary64
224×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02291
148591
Stop Event
node limit
Counts
4 → 81

simplify148.0ms (0.3%)

Algorithm
egg-herbie
Rules
554×*-commutative_binary64
455×fma-def_binary64
269×fma-neg_binary64
241×+-commutative_binary64
184×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04808710
116798376
244188373
Stop Event
node limit
Counts
213 → 188

prune1.5s (3.1%)

Pruning

41 alts after pruning (41 fresh and 0 done)

PrunedKeptTotal
New29340333
Fresh011
Picked101
Done000
Total29441335
Error
22.5b
Counts
335 → 41
Alt Table
StatusErrorProgram
31.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
25.5b
(*.f64 R (*.f64 2 (atan2.f64 (pow.f64 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 1/4) 2) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
23.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (/.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2) (*.f64 (-.f64 lambda2 lambda1) 1/2))) (cos.f64 (-.f64 lambda2 lambda1)))) (sqrt.f64 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
37.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
34.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))))))
24.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))) 3)))))
41.1b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 (*.f64 -1/2 phi2)) (*.f64 phi1 (sin.f64 (*.f64 -1/2 phi2)))) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (pow.f64 phi1 2)) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 phi1 2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 phi1 2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))) 3))))) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (*.f64 (pow.f64 phi1 2) (cos.f64 phi2))) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
39.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (-.f64 (sin.f64 (*.f64 1/2 lambda2)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 lambda2)) lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
37.2b
(*.f64 R (*.f64 2 (atan2.f64 (fma.f64 1/2 (*.f64 phi1 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 phi2)) (cos.f64 (*.f64 -1/2 phi2))) (sqrt.f64 (/.f64 1 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (-.f64 (sin.f64 (*.f64 1/2 phi1)) (fma.f64 (*.f64 1/2 (cos.f64 (*.f64 1/2 phi1))) phi2 (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/2 phi1)) (*.f64 phi2 phi2))))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1)))) 2) (cbrt.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))))) 2)))))))
35.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
32.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (*.f64 1/2 phi1)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1)))))))
34.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 1/2 lambda2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda2 2)) (cos.f64 (/.f64 lambda1 2))) (*.f64 (cos.f64 (/.f64 lambda2 2)) (sin.f64 (/.f64 lambda1 2)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
25.5b
(*.f64 R (*.f64 2 (atan2.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3)) (+.f64 1 (+.f64 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 2) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda2 2)) (cos.f64 (/.f64 lambda1 2))) (*.f64 (cos.f64 (/.f64 lambda2 2)) (sin.f64 (/.f64 lambda1 2)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
37.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 lambda2)) (*.f64 (cos.f64 (*.f64 1/2 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) lambda1))))) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (fma.f64 1/2 (*.f64 lambda2 (cos.f64 (*.f64 -1/2 lambda1))) (sin.f64 (*.f64 -1/2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
26.8b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))) 1) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2))) 3))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
34.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))))))
36.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
35.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
34.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2)))))))
34.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (-.f64 (+.f64 (sin.f64 (*.f64 -1/2 phi2)) (*.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))))) (*.f64 1/8 (*.f64 (pow.f64 phi1 2) (sin.f64 (*.f64 -1/2 phi2))))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
31.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 -1/2 lambda1)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
34.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (fma.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))) (sin.f64 (*.f64 -1/2 phi2))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
25.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.6b
(*.f64 R (*.f64 2 (atan2.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
35.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (+.f64 1 (*.f64 1/4 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))) (+.f64 (*.f64 1/4 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2) (cos.f64 phi1))))) (+.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (log.f64 (exp.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))))
34.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (fabs.f64 (sin.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
30.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
37.3b
(*.f64 R (*.f64 2 (atan2.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 lambda2)) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 lambda2)) (*.f64 lambda1 (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
36.5b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (pow.f64 lambda2 2) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (cos.f64 phi1) 2))))) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3))))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
Compiler

Compiled 35171 to 22333 computations (36.5% saved)

localize35.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.3b
(-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))
2.5b
(sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1)))
3.3b
(sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))
3.4b
(cos.f64 (-.f64 lambda2 lambda1))

series11.0ms (0%)

Counts
2 → 16
Calls

12 calls:

1.0ms
(-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))
lambda2
0
1.0ms
(-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))
lambda1
0
1.0ms
(cos.f64 (-.f64 lambda2 lambda1))
lambda2
0
1.0ms
(-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))
lambda2
-inf
1.0ms
(-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))
lambda1
inf

rewrite51.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
559×prod-diff_binary64
263×fma-def_binary64
184×expm1-udef_binary64
184×log1p-udef_binary64
125×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0818
119218
2266716
Stop Event
node limit
Counts
2 → 90

simplify31.0ms (0.1%)

Algorithm
egg-herbie
Rules
714×fma-neg_binary64
303×distribute-rgt-neg-in_binary64
298×distribute-lft-neg-in_binary64
294×fma-def_binary64
249×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060357
1210345
2693308
32662293
Stop Event
node limit
Counts
106 → 121

prune1.9s (3.8%)

Pruning

46 alts after pruning (46 fresh and 0 done)

PrunedKeptTotal
New23924263
Fresh182240
Picked101
Done000
Total25846304
Error
22.3b
Counts
304 → 46
Alt Table
StatusErrorProgram
34.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (sqrt.f64 (pow.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
25.5b
(*.f64 R (*.f64 2 (atan2.f64 (pow.f64 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 1/4) 2) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
31.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (/.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2) (*.f64 (-.f64 lambda2 lambda1) 1/2))) (cos.f64 (-.f64 lambda2 lambda1)))) (sqrt.f64 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
23.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))) (cos.f64 (+.f64 lambda2 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))) 3)))))
39.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (-.f64 (sin.f64 (*.f64 1/2 lambda2)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 lambda2)) lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
37.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
41.1b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 (*.f64 -1/2 phi2)) (*.f64 phi1 (sin.f64 (*.f64 -1/2 phi2)))) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (pow.f64 phi1 2)) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 phi1 2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 phi1 2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))) 3))))) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (*.f64 (pow.f64 phi1 2) (cos.f64 phi2))) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
44.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (+.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2)))) (cos.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2))))) (*.f64 (sin.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2)))) (sin.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2))))))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
30.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) -1/2 1/2)) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
37.2b
(*.f64 R (*.f64 2 (atan2.f64 (fma.f64 1/2 (*.f64 phi1 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 phi2)) (cos.f64 (*.f64 -1/2 phi2))) (sqrt.f64 (/.f64 1 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
35.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 1/2 lambda2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
33.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (-.f64 (sin.f64 (*.f64 1/2 phi1)) (fma.f64 (*.f64 1/2 (cos.f64 (*.f64 1/2 phi1))) phi2 (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/2 phi1)) (*.f64 phi2 phi2))))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
43.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda2 lambda1)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda2 lambda1)))) (sin.f64 1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
35.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
32.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (*.f64 1/2 phi1)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1)))))))
25.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1)))))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (-.f64 (+.f64 (sin.f64 (*.f64 -1/2 phi2)) (*.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))))) (*.f64 1/8 (*.f64 (pow.f64 phi1 2) (sin.f64 (*.f64 -1/2 phi2))))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) 2))))))
25.5b
(*.f64 R (*.f64 2 (atan2.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
31.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 -1/2 lambda1)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
24.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3)) (+.f64 1 (+.f64 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 2) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda2 2)) (cos.f64 (/.f64 lambda1 2))) (*.f64 (cos.f64 (/.f64 lambda2 2)) (sin.f64 (/.f64 lambda1 2)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (fma.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))) (sin.f64 (*.f64 -1/2 phi2))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
37.3b
(*.f64 R (*.f64 2 (atan2.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 lambda2)) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 lambda2)) (*.f64 lambda1 (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
26.8b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))) 1) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) -1/2 1/2)) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2))) 3))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
34.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))))))
24.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda2 2)) (cos.f64 (/.f64 lambda1 2))) (*.f64 (cos.f64 (/.f64 lambda2 2)) (sin.f64 (/.f64 lambda1 2)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (fma.f64 lambda2 (*.f64 (sin.f64 lambda1) -1/2) 1/2) (*.f64 (cos.f64 lambda1) (fma.f64 lambda2 (*.f64 lambda2 1/4) -1/2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
33.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (fabs.f64 (sin.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
35.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
35.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) 2))))))
24.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1)))) 2) (cbrt.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))))) 2))) 2))))))
23.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
33.6b
(*.f64 R (*.f64 2 (atan2.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
23.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))) (exp.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (log.f64 (exp.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))))
23.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
36.5b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (pow.f64 lambda2 2) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (cos.f64 phi1) 2))))) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3))))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (fma.f64 1/2 (*.f64 lambda2 (cos.f64 (*.f64 -1/2 lambda1))) (sin.f64 (*.f64 -1/2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
Compiler

Compiled 25856 to 16293 computations (37% saved)

localize44.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
2.3b
(-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))
2.5b
(sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1)))
3.3b
(sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))

series155.0ms (0.3%)

Counts
2 → 72
Calls

18 calls:

18.0ms
(-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda1
inf
14.0ms
(-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda1
-inf
14.0ms
(-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda2
-inf
13.0ms
(-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
phi1
-inf
13.0ms
(-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda2
inf

rewrite33.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
274×add-sqr-sqrt_binary64
261×log1p-expm1-u_binary64
261×expm1-log1p-u_binary64
257×add-cbrt-cube_binary64
253×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02669
155149
Stop Event
node limit
Counts
2 → 35

simplify80.0ms (0.2%)

Algorithm
egg-herbie
Rules
601×fma-neg_binary64
356×sub-neg_binary64
324×associate-*r*_binary64
292×fma-def_binary64
234×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02464365
18654203
232794201
Stop Event
node limit
Counts
107 → 90

prune1.7s (3.3%)

Pruning

47 alts after pruning (47 fresh and 0 done)

PrunedKeptTotal
New21715232
Fresh133245
Picked101
Done000
Total23147278
Error
22.2b
Counts
278 → 47
Alt Table
StatusErrorProgram
31.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (sqrt.f64 (pow.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (/.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2) (*.f64 (-.f64 lambda2 lambda1) 1/2))) (cos.f64 (-.f64 lambda2 lambda1)))) (sqrt.f64 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
23.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
33.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2))) 1) (fma.f64 1/2 (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 phi2 -1/2)) 2))) 2))))))
23.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda2 2)) (cos.f64 (/.f64 lambda1 2))) (*.f64 (cos.f64 (/.f64 lambda2 2)) (sin.f64 (/.f64 lambda1 2)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
23.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))) (cos.f64 (+.f64 lambda2 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))) 3)))))
41.1b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 (*.f64 -1/2 phi2)) (*.f64 phi1 (sin.f64 (*.f64 -1/2 phi2)))) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (pow.f64 phi1 2)) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 phi1 2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 phi1 2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))) 3))))) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (*.f64 (pow.f64 phi1 2) (cos.f64 phi2))) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
37.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
33.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (fma.f64 1/2 (*.f64 lambda2 (cos.f64 (*.f64 -1/2 lambda1))) (sin.f64 (*.f64 -1/2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
44.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (+.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2)))) (cos.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2))))) (*.f64 (sin.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2)))) (sin.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2))))))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
37.2b
(*.f64 R (*.f64 2 (atan2.f64 (fma.f64 1/2 (*.f64 phi1 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 phi2)) (cos.f64 (*.f64 -1/2 phi2))) (sqrt.f64 (/.f64 1 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (-.f64 (sin.f64 (*.f64 1/2 phi1)) (fma.f64 (*.f64 1/2 (cos.f64 (*.f64 1/2 phi1))) phi2 (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/2 phi1)) (*.f64 phi2 phi2))))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
43.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda2 lambda1)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda2 lambda1)))) (sin.f64 1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
35.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
32.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (*.f64 1/2 phi1)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1)))))))
39.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (+.f64 (fma.f64 1/6 (*.f64 (*.f64 (sin.f64 (*.f64 phi2 -1/2)) (cos.f64 (*.f64 phi2 -1/2))) (pow.f64 phi1 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 phi1)) (*.f64 (pow.f64 (sin.f64 (*.f64 phi2 -1/2)) 2) (*.f64 phi1 phi1)))) (*.f64 1/2 (fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)))))) (-.f64 1 (fma.f64 1/4 (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cos.f64 phi2)) (*.f64 phi1 phi1)) (fma.f64 1/4 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda2) (*.f64 (cos.f64 phi2) (*.f64 phi1 phi1)))) (+.f64 (fma.f64 1/2 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 phi2 -1/2)) (+.f64 (sin.f64 (*.f64 phi2 -1/2)) (*.f64 phi1 (cos.f64 (*.f64 phi2 -1/2)))))) (*.f64 1/4 (*.f64 phi1 (*.f64 phi1 (pow.f64 (cos.f64 (*.f64 phi2 -1/2)) 2))))))))) 2))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (-.f64 (+.f64 (sin.f64 (*.f64 -1/2 phi2)) (*.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))))) (*.f64 1/8 (*.f64 (pow.f64 phi1 2) (sin.f64 (*.f64 -1/2 phi2))))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
25.5b
(*.f64 R (*.f64 2 (atan2.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
31.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 -1/2 lambda1)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
24.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3)) (+.f64 1 (+.f64 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 2) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))))
36.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda2) (cos.f64 phi1)))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (*.f64 (cos.f64 (*.f64 1/2 phi1)) (*.f64 (sin.f64 (*.f64 1/2 phi1)) phi2))))) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2) (*.f64 1/2 (cos.f64 phi1)))) 2))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (fma.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))) (sin.f64 (*.f64 -1/2 phi2))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
37.3b
(*.f64 R (*.f64 2 (atan2.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 lambda2)) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 lambda2)) (*.f64 lambda1 (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
32.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 phi1))) (fma.f64 1/2 (*.f64 (sin.f64 lambda2) (*.f64 (sin.f64 lambda1) (cos.f64 phi1))) 1)) (fma.f64 1/2 (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) 2))))))
26.8b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))) 1) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) -1/2 1/2)) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2))) 3))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
35.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))))))
32.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) 2))))))
35.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 1/2 lambda2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
35.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) 2))))))
24.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1)))) 2) (cbrt.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))))) 2))) 2))))))
33.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (fabs.f64 (sin.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
30.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1))))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
36.5b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (pow.f64 lambda2 2) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (cos.f64 phi1) 2))))) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3))))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
24.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (-.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2)))) 1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (log.f64 (exp.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))))
31.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 -1/2 lambda1)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) 2))))))
33.6b
(*.f64 R (*.f64 2 (atan2.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
Compiler

Compiled 25873 to 15801 computations (38.9% saved)

localize49.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
0.9b
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
2.5b
(sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1)))
3.3b
(sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))

series162.0ms (0.3%)

Counts
1 → 48
Calls

12 calls:

22.0ms
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda1
-inf
19.0ms
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
phi2
-inf
17.0ms
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
phi1
inf
17.0ms
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda2
-inf
17.0ms
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))
lambda2
inf

rewrite36.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
297×log1p-expm1-u_binary64
297×expm1-log1p-u_binary64
294×add-cbrt-cube_binary64
290×add-log-exp_binary64
289×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03068
162968
Stop Event
node limit
Counts
1 → 27

simplify75.0ms (0.2%)

Algorithm
egg-herbie
Rules
779×cancel-sign-sub-inv_binary64
520×fma-neg_binary64
299×associate-*r*_binary64
293×sub-neg_binary64
251×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02093778
17403658
228493653
Stop Event
node limit
Counts
75 → 63

prune1.9s (3.7%)

Pruning

48 alts after pruning (48 fresh and 0 done)

PrunedKeptTotal
New24915264
Fresh133346
Picked101
Done000
Total26348311
Error
21.5b
Counts
311 → 48
Alt Table
StatusErrorProgram
31.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
25.9b
(*.f64 R (*.f64 2 (atan2.f64 (log.f64 (exp.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (sqrt.f64 (pow.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (/.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2) (*.f64 (-.f64 lambda2 lambda1) 1/2))) (cos.f64 (-.f64 lambda2 lambda1)))) (sqrt.f64 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2))) 1) (fma.f64 1/2 (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 phi2 -1/2)) 2))) 2))))))
23.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))) (cos.f64 (+.f64 lambda2 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
41.1b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 (*.f64 -1/2 phi2)) (*.f64 phi1 (sin.f64 (*.f64 -1/2 phi2)))) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (pow.f64 phi1 2)) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 phi1 2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 phi1 2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2))) 3))))) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (*.f64 (pow.f64 phi1 2) (cos.f64 phi2))) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))))))))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
37.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
33.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (fma.f64 1/2 (*.f64 lambda2 (cos.f64 (*.f64 -1/2 lambda1))) (sin.f64 (*.f64 -1/2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
35.8b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (pow.f64 lambda2 2) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (cos.f64 phi1) 2))))) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3))))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
23.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 3)) 2))) 2))))))
44.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (+.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2)))) (cos.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2))))) (*.f64 (sin.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2)))) (sin.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda1 (+.f64 lambda2 lambda1) (*.f64 lambda2 lambda2))))))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
37.2b
(*.f64 R (*.f64 2 (atan2.f64 (fma.f64 1/2 (*.f64 phi1 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 phi2)) (cos.f64 (*.f64 -1/2 phi2))) (sqrt.f64 (/.f64 1 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
33.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (-.f64 (sin.f64 (*.f64 1/2 phi1)) (fma.f64 (*.f64 1/2 (cos.f64 (*.f64 1/2 phi1))) phi2 (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/2 phi1)) (*.f64 phi2 phi2))))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
23.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (cos.f64 phi1))) (fma.f64 1/2 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) 1)) 3) (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3)) (+.f64 (pow.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (cos.f64 phi1))) (fma.f64 1/2 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) 1)) 2) (+.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 2) (*.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (cos.f64 phi1))) (fma.f64 1/2 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))) 2))))))
43.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda2 lambda1)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda2 lambda1)))) (sin.f64 1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
35.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
32.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (*.f64 1/2 phi1)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1)))))))
39.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (+.f64 (fma.f64 1/6 (*.f64 (*.f64 (sin.f64 (*.f64 phi2 -1/2)) (cos.f64 (*.f64 phi2 -1/2))) (pow.f64 phi1 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 phi1)) (*.f64 (pow.f64 (sin.f64 (*.f64 phi2 -1/2)) 2) (*.f64 phi1 phi1)))) (*.f64 1/2 (fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)))))) (-.f64 1 (fma.f64 1/4 (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cos.f64 phi2)) (*.f64 phi1 phi1)) (fma.f64 1/4 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda2) (*.f64 (cos.f64 phi2) (*.f64 phi1 phi1)))) (+.f64 (fma.f64 1/2 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 phi2 -1/2)) (+.f64 (sin.f64 (*.f64 phi2 -1/2)) (*.f64 phi1 (cos.f64 (*.f64 phi2 -1/2)))))) (*.f64 1/4 (*.f64 phi1 (*.f64 phi1 (pow.f64 (cos.f64 (*.f64 phi2 -1/2)) 2))))))))) 2))))))
23.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (+.f64 (fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (cos.f64 phi1))) (fma.f64 1/2 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) 1))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (cos.f64 phi1))) (fma.f64 1/2 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) 1))) (neg.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2) (*.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2)))) 2))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (-.f64 (+.f64 (sin.f64 (*.f64 -1/2 phi2)) (*.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))))) (*.f64 1/8 (*.f64 (pow.f64 phi1 2) (sin.f64 (*.f64 -1/2 phi2))))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
23.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (+.f64 (fma.f64 1 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (cos.f64 phi1))) (fma.f64 1/2 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) 1)) (neg.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2) (*.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2)))) 2))))))
24.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3)) (+.f64 1 (+.f64 (pow.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 2) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))))
31.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 -1/2 lambda1)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (fma.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))) (sin.f64 (*.f64 -1/2 phi2))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
36.1b
(*.f64 R (*.f64 2 (atan2.f64 (+.f64 (fma.f64 1/2 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) (sqrt.f64 (/.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))) (-.f64 (fma.f64 1/16 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 3) (*.f64 (pow.f64 (cos.f64 phi2) 3) (*.f64 (pow.f64 lambda2 3) (*.f64 (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 3) (pow.f64 (cos.f64 phi1) 3))))) (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 5)))) (fma.f64 1/8 (*.f64 (*.f64 (*.f64 lambda2 lambda2) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2)))) (sqrt.f64 (/.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3))) (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 3) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (pow.f64 (cos.f64 phi1) 2))))))))) (fma.f64 1/8 (*.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 lambda2 lambda2) (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 2))))) (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3)))) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)) 3))) (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (pow.f64 lambda2 3) (*.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (cos.f64 (*.f64 -1/2 lambda1)) 3))))))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))) (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 -1/2 lambda1)) (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (*.f64 -1/2 lambda1)) (cos.f64 phi1))))) 1/12) (*.f64 1/8 (*.f64 (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (*.f64 (*.f64 lambda2 lambda2) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))))))))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
33.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
33.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) -1/2 1/2)) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
23.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda2 2)) (cos.f64 (/.f64 lambda1 2))) (*.f64 (cos.f64 (/.f64 lambda2 2)) (sin.f64 (/.f64 lambda1 2)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2))) 3))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
35.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
36.8b
(*.f64 R (*.f64 2 (atan2.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 lambda2)) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 lambda2)) (*.f64 lambda1 (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (sqrt.f64 (/.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
35.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 lambda2)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
35.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (*.f64 -1/2 phi2)) 2) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi2)))))))
32.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) 2))))))
35.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 1/2 lambda2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
35.7b
(*.f64 R (*.f64 2 (atan2.f64 (-.f64 (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 (*.f64 1/2 phi1)) phi2) (*.f64 (cos.f64 (*.f64 1/2 phi1)) (sqrt.f64 (/.f64 1 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2)))))))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) 2))))))
24.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1)))) 2) (cbrt.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))))) 2))) 2))))))
30.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 lambda1)) 2) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) 1)) (fma.f64 (*.f64 1/2 (cos.f64 phi2)) (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
33.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (fabs.f64 (sin.f64 (*.f64 (-.f64 lambda2 lambda1) 1/2))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
32.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (fma.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi1) (sin.f64 lambda2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) 1) (fma.f64 1/2 (cos.f64 phi1) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) 2))))))
34.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) 2))))))
30.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 (fma.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1))) 1) (fma.f64 1/2 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
34.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (-.f64 lambda2 lambda1))) 2) (cos.f64 phi1)) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))
31.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (*.f64 -1/2 lambda1)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (sqrt.f64 (pow.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) 2))))))
24.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2))) (sqrt.f64 (log.f64 (exp.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 1/2 (*.f64 1/2 (cos.f64 (-.f64 lambda2 lambda1))))) (pow.f64 (sin.f64 (*.f64 -1/2 (-.f64 phi2 phi1))) 2)))))))))
Compiler

Compiled 33271 to 18443 computations (44.6% saved)

regimes9.2s (18.3%)

Accuracy

Total 1.7b remaining (7.3%)

Threshold costs 0b (0%)

Counts
310 → 1
Compiler

Compiled 310000 to 212836 computations (31.3% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
15×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053279
175279
285279
391279
494279
Stop Event
saturated

end2.5s (5%)

Stop Event
fuel
Compiler

Compiled 5201 to 3473 computations (33.2% saved)

Profiling

Loading profile data...