Details

Time bar (total: 20.8s)

analyze3.7s (17.8%)

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)

sample10.5s (50.4%)

Results
8.1s5673×body1024valid
1.2s1471×body512valid
754.0ms255×body2048valid
308.0ms537×body256valid
97.0ms320×body128valid
1.0msbody1024invalid
1.0msbody512invalid
Compiler

Compiled 50 to 36 computations (28% saved)

preprocess78.0ms (0.4%)

Algorithm
egg-herbie
Rules
1299×fma-def_binary64
458×fma-neg_binary64
236×cancel-sign-sub-inv_binary64
181×distribute-rgt-in_binary64
160×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
092319
1181319
2307319
3402319
4466319
5670319
6894319
71289319
82073319
93037319
103654319
114561319
055
155
Stop Event
unsound
node limit
Symmetry

(sort lambda1 lambda2)

(sort phi1 phi2)

Compiler

Compiled 24 to 17 computations (29.2% saved)

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
47×fma-def_binary64
32×fma-neg_binary64
15×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01829
12829
24429
35729
46729
58529
612329
716029
820629
924329
1026929
1127129
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
14.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
14.7b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))))) R)
Compiler

Compiled 88 to 55 computations (37.5% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1)))
0.2b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))))) R)
0.7b
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1)))))
2.9b
(cos.f64 (-.f64 lambda2 lambda1))

series76.0ms (0.4%)

Counts
4 → 164
Calls

45 calls:

5.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1)))
lambda2
-inf
3.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1)))
lambda1
inf
3.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1)))
lambda2
inf
3.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1)))
phi2
inf
3.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1)))
phi1
-inf

rewrite76.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
355×log1p-udef_binary64
195×add-sqr-sqrt_binary64
181×log1p-expm1-u_binary64
181×expm1-log1p-u_binary64
180×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01777
136277
2484977
Stop Event
node limit
Counts
4 → 81

simplify101.0ms (0.5%)

Algorithm
egg-herbie
Rules
573×cancel-sign-sub-inv_binary64
568×fma-def_binary64
442×*-commutative_binary64
334×sub-neg_binary64
248×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01364331
14344272
214514154
345774154
Stop Event
node limit
Counts
245 → 133

prune175.0ms (0.8%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New11815133
Fresh000
Picked101
Done000
Total11915134
Error
3.6b
Counts
134 → 15
Alt Table
StatusErrorProgram
15.0b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R)
15.3b
(*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) 3) R)
14.8b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 1))) R)
14.8b
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R)
46.2b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R) 3))
14.9b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) 1) R)
39.5b
(pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R)) 2)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) 3) (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (-.f64 (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))) (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R)
14.7b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))))) R)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) R)
14.9b
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))))) R)
15.4b
(pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R)) 3)
14.7b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R)
3.9b
(*.f64 (acos.f64 (fma.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 lambda2) (sin.f64 lambda1)))))) R)
14.9b
(*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) 2) R)
Compiler

Compiled 4660 to 1616 computations (65.3% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series124.0ms (0.6%)

Counts
4 → 180
Calls

45 calls:

8.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))
lambda1
inf
8.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))
phi1
inf
7.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))
phi2
-inf
7.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))
phi1
-inf
6.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))
lambda2
inf

rewrite39.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
226×add-sqr-sqrt_binary64
207×log1p-expm1-u_binary64
207×expm1-log1p-u_binary64
206×add-log-exp_binary64
205×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
021109
142779
Stop Event
node limit
Counts
4 → 75

simplify108.0ms (0.5%)

Algorithm
egg-herbie
Rules
401×fma-neg_binary64
349×associate-*r*_binary64
322×distribute-rgt-neg-in_binary64
315×associate--l+_binary64
304×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02056296
16746240
224976059
Stop Event
node limit
Counts
255 → 132

prune220.0ms (1.1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1293132
Fresh21214
Picked101
Done000
Total13215147
Error
3.6b
Counts
147 → 15
Alt Table
StatusErrorProgram
15.0b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R)
15.3b
(*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) 3) R)
14.8b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 1))) R)
14.8b
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R)
46.2b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R) 3))
14.9b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) 1) R)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)))))) R)
39.5b
(pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R)) 2)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) 3) (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (-.f64 (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))) (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))))) R)
14.7b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R)
14.9b
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))))) R)
15.4b
(pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R)) 3)
14.7b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))) R)
14.9b
(*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) 2) R)
Compiler

Compiled 5323 to 1885 computations (64.6% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1)))))
0.2b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))))) R)
0.7b
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1)))))))
2.6b
(log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1)))

series1.8s (8.7%)

Counts
4 → 180
Calls

45 calls:

152.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1)))))
lambda2
-inf
151.0ms
(log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1)))
lambda2
inf
149.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1)))))
lambda2
inf
146.0ms
(log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1)))
lambda2
-inf
142.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1)))))
lambda1
inf

rewrite42.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
240×add-sqr-sqrt_binary64
220×add-log-exp_binary64
219×log1p-expm1-u_binary64
219×expm1-log1p-u_binary64
218×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023109
1462109
Stop Event
node limit
Counts
4 → 72

simplify108.0ms (0.5%)

Algorithm
egg-herbie
Rules
401×fma-neg_binary64
350×associate-*r*_binary64
322×distribute-rgt-neg-in_binary64
315×associate--l+_binary64
304×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02036728
16796240
225226059
Stop Event
node limit
Counts
252 → 125

prune215.0ms (1%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New1187125
Fresh7714
Picked011
Done000
Total12515140
Error
3.5b
Counts
140 → 15
Alt Table
StatusErrorProgram
15.0b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R)
4.7b
(pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))) R)) 3)
14.8b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 1))) R)
14.8b
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)))))) R)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R)
4.1b
(*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 2) R)
14.7b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))) R)
4.1b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) 1) R)
14.9b
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))))) R)
46.2b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R) 3))
4.7b
(*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 3) R)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))))) R)
4.7b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 2) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R)
33.6b
(pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))) R)) 2)
Compiler

Compiled 5445 to 1856 computations (65.9% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
0.3b
(pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)
0.7b
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3))))))
30.1b
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3))

series46.0ms (0.2%)

Counts
3 → 96
Calls

24 calls:

6.0ms
(pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)
lambda2
inf
4.0ms
(pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)
lambda1
-inf
4.0ms
(pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)
lambda2
-inf
4.0ms
(pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)
lambda1
inf
4.0ms
(pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)
lambda2
0

rewrite36.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
224×add-sqr-sqrt_binary64
211×log1p-expm1-u_binary64
211×expm1-log1p-u_binary64
208×add-cbrt-cube_binary64
206×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02255
145145
Stop Event
node limit
Counts
3 → 78

simplify73.0ms (0.4%)

Algorithm
egg-herbie
Rules
616×associate-*r*_binary64
589×associate-*l*_binary64
420×fma-def_binary64
290×cancel-sign-sub-inv_binary64
266×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0922572
12712556
210192484
349042484
Stop Event
node limit
Counts
174 → 112

prune256.0ms (1.2%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New1490149
Fresh01313
Picked011
Done011
Total14915164
Error
3.5b
Counts
164 → 15
Alt Table
StatusErrorProgram
15.0b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R)
4.7b
(pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))) R)) 3)
14.8b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 1))) R)
14.8b
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)))))) R)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R)
4.1b
(*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 2) R)
14.7b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))) R)
4.1b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) 1) R)
14.9b
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))))) R)
46.2b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R) 3))
4.7b
(*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 3) R)
3.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))))) R)
4.7b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 2) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R)
33.6b
(pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))) R)) 2)
Compiler

Compiled 5480 to 2070 computations (62.2% saved)

regimes2.6s (12.3%)

Accuracy

Total 0.3b remaining (7.5%)

Threshold costs 0.3b (7.5%)

Counts
191 → 1
Compiler

Compiled 58568 to 39502 computations (32.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02339
13039
Stop Event
saturated

end368.0ms (1.8%)

Stop Event
fuel
Remove

(sort phi1 phi2)

(sort lambda1 lambda2)

Compiler

Compiled 754 to 469 computations (37.8% saved)

Profiling

Loading profile data...