Details

Time bar (total: 14.4s)

analyze3.6s (25%)

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
4.7%95.1%0.2%12
5.9%93.2%0.8%13
8.5%90.2%1.3%14
Compiler

Compiled 38 to 22 computations (42.1% saved)

sample127.0ms (0.9%)

Algorithm
intervals
Results
26.0ms192×body128valid
16.0ms23×body1024valid
13.0ms16×body1024invalid
12.0ms30×body512valid
10.0ms78×body128invalid
5.0ms12×body512invalid
3.0ms10×body256valid
2.0msbody256invalid
1.0msbody2048valid
Compiler

Compiled 80 to 48 computations (40% saved)

simplify126.0ms (0.9%)

Algorithm
egg-herbie
Rules
1413×unsub-neg_binary64
897×distribute-neg-out_binary64
703×fma-def_binary64
583×neg-sub0_binary64
478×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01824
13524
28324
322424
465824
5203824
6312824
7359324
8439924
9436424
10443024
11446824
12503524

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
3.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
3.0b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
Compiler

Compiled 95 to 55 computations (42.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))
0.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
0.2b
(*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))
2.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

rewrite17.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64
associate-*l*_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
4 → 63
Calls

4 calls:

6.0ms
(*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))
4.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
4.0ms
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))
0.0ms
(hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))

series2.8s (19.3%)

Counts
4 → 180
Calls

4 calls:

1.8s
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
929.0ms
(hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))
57.0ms
(*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))
5.0ms
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

simplify484.0ms (3.4%)

Algorithm
egg-herbie
Rules
1141×associate-*r*_binary64
462×fma-def_binary64
151×associate-*l*_binary64
88×sub-neg_binary64
65×associate-/l*_binary64
Counts
243 → 366
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0227546358
1516046358

prune1.2s (8.4%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New35115366
Fresh000
Picked101
Done000
Total35215367
Error
2.8b
Counts
367 → 15
Alt Table
StatusErrorProgram
36.1b
(*.f64 (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
54.4b
(-.f64 (*.f64 R (*.f64 lambda1 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))) (*.f64 lambda2 (*.f64 R (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))))
3.4b
(*.f64 R (hypot.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cbrt.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (-.f64 phi1 phi2)))
6.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))
3.4b
(*.f64 (*.f64 R (sqrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (sqrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
3.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))) (-.f64 phi1 phi2)))
38.6b
(cbrt.f64 (*.f64 (*.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))) (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
38.1b
(exp.f64 (log.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
26.1b
(expm1.f64 (log1p.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
14.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (cos.f64 (*.f64 1/2 phi1)) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) phi2)))) (-.f64 phi1 phi2)))
9.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))
3.4b
(*.f64 R (hypot.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (cbrt.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))) (cbrt.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))) (-.f64 phi1 phi2)))
8.1b
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
4.1b
(*.f64 (*.f64 R (*.f64 (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))) (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))) (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
4.2b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
Compiler

Compiled 60345 to 41259 computations (31.6% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))
2.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))
2.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))
2.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

rewrite5.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
rem-cbrt-cube_binary64
pow3_binary64
cbrt-prod_binary64
Counts
1 → 13
Calls

1 calls:

4.0ms
(cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))

series5.0ms (0%)

Counts
1 → 24
Calls

1 calls:

5.0ms
(cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))

simplify85.0ms (0.6%)

Algorithm
egg-herbie
Rules
759×fma-def_binary64
571×associate-*l*_binary64
446×associate-*r*_binary64
437×distribute-rgt-neg-in_binary64
386×fma-neg_binary64
Counts
37 → 68
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
067808
1153593
2389530
31042504
43236497
54880497
65032497

prune231.0ms (1.6%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New3313334
Fresh21214
Picked101
Done000
Total33415349
Error
2.8b
Counts
349 → 15
Alt Table
StatusErrorProgram
36.1b
(*.f64 (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
54.4b
(-.f64 (*.f64 R (*.f64 lambda1 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))) (*.f64 lambda2 (*.f64 R (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))))
3.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))))) (-.f64 phi1 phi2)))
38.6b
(cbrt.f64 (*.f64 (*.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))) (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
3.4b
(*.f64 R (hypot.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cbrt.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (-.f64 phi1 phi2)))
6.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))
3.4b
(*.f64 (*.f64 R (sqrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (sqrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
6.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (*.f64 1/2 phi1))))) (-.f64 phi1 phi2)))
38.1b
(exp.f64 (log.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
26.1b
(expm1.f64 (log1p.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
14.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (fma.f64 phi2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) -1/2) (cos.f64 (*.f64 1/2 phi1)))) (-.f64 phi1 phi2)))
9.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))
8.1b
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
4.1b
(*.f64 (*.f64 R (*.f64 (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))) (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))) (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
4.2b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
Compiler

Compiled 5155 to 2962 computations (42.5% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))
2.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))
2.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))
2.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify43.0ms (0.3%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune322.0ms (2.2%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New455914560
Fresh11314
Picked011
Done000
Total4560154575
Error
2.8b
Counts
4575 → 15
Alt Table
StatusErrorProgram
36.1b
(*.f64 (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
54.4b
(-.f64 (*.f64 R (*.f64 lambda1 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))) (*.f64 lambda2 (*.f64 R (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))))
3.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))))) (-.f64 phi1 phi2)))
38.6b
(cbrt.f64 (*.f64 (*.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))) (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
3.4b
(*.f64 R (hypot.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cbrt.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (-.f64 phi1 phi2)))
6.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 phi1)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))))) (-.f64 phi1 phi2)))
6.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))
38.1b
(exp.f64 (log.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
26.1b
(expm1.f64 (log1p.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
14.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (fma.f64 phi2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) -1/2) (cos.f64 (*.f64 1/2 phi1)))) (-.f64 phi1 phi2)))
9.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))
8.1b
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
3.4b
(*.f64 (*.f64 R (sqrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (sqrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
4.1b
(*.f64 (*.f64 R (*.f64 (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))) (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))) (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
4.2b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
Compiler

Compiled 9100 to 5370 computations (41% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (-.f64 lambda1 lambda2))
0.6b
(cbrt.f64 (-.f64 lambda1 lambda2))
0.6b
(cbrt.f64 (-.f64 lambda1 lambda2))
2.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

rewrite3.0ms (0%)

Algorithm
rewrite-expression-head
Rules
cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
cbrt-div_binary64
add-cube-cbrt_binary64
Counts
1 → 17
Calls

1 calls:

2.0ms
(cbrt.f64 (-.f64 lambda1 lambda2))

series28.0ms (0.2%)

Counts
1 → 24
Calls

1 calls:

28.0ms
(cbrt.f64 (-.f64 lambda1 lambda2))

simplify111.0ms (0.8%)

Algorithm
egg-herbie
Rules
838×fma-neg_binary64
531×associate-*r*_binary64
480×associate-*l*_binary64
384×fma-def_binary64
252×cancel-sign-sub-inv_binary64
Counts
41 → 70
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01381082
13791060
211441019
346811019
453851019

prune265.0ms (1.8%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New514135144
Fresh11213
Picked101
Done011
Total5143165159
Error
2.8b
Counts
5159 → 16
Alt Table
StatusErrorProgram
36.1b
(*.f64 (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
54.4b
(-.f64 (*.f64 R (*.f64 lambda1 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))) (*.f64 lambda2 (*.f64 R (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))))
3.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))))) (-.f64 phi1 phi2)))
38.6b
(cbrt.f64 (*.f64 (*.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))) (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
7.2b
(*.f64 R (hypot.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cbrt.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cos.f64 (*.f64 1/2 phi1)))) (-.f64 phi1 phi2)))
26.1b
(expm1.f64 (log1p.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
9.5b
(*.f64 R (hypot.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cbrt.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cos.f64 (*.f64 1/2 phi2)))) (-.f64 phi1 phi2)))
38.1b
(exp.f64 (log.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
14.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (fma.f64 phi2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) -1/2) (cos.f64 (*.f64 1/2 phi1)))) (-.f64 phi1 phi2)))
6.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 phi1)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))))))) (-.f64 phi1 phi2)))
9.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))
22.0b
(*.f64 R (hypot.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 -1 lambda1) 1/3) (cbrt.f64 -1)) (cbrt.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (-.f64 lambda1 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (-.f64 phi1 phi2)))
8.1b
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
3.4b
(*.f64 (*.f64 R (sqrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))) (sqrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
4.1b
(*.f64 (*.f64 R (*.f64 (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))) (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))) (cbrt.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
4.2b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
Compiler

Compiled 8095 to 3936 computations (51.4% saved)

regimes1.3s (9.2%)

Accuracy

Total 0.2b remaining (4.8%)

Threshold costs 0.2b (4.8%)

Compiler

Compiled 30483 to 20072 computations (34.2% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01524
12224
23024
33424
43624
53624

end21.0ms (0.1%)

Remove

(sort phi1 phi2)

(sort lambda1 lambda2)

Compiler

Compiled 105 to 70 computations (33.3% saved)

sample3.5s (24.6%)

Algorithm
intervals
Results
811.0ms6046×body128valid
566.0ms793×body1024valid
339.0ms753×body512valid
328.0ms454×body1024invalid
320.0ms2442×body128invalid
151.0ms354×body512invalid
115.0ms399×body256valid
51.0ms176×body256invalid
17.0msbody2048valid
Compiler

Compiled 677 to 414 computations (38.8% saved)

Profiling

Loading profile data...