Details

Time bar (total: 13.8s)

analyze2.7s (19.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
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)

sample4.0s (28.7%)

Symmetry

(sort lambda1 lambda2)

(sort phi1 phi2)

Results
1.3s6252×body128valid
702.0ms788×body1024valid
533.0ms2537×body128invalid
465.0ms506×body1024invalid
445.0ms769×body512valid
194.0ms359×body512invalid
183.0ms442×body256valid
61.0ms156×body256invalid
8.0msbody2048valid
Compiler

Compiled 113 to 65 computations (42.5% saved)

simplify23.0ms (0.2%)

Algorithm
egg-herbie
Rules
1013×unsub-neg_binary64
719×distribute-neg-out_binary64
703×fma-def_binary64
272×distribute-rgt-in_binary64
229×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01824
13524
28324
331224
4107024
5354924
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

localize11.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)))
3.0b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

series1.4s (10.3%)

Counts
4 → 180
Calls

4 calls:

886.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
508.0ms
(hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))
22.0ms
(*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))
5.0ms
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

rewrite61.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
307×log1p-udef_binary64
171×add-sqr-sqrt_binary64
162×log1p-expm1-u_binary64
162×expm1-log1p-u_binary64
161×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01569
133169
2447069
Stop Event
node limit
Counts
4 → 73
Calls

4 calls:

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

simplify279.0ms (2%)

Algorithm
egg-herbie
Rules
509×+-commutative_binary64
461×fma-def_binary64
405×associate-+r+_binary64
141×associate-*l*_binary64
85×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0219644761
Stop Event
node limit
Counts
253 → 281

prune1.2s (8.9%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New26714281
Fresh000
Picked101
Done000
Total26814282
Error
3.0b
Counts
282 → 14
Alt Table
StatusErrorProgram
40.8b
(-.f64 (*.f64 lambda2 (*.f64 R (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))) (*.f64 R (*.f64 lambda1 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))))
8.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))
26.7b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (+.f64 (cos.f64 (*.f64 1/2 phi2)) (-.f64 (*.f64 1/48 (*.f64 (pow.f64 phi1 3) (sin.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)))
3.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3)) (-.f64 phi1 phi2)))
55.5b
(-.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))))))
34.5b
(pow.f64 (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))) 2)
31.3b
(*.f64 R (hypot.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)))) (-.f64 phi1 phi2)))
29.3b
(-.f64 (*.f64 R phi2) (*.f64 phi1 R))
8.5b
(*.f64 R (exp.f64 (log.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))))
17.1b
(*.f64 R (hypot.f64 (neg.f64 (*.f64 lambda2 (cos.f64 (*.f64 1/2 (+.f64 phi2 phi1))))) (-.f64 phi1 phi2)))
61.2b
(log.f64 (+.f64 1 (expm1.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2))))))
51.0b
(pow.f64 (pow.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2))) 3) 1/3)
7.4b
(*.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 lambda1 lambda2) (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))))) (-.f64 phi1 phi2)))
Compiler

Compiled 60020 to 41213 computations (31.3% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))))
0.2b
(expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))))
0.4b
(log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
3.0b
(cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))

series429.0ms (3.1%)

Counts
4 → 120
Calls

4 calls:

397.0ms
(log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
23.0ms
(*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))))
5.0ms
(expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))))
4.0ms
(cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))

rewrite56.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
970×prod-diff_binary64
131×add-sqr-sqrt_binary64
128×expm1-log1p-u_binary64
127×log1p-expm1-u_binary64
124×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01344
125944
2341744
Stop Event
node limit
Counts
4 → 79
Calls

4 calls:

53.0ms
(*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))))
53.0ms
(expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))))
53.0ms
(log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
53.0ms
(cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))

simplify56.0ms (0.4%)

Algorithm
egg-herbie
Rules
936×times-frac_binary64
620×cancel-sign-sub-inv_binary64
249×fma-neg_binary64
217×sub-neg_binary64
189×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01822689
16102669
223242609
Stop Event
node limit
Counts
199 → 116

prune226.0ms (1.6%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1133116
Fresh31013
Picked101
Done000
Total11713130
Error
2.9b
Counts
130 → 13
Alt Table
StatusErrorProgram
8.5b
(*.f64 R (exp.f64 (log.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))))
3.5b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))) (-.f64 phi1 phi2)))
40.8b
(-.f64 (*.f64 lambda2 (*.f64 R (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))) (*.f64 R (*.f64 lambda1 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))))
8.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log.f64 (+.f64 (cos.f64 (*.f64 1/2 phi1)) 1)))) (-.f64 phi1 phi2)))
26.7b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (+.f64 (cos.f64 (*.f64 1/2 phi2)) (-.f64 (*.f64 1/48 (*.f64 (pow.f64 phi1 3) (sin.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)))
3.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3)) (-.f64 phi1 phi2)))
31.3b
(*.f64 R (hypot.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)))) (-.f64 phi1 phi2)))
29.3b
(-.f64 (*.f64 R phi2) (*.f64 phi1 R))
17.1b
(*.f64 R (hypot.f64 (neg.f64 (*.f64 lambda2 (cos.f64 (*.f64 1/2 (+.f64 phi2 phi1))))) (-.f64 phi1 phi2)))
12.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (-.f64 (log1p.f64 (cos.f64 (*.f64 1/2 phi2))) (fma.f64 1/2 (/.f64 phi1 (/.f64 (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1) (sin.f64 (*.f64 1/2 phi2)))) (*.f64 1/8 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 phi2)) 2) (/.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1) 2) (*.f64 phi1 phi1))) (/.f64 (*.f64 (cos.f64 (*.f64 1/2 phi2)) (*.f64 phi1 phi1)) (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1)))))))) (-.f64 phi1 phi2)))
55.5b
(-.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))))))
51.0b
(pow.f64 (pow.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2))) 3) 1/3)
7.4b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))
Compiler

Compiled 4556 to 2863 computations (37.2% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)))))
0.3b
(expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))
0.4b
(pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)
3.0b
(cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))

series39.0ms (0.3%)

Counts
3 → 96
Calls

3 calls:

22.0ms
(*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)))))
12.0ms
(pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)
4.0ms
(expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))

rewrite57.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
373×fma-def_binary64
265×expm1-udef_binary64
265×log1p-udef_binary64
192×fma-neg_binary64
148×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01636
132236
2383136
Stop Event
node limit
Counts
3 → 73
Calls

3 calls:

55.0ms
(*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)))))
55.0ms
(expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))
55.0ms
(pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)

simplify49.0ms (0.4%)

Algorithm
egg-herbie
Rules
731×cancel-sign-sub-inv_binary64
330×associate--l+_binary64
321×associate--r+_binary64
317×fma-neg_binary64
281×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01492066
14982057
218091917
Stop Event
node limit
Counts
169 → 128

prune307.0ms (2.2%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1632165
Fresh11112
Picked011
Done000
Total16414178
Error
2.9b
Counts
178 → 14
Alt Table
StatusErrorProgram
8.5b
(*.f64 R (exp.f64 (log.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))))
3.5b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))) (-.f64 phi1 phi2)))
40.8b
(-.f64 (*.f64 lambda2 (*.f64 R (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))) (*.f64 R (*.f64 lambda1 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))))
26.7b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (+.f64 (+.f64 (cos.f64 (*.f64 1/2 phi2)) (*.f64 (sin.f64 (*.f64 1/2 phi2)) (-.f64 (*.f64 (pow.f64 phi1 3) 1/48) (*.f64 1/2 phi1)))) (*.f64 (cos.f64 (*.f64 1/2 phi2)) (*.f64 (*.f64 phi1 phi1) -1/8)))) (-.f64 phi1 phi2)))
8.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log.f64 (+.f64 (cos.f64 (*.f64 1/2 phi1)) 1)))) (-.f64 phi1 phi2)))
17.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 1/2 phi2)) (-.f64 (cos.f64 (*.f64 1/2 phi2)) (*.f64 phi1 (sin.f64 (*.f64 1/2 phi2))))))))) (-.f64 phi1 phi2)))
3.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3)) (-.f64 phi1 phi2)))
31.3b
(*.f64 R (hypot.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)))) (-.f64 phi1 phi2)))
29.3b
(-.f64 (*.f64 R phi2) (*.f64 phi1 R))
17.1b
(*.f64 R (hypot.f64 (neg.f64 (*.f64 lambda2 (cos.f64 (*.f64 1/2 (+.f64 phi2 phi1))))) (-.f64 phi1 phi2)))
12.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (-.f64 (log1p.f64 (cos.f64 (*.f64 1/2 phi2))) (fma.f64 1/2 (/.f64 phi1 (/.f64 (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1) (sin.f64 (*.f64 1/2 phi2)))) (*.f64 1/8 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 phi2)) 2) (/.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1) 2) (*.f64 phi1 phi1))) (/.f64 (*.f64 (cos.f64 (*.f64 1/2 phi2)) (*.f64 phi1 phi1)) (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1)))))))) (-.f64 phi1 phi2)))
55.5b
(-.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))))))
51.0b
(pow.f64 (pow.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2))) 3) 1/3)
7.4b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))
Compiler

Compiled 5682 to 3452 computations (39.2% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 lambda1 lambda2) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3))
0.5b
(cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
0.5b
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3)
3.0b
(cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))

series747.0ms (5.4%)

Counts
3 → 96
Calls

3 calls:

376.0ms
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3)
347.0ms
(cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
24.0ms
(*.f64 (-.f64 lambda1 lambda2) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3))

rewrite58.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
935×prod-diff_binary64
141×add-sqr-sqrt_binary64
138×log1p-expm1-u_binary64
138×expm1-log1p-u_binary64
136×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
129935
2369635
Stop Event
node limit
Counts
3 → 65
Calls

3 calls:

57.0ms
(*.f64 (-.f64 lambda1 lambda2) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3))
57.0ms
(cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
57.0ms
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3)

simplify52.0ms (0.4%)

Algorithm
egg-herbie
Rules
777×cancel-sign-sub-inv_binary64
260×distribute-rgt-neg-in_binary64
255×fma-neg_binary64
249×associate-*r*_binary64
239×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01912252
16312236
223282094
Stop Event
node limit
Counts
161 → 122

prune266.0ms (1.9%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New1581159
Fresh11112
Picked011
Done011
Total15914173
Error
2.9b
Counts
173 → 14
Alt Table
StatusErrorProgram
8.5b
(*.f64 R (exp.f64 (log.f64 (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))))
3.5b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))) (-.f64 phi1 phi2)))
40.8b
(-.f64 (*.f64 lambda2 (*.f64 R (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))) (*.f64 R (*.f64 lambda1 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))))))
26.7b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (+.f64 (+.f64 (cos.f64 (*.f64 1/2 phi2)) (*.f64 (sin.f64 (*.f64 1/2 phi2)) (-.f64 (*.f64 (pow.f64 phi1 3) 1/48) (*.f64 1/2 phi1)))) (*.f64 (cos.f64 (*.f64 1/2 phi2)) (*.f64 (*.f64 phi1 phi1) -1/8)))) (-.f64 phi1 phi2)))
8.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log.f64 (+.f64 (cos.f64 (*.f64 1/2 phi1)) 1)))) (-.f64 phi1 phi2)))
7.5b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 phi2))) 3)) (-.f64 phi1 phi2)))
17.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 1/2 phi2)) (-.f64 (cos.f64 (*.f64 1/2 phi2)) (*.f64 phi1 (sin.f64 (*.f64 1/2 phi2))))))))) (-.f64 phi1 phi2)))
3.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3)) (-.f64 phi1 phi2)))
31.3b
(*.f64 R (hypot.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)))) (-.f64 phi1 phi2)))
29.3b
(-.f64 (*.f64 R phi2) (*.f64 phi1 R))
17.1b
(*.f64 R (hypot.f64 (neg.f64 (*.f64 lambda2 (cos.f64 (*.f64 1/2 (+.f64 phi2 phi1))))) (-.f64 phi1 phi2)))
12.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (-.f64 (log1p.f64 (cos.f64 (*.f64 1/2 phi2))) (fma.f64 1/2 (/.f64 phi1 (/.f64 (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1) (sin.f64 (*.f64 1/2 phi2)))) (*.f64 1/8 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 phi2)) 2) (/.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1) 2) (*.f64 phi1 phi1))) (/.f64 (*.f64 (cos.f64 (*.f64 1/2 phi2)) (*.f64 phi1 phi1)) (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1)))))))) (-.f64 phi1 phi2)))
55.5b
(-.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))))))
51.0b
(pow.f64 (pow.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2))) 3) 1/3)
Compiler

Compiled 5295 to 3253 computations (38.6% saved)

regimes1.4s (10.4%)

Accuracy

Total 0.3b remaining (7.7%)

Threshold costs 0.3b (7.7%)

Counts
139 → 1
Compiler

Compiled 32598 to 23483 computations (28% saved)

simplify2.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
01626
12426
23226
33626
43826
Stop Event
saturated

end269.0ms (1.9%)

Remove

(sort phi1 phi2)

(sort lambda1 lambda2)

Compiler

Compiled 535 to 379 computations (29.2% saved)

Profiling

Loading profile data...