Details

Time bar (total: 37.3s)

analyze3.1s (8.4%)

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
3.1%96.6%0.2%10
15.6%84.2%0.2%11
15.6%84.2%0.2%12
19.1%80.7%0.2%13
25.7%74%0.2%14
Compiler

Compiled 38 to 22 computations (42.1% saved)

sample3.1s (8.3%)

Symmetry

(sort lambda1 lambda2)

(sort phi1 phi2)

Results
1.3s6132×body128valid
856.0ms883×body1024valid
587.0ms825×body512valid
185.0ms412×body256valid
6.0msbody2048valid
Compiler

Compiled 113 to 65 computations (42.5% saved)

simplify153.0ms (0.4%)

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

prune7.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
2.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
2.7b
(*.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)

localize17.0ms (0%)

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.0b
(*.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)))
3.2b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

series6.5s (17.4%)

Counts
4 → 180
Calls

4 calls:

4.5s
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
1.9s
(hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))
44.0ms
(*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))
10.0ms
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

rewrite28.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:

9.0ms
(*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))
6.0ms
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))
5.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
1.0ms
(hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))

simplify820.0ms (2.2%)

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 → 263
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0227546358
1516046358

prune2.7s (7.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New25211263
Fresh000
Picked101
Done000
Total25311264
Error
2.4b
Counts
264 → 11
Alt Table
StatusErrorProgram
45.7b
(*.f64 R (hypot.f64 (*.f64 (+.f64 (sqrt.f64 lambda1) (sqrt.f64 lambda2)) (*.f64 (-.f64 (sqrt.f64 lambda1) (sqrt.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (-.f64 phi1 phi2)))
18.4b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (cos.f64 (*.f64 1/2 phi2)) (fma.f64 1/2 (*.f64 phi1 (sin.f64 (*.f64 1/2 phi2))) (*.f64 1/8 (*.f64 (*.f64 phi1 phi1) (cos.f64 (*.f64 1/2 phi2))))))) (-.f64 phi1 phi2)))
6.3b
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
39.8b
(-.f64 (*.f64 (sqrt.f64 (-.f64 (+.f64 (pow.f64 phi2 2) (+.f64 (pow.f64 phi1 2) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))) 2)))) (*.f64 2 (*.f64 phi1 phi2)))) R) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 (pow.f64 phi2 2) (+.f64 (pow.f64 phi1 2) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))) 2)))) (*.f64 2 (*.f64 phi1 phi2))))) (*.f64 lambda2 (*.f64 R (*.f64 lambda1 (pow.f64 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))) 2))))))
34.0b
(exp.f64 (+.f64 (log.f64 R) (log.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
12.1b
(*.f64 R (hypot.f64 (-.f64 (fma.f64 1/2 (*.f64 lambda2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) phi2)) (*.f64 (cos.f64 (*.f64 1/2 phi1)) lambda1)) (fma.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) (*.f64 phi2 lambda1)) (*.f64 (cos.f64 (*.f64 1/2 phi1)) lambda2))) (-.f64 phi1 phi2)))
5.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))
5.9b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))
3.5b
(*.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))))
26.2b
(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)))))
33.4b
(exp.f64 (log.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
Compiler

Compiled 60231 to 41230 computations (31.5% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
0.5b
(*.f64 (cbrt.f64 R) (cbrt.f64 R))
0.6b
(cbrt.f64 R)
3.2b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

series3.9s (10.5%)

Counts
3 → 84
Calls

3 calls:

3.8s
(*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
60.0ms
(cbrt.f64 R)
47.0ms
(*.f64 (cbrt.f64 R) (cbrt.f64 R))

rewrite21.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
27×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
15×*-un-lft-identity_binary64
15×add-cube-cbrt_binary64
12×associate-*l*_binary64
Counts
3 → 79
Calls

3 calls:

7.0ms
(*.f64 (cbrt.f64 R) (cbrt.f64 R))
6.0ms
(*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
1.0ms
(cbrt.f64 R)

simplify669.0ms (1.8%)

Algorithm
egg-herbie
Rules
801×*-commutative_binary64
596×associate-*r*_binary64
253×+-commutative_binary64
247×fma-def_binary64
206×associate-+r+_binary64
Counts
163 → 200
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0129124902
1454924754
2500524754

prune1.7s (4.5%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New2514255
Fresh3710
Picked101
Done000
Total25511266
Error
2.4b
Counts
266 → 11
Alt Table
StatusErrorProgram
32.1b
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 R)) (pow.f64 (sqrt.f64 (cbrt.f64 R)) 3)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
45.7b
(*.f64 R (hypot.f64 (*.f64 (+.f64 (sqrt.f64 lambda1) (sqrt.f64 lambda2)) (*.f64 (-.f64 (sqrt.f64 lambda1) (sqrt.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (-.f64 phi1 phi2)))
18.4b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (cos.f64 (*.f64 1/2 phi2)) (fma.f64 1/2 (*.f64 phi1 (sin.f64 (*.f64 1/2 phi2))) (*.f64 1/8 (*.f64 (*.f64 phi1 phi1) (cos.f64 (*.f64 1/2 phi2))))))) (-.f64 phi1 phi2)))
6.7b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2))))
34.0b
(exp.f64 (+.f64 (log.f64 R) (log.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
12.1b
(*.f64 R (hypot.f64 (-.f64 (fma.f64 1/2 (*.f64 lambda2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) phi2)) (*.f64 (cos.f64 (*.f64 1/2 phi1)) lambda1)) (fma.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) (*.f64 phi2 lambda1)) (*.f64 (cos.f64 (*.f64 1/2 phi1)) lambda2))) (-.f64 phi1 phi2)))
5.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))
31.2b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))))
6.3b
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
33.3b
(*.f64 (exp.f64 (*.f64 2 (log.f64 (cbrt.f64 R)))) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
26.2b
(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)))))
Compiler

Compiled 36202 to 23096 computations (36.2% saved)

localize12.0ms (0%)

Local error

Found 2 expressions with local error:

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

series641.0ms (1.7%)

Counts
2 → 96
Calls

2 calls:

626.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))
14.0ms
(*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1)))

rewrite21.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
associate-*l*_binary64
*-un-lft-identity_binary64
associate-*r*_binary64
add-cube-cbrt_binary64
Counts
2 → 44
Calls

2 calls:

11.0ms
(*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1)))
5.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))

simplify253.0ms (0.7%)

Algorithm
egg-herbie
Rules
673×associate-*r*_binary64
640×associate-*l*_binary64
482×fma-def_binary64
220×times-frac_binary64
218×associate-/l*_binary64
Counts
140 → 168
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04697960
116047390
256137390

prune517.0ms (1.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1653168
Fresh1910
Picked101
Done000
Total16712179
Error
2.3b
Counts
179 → 12
Alt Table
StatusErrorProgram
32.1b
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 R)) (pow.f64 (sqrt.f64 (cbrt.f64 R)) 3)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
45.7b
(*.f64 R (hypot.f64 (*.f64 (+.f64 (sqrt.f64 lambda1) (sqrt.f64 lambda2)) (*.f64 (-.f64 (sqrt.f64 lambda1) (sqrt.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (-.f64 phi1 phi2)))
18.4b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (cos.f64 (*.f64 1/2 phi2)) (fma.f64 1/2 (*.f64 phi1 (sin.f64 (*.f64 1/2 phi2))) (*.f64 1/8 (*.f64 (*.f64 phi1 phi1) (cos.f64 (*.f64 1/2 phi2))))))) (-.f64 phi1 phi2)))
6.7b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2))))
12.1b
(*.f64 R (hypot.f64 (-.f64 (fma.f64 1/2 (*.f64 lambda2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) phi2)) (*.f64 (cos.f64 (*.f64 1/2 phi1)) lambda1)) (fma.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) (*.f64 phi2 lambda1)) (*.f64 (cos.f64 (*.f64 1/2 phi1)) lambda2))) (-.f64 phi1 phi2)))
31.2b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))))
8.8b
(*.f64 R (hypot.f64 (-.f64 lambda1 lambda2) (-.f64 phi1 phi2)))
6.3b
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
30.4b
(expm1.f64 (log1p.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))))
33.3b
(*.f64 (exp.f64 (*.f64 2 (log.f64 (cbrt.f64 R)))) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
35.6b
(exp.f64 (+.f64 (log.f64 R) (log.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))))
26.2b
(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)))))
Compiler

Compiled 9962 to 5845 computations (41.3% saved)

localize32.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 R (expm1.f64 (log1p.f64 (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)))
3.2b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))
5.9b
(expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))

series5.3s (14.3%)

Counts
2 → 108
Calls

2 calls:

3.5s
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
1.9s
(expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))

rewrite9.0ms (0%)

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

2 calls:

5.0ms
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))))
1.0ms
(expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))

simplify791.0ms (2.1%)

Algorithm
egg-herbie
Rules
1109×associate-*r*_binary64
439×fma-def_binary64
146×associate-*l*_binary64
73×sub-neg_binary64
65×associate-/l*_binary64
Counts
139 → 220
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0215944146
1504944146

prune3.0s (8%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New2862288
Fresh01111
Picked101
Done000
Total28713300
Error
2.3b
Counts
300 → 13
Alt Table
StatusErrorProgram
6.4b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (*.f64 (cbrt.f64 R) (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))))
31.2b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))))
32.1b
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 R)) (pow.f64 (sqrt.f64 (cbrt.f64 R)) 3)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
45.7b
(*.f64 R (hypot.f64 (*.f64 (+.f64 (sqrt.f64 lambda1) (sqrt.f64 lambda2)) (*.f64 (-.f64 (sqrt.f64 lambda1) (sqrt.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (-.f64 phi1 phi2)))
18.4b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (cos.f64 (*.f64 1/2 phi2)) (fma.f64 1/2 (*.f64 phi1 (sin.f64 (*.f64 1/2 phi2))) (*.f64 1/8 (*.f64 (*.f64 phi1 phi1) (cos.f64 (*.f64 1/2 phi2))))))) (-.f64 phi1 phi2)))
6.7b
(*.f64 (*.f64 (cbrt.f64 R) (cbrt.f64 R)) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2))))
12.1b
(*.f64 R (hypot.f64 (-.f64 (fma.f64 1/2 (*.f64 lambda2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) phi2)) (*.f64 (cos.f64 (*.f64 1/2 phi1)) lambda1)) (fma.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) (*.f64 phi2 lambda1)) (*.f64 (cos.f64 (*.f64 1/2 phi1)) lambda2))) (-.f64 phi1 phi2)))
8.8b
(*.f64 R (hypot.f64 (-.f64 lambda1 lambda2) (-.f64 phi1 phi2)))
30.4b
(expm1.f64 (log1p.f64 (*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))))
33.3b
(*.f64 (exp.f64 (*.f64 2 (log.f64 (cbrt.f64 R)))) (*.f64 (cbrt.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
35.6b
(exp.f64 (+.f64 (log.f64 R) (log.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))))
26.2b
(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)))))
9.2b
(*.f64 R (expm1.f64 (log1p.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))))
Compiler

Compiled 60655 to 41460 computations (31.6% saved)

regimes3.4s (9.3%)

Accuracy

Total 0.2b remaining (8.5%)

Threshold costs 0.2b (8.5%)

Counts
164 → 1
Compiler

Compiled 37737 to 24743 computations (34.4% saved)

simplify6.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
01724
12724
23424
33824
44024
53924

end479.0ms (1.3%)

Remove

(sort phi1 phi2)

(sort lambda1 lambda2)

Compiler

Compiled 518 to 338 computations (34.7% saved)

Profiling

Loading profile data...