Details

Time bar (total: 21.1s)

analyze4.6s (21.7%)

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.8%99%0.2%11
1.2%98.6%0.2%12
1.8%98%0.2%13
2%97.7%0.2%14
Compiler

Compiled 25 to 18 computations (28% saved)

sample319.0ms (1.5%)

Algorithm
intervals
Results
233.0ms189×body1024valid
25.0msbody2048valid
24.0ms37×body512valid
5.0ms13×body256valid
2.0msbody128valid
Compiler

Compiled 54 to 40 computations (25.9% saved)

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Rules
15×sub-neg_binary64
14×cancel-sign-sub-inv_binary64
10×*-commutative_binary64
10×distribute-rgt-in_binary64
neg-mul-1_binary64
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01831
12731
23831
34431
45031
56631
68931
710231
811431
911631
1011031
119631

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
16.1b
Counts
1 → 1
Alt Table
StatusErrorProgram
16.1b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
Compiler

Compiled 48 to 34 computations (29.2% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
0.3b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
0.7b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
3.0b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite71.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
1.6b
Rules
13×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 57
Calls

4 calls:

4.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
4.0ms
(cos.f64 (-.f64 lambda1 lambda2))
3.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
1.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Compiler

Compiled 1588 to 295 computations (81.4% saved)

series128.0ms (0.6%)

Error
15.0b
Counts
4 → 47
Calls

4 calls:

49.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
26.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
20.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
18.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 2524 to 1652 computations (34.5% saved)

simplify138.0ms (0.7%)

Algorithm
egg-herbie
Rules
668×distribute-rgt-neg-in_binary64
582×distribute-lft-neg-in_binary64
420×neg-mul-1_binary64
378×neg-sub0_binary64
347×sub-neg_binary64
Counts
104 → 43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01692592
13482338
28052320
317992315
433242315
546582315
648842315

prune59.0ms (0.3%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New291443
Fresh000
Picked101
Done000
Total301444
Error
1.6b
Counts
44 → 14
Alt Table
StatusErrorProgram
16.6b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) (*.f64 (cbrt.f64 R) (cbrt.f64 R))) (cbrt.f64 R))
1.9b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
16.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R)) (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R))) (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R)))
33.6b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.f64 (cos.f64 lambda2) (*.f64 lambda1 (-.f64 (*.f64 lambda1 (*.f64 (cos.f64 lambda2) 1/2)) (sin.f64 lambda2))))))) R)
16.1b
(*.f64 (acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
16.3b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) 3)) R)
16.3b
(*.f64 (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (*.f64 R (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))))))
16.7b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))))) (*.f64 R (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))))))
42.0b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R)) (sqrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R)))
43.4b
(exp.f64 (log.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R)))
16.3b
(*.f64 (*.f64 (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))) (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))))) R)
16.1b
(*.f64 (log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))))) R)
16.1b
(*.f64 (-.f64 (/.f64 PI.f64 2) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))) R)
42.2b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) (sqrt.f64 R)) (sqrt.f64 R))
Compiler

Compiled 2102 to 806 computations (61.7% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.3b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
0.7b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))

rewrite97.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
1.5b
Rules
16×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
10×add-cbrt-cube_binary64
10×add-exp-log_binary64
Counts
4 → 64
Calls

4 calls:

5.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
4.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
3.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
1.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
Compiler

Compiled 2199 to 333 computations (84.9% saved)

series182.0ms (0.9%)

Error
1.6b
Counts
4 → 48
Calls

4 calls:

74.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
36.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
28.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
23.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
Compiler

Compiled 3667 to 2260 computations (38.4% saved)

simplify187.0ms (0.9%)

Algorithm
egg-herbie
Rules
514×cancel-sign-sub-inv_binary64
509×sub-neg_binary64
430×distribute-rgt-neg-in_binary64
374×*-commutative_binary64
318×distribute-lft-neg-in_binary64
Counts
112 → 75
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01853801
14333158
211533108
318913088
432963088
545333088
649863088
749273088

prune84.0ms (0.4%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New631275
Fresh11213
Picked101
Done000
Total751489
Error
1.5b
Counts
89 → 14
Alt Table
StatusErrorProgram
43.4b
(exp.f64 (log.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R)))
35.3b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)) (sqrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)))
1.9b
(*.f64 (acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
2.1b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) 3)) R)
42.2b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) (sqrt.f64 R)) (sqrt.f64 R))
1.9b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 lambda1)) (cbrt.f64 (sin.f64 lambda1))) (*.f64 (sin.f64 lambda2) (cbrt.f64 (sin.f64 lambda1)))))))) R)
35.6b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) (sqrt.f64 R)) (sqrt.f64 R))
2.6b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) (*.f64 (cbrt.f64 R) (cbrt.f64 R))) (cbrt.f64 R))
2.1b
(*.f64 (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (*.f64 R (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))
2.7b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))) (*.f64 R (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))
2.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)) (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R))) (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)))
2.1b
(*.f64 (*.f64 (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))) (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
1.9b
(*.f64 (log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
1.9b
(*.f64 (-.f64 (/.f64 PI.f64 2) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))) R)
Compiler

Compiled 2880 to 1011 computations (64.9% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
0.4b
(exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
0.6b
(log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
0.7b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))

rewrite81.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
1.4b
Rules
12×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
exp-prod_binary64
log-pow_binary64
Counts
4 → 58
Calls

4 calls:

6.0ms
(*.f64 (log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
2.0ms
(log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
2.0ms
(exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
1.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
Compiler

Compiled 2589 to 212 computations (91.8% saved)

series498.0ms (2.4%)

Error
1.5b
Counts
4 → 51
Calls

4 calls:

235.0ms
(*.f64 (log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
160.0ms
(log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
58.0ms
(exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
39.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
Compiler

Compiled 4051 to 2684 computations (33.7% saved)

simplify281.0ms (1.3%)

Algorithm
egg-herbie
Rules
666×times-frac_binary64
385×associate-/r/_binary64
373×log-prod_binary64
336×unswap-sqr_binary64
297×distribute-rgt-out_binary64
Counts
109 → 89
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01065909
11754844
23234844
34504844
46094838
510854838
627774838
745104838
849334838
949124838

prune56.0ms (0.3%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New85489
Fresh21113
Picked101
Done000
Total8815103
Error
1.5b
Counts
103 → 15
Alt Table
StatusErrorProgram
2.1b
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))) 3))) R)
2.6b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) (*.f64 (cbrt.f64 R) (cbrt.f64 R))) (cbrt.f64 R))
2.5b
(*.f64 (+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))) (log.f64 (cbrt.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))) R)
2.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)) (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R))) (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)))
1.9b
(*.f64 (acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
2.1b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) 3)) R)
42.2b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) (sqrt.f64 R)) (sqrt.f64 R))
1.9b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 lambda1)) (cbrt.f64 (sin.f64 lambda1))) (*.f64 (sin.f64 lambda2) (cbrt.f64 (sin.f64 lambda1)))))))) R)
37.4b
(exp.f64 (log.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)))
35.6b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) (sqrt.f64 R)) (sqrt.f64 R))
1.9b
(*.f64 (log.f64 (/.f64 (sqrt.f64 (exp.f64 PI.f64)) (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))) R)
2.1b
(*.f64 (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (*.f64 R (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))
2.7b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))) (*.f64 R (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))
35.3b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)) (sqrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)))
1.9b
(*.f64 (-.f64 (/.f64 PI.f64 2) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))) R)
Compiler

Compiled 2791 to 910 computations (67.4% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
0.3b
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)
0.7b
(acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
26.1b
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3))

rewrite115.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
1.5b
Rules
10×add-sqr-sqrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
*-un-lft-identity_binary64
Counts
4 → 67
Calls

4 calls:

4.0ms
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)
3.0ms
(*.f64 (acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
2.0ms
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3))
1.0ms
(acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
Compiler

Compiled 2483 to 655 computations (73.6% saved)

series182.0ms (0.9%)

Error
1.5b
Counts
4 → 45
Calls

4 calls:

72.0ms
(*.f64 (acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
38.0ms
(acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
36.0ms
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)
22.0ms
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3))
Compiler

Compiled 3585 to 2260 computations (37% saved)

simplify164.0ms (0.8%)

Algorithm
egg-herbie
Rules
476×unswap-sqr_binary64
456×cancel-sign-sub-inv_binary64
396×*-commutative_binary64
321×log-prod_binary64
248×exp-prod_binary64
Counts
112 → 95
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01653842
13583183
210683137
322193119
445593116
549713116
649543116

prune82.0ms (0.4%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New93295
Fresh11314
Picked101
Done000
Total9515110
Error
1.5b
Counts
110 → 15
Alt Table
StatusErrorProgram
1.9b
(*.f64 (acos.f64 (+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 phi2) (sin.f64 phi1)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
2.1b
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))) 3))) R)
2.6b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) (*.f64 (cbrt.f64 R) (cbrt.f64 R))) (cbrt.f64 R))
2.5b
(*.f64 (+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))) (log.f64 (cbrt.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))) R)
2.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)) (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R))) (cbrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)))
2.1b
(*.f64 (sqrt.f64 (acos.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) 3)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (*.f64 R (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))))))
42.2b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) (sqrt.f64 R)) (sqrt.f64 R))
1.9b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 lambda1)) (cbrt.f64 (sin.f64 lambda1))) (*.f64 (sin.f64 lambda2) (cbrt.f64 (sin.f64 lambda1)))))))) R)
37.4b
(exp.f64 (log.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)))
35.6b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) (sqrt.f64 R)) (sqrt.f64 R))
1.9b
(*.f64 (log.f64 (/.f64 (sqrt.f64 (exp.f64 PI.f64)) (exp.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))) R)
2.7b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))) (*.f64 R (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))
35.3b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)) (sqrt.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) R)))
2.1b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) 3)) R)
1.9b
(*.f64 (-.f64 (/.f64 PI.f64 2) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))) R)
Compiler

Compiled 2528 to 748 computations (70.4% saved)

regimes3.7s (17.4%)

Accuracy

Total 0.3b remaining (9.1%)

Threshold costs 0.3b (9.1%)

Compiler

Compiled 96976 to 57176 computations (41% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02553
13553
23553

end42.0ms (0.2%)

Remove

(sort phi1 phi2)

Compiler

Compiled 259 to 168 computations (35.1% saved)

sample9.9s (47.2%)

Algorithm
intervals
Results
6.9s5452×body1024valid
977.0ms1465×body512valid
718.0ms266×body2048valid
229.0ms511×body256valid
72.0ms306×body128valid
5.0msbody1024invalid
Compiler

Compiled 773 to 435 computations (43.7% saved)

Profiling

Loading profile data...