Details

Time bar (total: 1.1min)

analyze19.4s (29.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)

sample1.1s (1.6%)

Algorithm
intervals
Results
780.0ms161×body1024valid
114.0ms41×body512valid
93.0ms10×body2048valid
26.0ms32×body128valid
23.0ms12×body256valid
Compiler

Compiled 146 to 98 computations (32.9% saved)

simplify188.0ms (0.3%)

Algorithm
egg-herbie
Rules
698×fma-def_binary64
571×fma-neg_binary64
563×sub-neg_binary64
520×distribute-rgt-neg-in_binary64
460×sqr-pow_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027103
15999
212399
324799
455299
5101899
6169899
7258999
8356099
9389399
10441499
11460799
12442699
13441399
14477899
15476199

prune15.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
22.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
22.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.5b
(*.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)))))))))
Compiler

Compiled 409 to 260 computations (36.4% saved)

localize58.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.5b
(sin.f64 (/.f64 (-.f64 phi1 phi2) 2))
3.5b
(sin.f64 (/.f64 (-.f64 phi1 phi2) 2))

rewrite16.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
2 → 20
Calls

2 calls:

7.0ms
(sin.f64 (/.f64 (-.f64 phi1 phi2) 2))
6.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))

series17.0ms (0%)

Counts
2 → 48
Calls

2 calls:

9.0ms
(sin.f64 (/.f64 (-.f64 phi1 phi2) 2))
8.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))

simplify129.0ms (0.2%)

Algorithm
egg-herbie
Rules
697×fma-neg_binary64
347×distribute-rgt-neg-in_binary64
333×distribute-lft-neg-in_binary64
261×neg-mul-1_binary64
255×associate-*r*_binary64
Counts
68 → 90
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01231060
12891010
2742982
32165948
44808948
55002948

prune798.0ms (1.2%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New15525180
Fresh101
Picked101
Done000
Total15725182
Error
21.0b
Counts
182 → 25
Alt Table
StatusErrorProgram
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
34.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (*.f64 -1/2 lambda2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
31.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 -1/2 (*.f64 lambda2 (cos.f64 (*.f64 1/2 lambda1)))) (*.f64 (+.f64 (*.f64 (*.f64 lambda2 lambda2) -1/8) 1) (sin.f64 (*.f64 1/2 lambda1))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
25.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (log.f64 (exp.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (log1p.f64 (expm1.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 (cos.f64 (*.f64 1/2 phi1)))) (*.f64 (+.f64 (*.f64 (*.f64 phi2 phi2) -1/8) 1) (sin.f64 (*.f64 1/2 phi1)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
31.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))))))
22.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda1 2)) (cos.f64 (/.f64 lambda2 2))) (*.f64 (cos.f64 (/.f64 lambda1 2)) (sin.f64 (/.f64 lambda2 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (expm1.f64 (log1p.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
36.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (fma.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))) (sin.f64 (*.f64 -1/2 phi2))) 2)))))))
32.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (+.f64 (*.f64 (cos.f64 (*.f64 1/2 lambda1)) (fma.f64 1/48 (pow.f64 lambda2 3) (*.f64 -1/2 lambda2))) (*.f64 (+.f64 (*.f64 (*.f64 lambda2 lambda2) -1/8) 1) (sin.f64 (*.f64 1/2 lambda1)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
37.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
31.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (fma.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))) (*.f64 (+.f64 (*.f64 (*.f64 phi1 phi1) -1/8) 1) (sin.f64 (*.f64 -1/2 phi2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 3)) 2)))))))
30.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (*.f64 1/2 lambda1)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2)))))))
35.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 -1/2 lambda2)) lambda1) (*.f64 (+.f64 (*.f64 (*.f64 lambda1 lambda1) -1/8) 1) (sin.f64 (*.f64 -1/2 lambda2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
34.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
21.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
32.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2)))))))
22.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
49.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (sqrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (sqrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
Compiler

Compiled 11623 to 7092 computations (39% saved)

localize85.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.5b
(sin.f64 (/.f64 (-.f64 phi1 phi2) 2))

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify31.0ms (0%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune1.2s (1.8%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New70812720
Fresh91524
Picked101
Done000
Total71827745
Error
10.7b
Counts
745 → 27
Alt Table
StatusErrorProgram
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
34.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (*.f64 -1/2 lambda2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda1 2)) (cos.f64 (/.f64 lambda2 2))) (*.f64 (cos.f64 (/.f64 lambda1 2)) (sin.f64 (/.f64 lambda2 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
31.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 -1/2 (*.f64 lambda2 (cos.f64 (*.f64 1/2 lambda1)))) (*.f64 (+.f64 (*.f64 (*.f64 lambda2 lambda2) -1/8) 1) (sin.f64 (*.f64 1/2 lambda1))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
25.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (log.f64 (exp.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (log1p.f64 (expm1.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 (cos.f64 (*.f64 1/2 phi1)))) (*.f64 (+.f64 (*.f64 (*.f64 phi2 phi2) -1/8) 1) (sin.f64 (*.f64 1/2 phi1)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
30.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (*.f64 1/2 lambda1))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
32.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (+.f64 (*.f64 (cos.f64 (*.f64 1/2 lambda1)) (fma.f64 1/48 (pow.f64 lambda2 3) (*.f64 -1/2 lambda2))) (*.f64 (+.f64 (*.f64 (*.f64 lambda2 lambda2) -1/8) 1) (sin.f64 (*.f64 1/2 lambda1)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
32.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2)))))))
22.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (-.f64 (*.f64 (sin.f64 (/.f64 lambda1 2)) (cos.f64 (/.f64 lambda2 2))) (*.f64 (cos.f64 (/.f64 lambda1 2)) (sin.f64 (/.f64 lambda2 2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 3)) 2)))))))
22.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2)))))))
35.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 -1/2 lambda2)) lambda1) (*.f64 (+.f64 (*.f64 (*.f64 lambda1 lambda1) -1/8) 1) (sin.f64 (*.f64 -1/2 lambda2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
34.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
49.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (sqrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (sqrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
30.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))))))
22.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
28.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (*.f64 1/2 lambda1)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
11.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
31.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (fma.f64 1/2 (*.f64 phi1 (cos.f64 (*.f64 -1/2 phi2))) (*.f64 (+.f64 (*.f64 (*.f64 phi1 phi1) -1/8) 1) (sin.f64 (*.f64 -1/2 phi2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
49.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sqrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sqrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
32.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (*.f64 -1/2 lambda2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
Compiler

Compiled 13668 to 8887 computations (35% saved)

localize73.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify222.0ms (0.3%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune1.7s (2.6%)

Pruning

31 alts after pruning (31 fresh and 0 done)

PrunedKeptTotal
New107871310800
Fresh81826
Picked101
Done000
Total107963110827
Error
10.7b
Counts
10827 → 31
Alt Table
StatusErrorProgram
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
34.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (*.f64 -1/2 lambda2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda1 2)) (cos.f64 (/.f64 lambda2 2))) (*.f64 (cos.f64 (/.f64 lambda1 2)) (sin.f64 (/.f64 lambda2 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
13.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (log.f64 (exp.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
25.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (log.f64 (exp.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
31.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 -1/2 (*.f64 lambda2 (cos.f64 (*.f64 1/2 lambda1)))) (*.f64 (+.f64 (*.f64 (*.f64 lambda2 lambda2) -1/8) 1) (sin.f64 (*.f64 1/2 lambda1))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (log1p.f64 (expm1.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 (cos.f64 (*.f64 1/2 phi1)))) (*.f64 (+.f64 (*.f64 (*.f64 phi2 phi2) -1/8) 1) (sin.f64 (*.f64 1/2 phi1)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
24.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 -1/2 (*.f64 lambda2 (cos.f64 (*.f64 1/2 lambda1))) (sin.f64 (*.f64 1/2 lambda1)))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
11.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
32.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2)))))))
11.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (log.f64 (exp.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
32.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (+.f64 (*.f64 (cos.f64 (*.f64 1/2 lambda1)) (fma.f64 1/48 (pow.f64 lambda2 3) (*.f64 -1/2 lambda2))) (*.f64 (+.f64 (*.f64 (*.f64 lambda2 lambda2) -1/8) 1) (sin.f64 (*.f64 1/2 lambda1)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (*.f64 1/2 lambda1))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
11.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda1 2)) (cos.f64 (/.f64 lambda2 2))) (*.f64 (cos.f64 (/.f64 lambda1 2)) (sin.f64 (/.f64 lambda2 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
11.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
11.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2)))))))
35.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 -1/2 lambda2)) lambda1) (*.f64 (+.f64 (*.f64 (*.f64 lambda1 lambda1) -1/8) 1) (sin.f64 (*.f64 -1/2 lambda2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
34.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
45.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sqrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sqrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
49.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (sqrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (sqrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
30.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))))))
11.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) 3))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
25.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (*.f64 -1/2 lambda2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
25.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 -1/2 (*.f64 lambda2 (cos.f64 (*.f64 1/2 lambda1))) (sin.f64 (*.f64 1/2 lambda1)))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 3)) 2)))))))
21.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (*.f64 1/2 lambda1))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
Compiler

Compiled 16071 to 10932 computations (32% saved)

localize87.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))
3.1b
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify2.0s (2.9%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune4.9s (7.4%)

Pruning

30 alts after pruning (30 fresh and 0 done)

PrunedKeptTotal
New1727973172800
Fresh32730
Picked101
Done000
Total17280130172831
Error
10.7b
Counts
172831 → 30
Alt Table
StatusErrorProgram
11.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) 3))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
34.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (*.f64 -1/2 lambda2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda1 2)) (cos.f64 (/.f64 lambda2 2))) (*.f64 (cos.f64 (/.f64 lambda1 2)) (sin.f64 (/.f64 lambda2 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
26.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 -1/2 (*.f64 lambda2 (cos.f64 (*.f64 1/2 lambda1))) (sin.f64 (*.f64 1/2 lambda1)))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
31.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 -1/2 (*.f64 lambda2 (cos.f64 (*.f64 1/2 lambda1)))) (*.f64 (+.f64 (*.f64 (*.f64 lambda2 lambda2) -1/8) 1) (sin.f64 (*.f64 1/2 lambda1))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
13.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (log.f64 (exp.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
25.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (log.f64 (exp.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
21.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 lambda1))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (log1p.f64 (expm1.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
32.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 (cos.f64 (*.f64 1/2 phi1)))) (*.f64 (+.f64 (*.f64 (*.f64 phi2 phi2) -1/8) 1) (sin.f64 (*.f64 1/2 phi1)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
24.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 -1/2 (*.f64 lambda2 (cos.f64 (*.f64 1/2 lambda1))) (sin.f64 (*.f64 1/2 lambda1)))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
11.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
32.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 1/2 phi1)) 2)))))))
11.3b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (log.f64 (exp.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
32.2b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (+.f64 (*.f64 (cos.f64 (*.f64 1/2 lambda1)) (fma.f64 1/48 (pow.f64 lambda2 3) (*.f64 -1/2 lambda2))) (*.f64 (+.f64 (*.f64 (*.f64 lambda2 lambda2) -1/8) 1) (sin.f64 (*.f64 1/2 lambda1)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (*.f64 1/2 lambda1))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
11.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 (/.f64 lambda1 2)) (cos.f64 (/.f64 lambda2 2))) (*.f64 (cos.f64 (/.f64 lambda1 2)) (sin.f64 (/.f64 lambda2 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.0b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
11.4b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2)))))))
35.7b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 -1/2 lambda2)) lambda1) (*.f64 (+.f64 (*.f64 (*.f64 lambda1 lambda1) -1/8) 1) (sin.f64 (*.f64 -1/2 lambda2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
34.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
45.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sqrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sqrt.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
49.9b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (sqrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (sqrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
30.5b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (*.f64 -1/2 phi2)) 2)))))))
11.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) 3))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.8b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) (cbrt.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
25.1b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (*.f64 -1/2 lambda2))) (pow.f64 (-.f64 (*.f64 (sin.f64 (/.f64 phi1 2)) (cos.f64 (/.f64 phi2 2))) (*.f64 (cos.f64 (/.f64 phi1 2)) (sin.f64 (/.f64 phi2 2)))) 2)))))))
22.6b
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 3)) 2)))))))
Compiler

Compiled 13491 to 9200 computations (31.8% saved)

regimes10.5s (15.7%)

Accuracy

Total 0.5b remaining (3.9%)

Threshold costs 0.5b (3.9%)

Compiler

Compiled 193382 to 135851 computations (29.7% saved)

simplify14.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
040145
161145
279145
391145
498145
599145
698145

end91.0ms (0.1%)

Remove

(sort phi1 phi2)

Compiler

Compiled 672 to 490 computations (27.1% saved)

sample23.9s (35.9%)

Algorithm
intervals
Results
15.1s5257×body1024valid
2.4s431×body2048valid
2.1s1273×body512valid
387.0ms375×body256valid
305.0ms664×body128valid
9.0msbody1024invalid
Compiler

Compiled 2814 to 1966 computations (30.1% saved)

Profiling

Loading profile data...