Details

Time bar (total: 19.6s)

analyze832.0ms (4.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
49.9%49.9%0.2%3
49.9%49.9%0.2%4
49.9%49.9%0.2%5
49.9%49.9%0.2%6
74.9%25%0.2%7
74.9%25%0.2%8
74.9%25%0.2%9
74.9%25%0.2%10
87.3%12.5%0.2%11
87.3%12.5%0.2%12
87.3%12.5%0.2%13
87.3%12.5%0.2%14
Compiler

Compiled 34 to 30 computations (11.8% saved)

sample4.1s (21%)

Symmetry

(sort kx ky)

Results
2.2s6587×body128valid
1.1s801×body1024valid
517.0ms541×body512valid
205.0ms327×body256valid
Compiler

Compiled 101 to 89 computations (11.9% saved)

simplify54.0ms (0.3%)

Algorithm
egg-herbie
Rules
665×fma-def_binary64
575×associate-*l*_binary64
512×unswap-sqr_binary64
437×associate-*r*_binary64
369×associate-/r/_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02442
15637
211337
346537
4214937
5498237
6484737
7496437

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
1.8b
Counts
3 → 1
Alt Table
StatusErrorProgram
1.8b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)))))
Compiler

Compiled 113 to 95 computations (15.9% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (sin.f64 ky) 2)
0.2b
(pow.f64 (sin.f64 kx) 2)
2.3b
(fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)
10.3b
(sqrt.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))

series359.0ms (1.8%)

Counts
4 → 104
Calls

4 calls:

250.0ms
(sqrt.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))
102.0ms
(fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)
3.0ms
(pow.f64 (sin.f64 kx) 2)
3.0ms
(pow.f64 (sin.f64 ky) 2)

rewrite72.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
91×egg-rr
Counts
4 → 91
Calls

2 calls:

69.0ms
((sqrt.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)) (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1) (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01768
135162
2401362
3513462
000
100

simplify197.0ms (1%)

Algorithm
egg-herbie
Rules
527×cancel-sign-sub-inv_binary64
321×fma-neg_binary64
256×unswap-sqr_binary64
211×fma-def_binary64
193×associate-*r*_binary64
Counts
195 → 178
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02746568
18506001
232685991
349115991
449825991
549705991

prune280.0ms (1.4%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1744178
Fresh000
Picked101
Done000
Total1754179
Error
0.6b
Counts
179 → 4
Alt Table
StatusErrorProgram
29.3b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 1/2 (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (/.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 l l) 4) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) Om)))))
32.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 l (sqrt.f64 (*.f64 4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1/4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) l))))))
24.6b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 1)))
1.8b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (pow.f64 (pow.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1) 1/4) 2))))
Compiler

Compiled 8426 to 5922 computations (29.7% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
0.4b
(pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2)
2.3b
(fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1)
17.4b
(pow.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1) 1/4)

series5.4s (27.6%)

Counts
4 → 144
Calls

4 calls:

5.2s
(pow.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1) 1/4)
160.0ms
(fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1)
44.0ms
(pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2)
11.0ms
(pow.f64 (/.f64 (*.f64 2 l) Om) 2)

rewrite74.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
121×egg-rr
Counts
4 → 121
Calls

2 calls:

71.0ms
((pow.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1) 1/4) (fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) (pow.f64 (/.f64 (*.f64 2 l) Om) 2))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01772
134870
2375170
3489270
000
100

simplify215.0ms (1.1%)

Algorithm
egg-herbie
Rules
457×cancel-sign-sub-inv_binary64
377×unswap-sqr_binary64
191×fma-def_binary64
188×associate-*r*_binary64
177×fma-neg_binary64
Counts
265 → 208
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02758017
18847476
234297468
349997468
449817468

prune296.0ms (1.5%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New2071208
Fresh303
Picked101
Done000
Total2111212
Error
0.0b
Counts
212 → 1
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 1 (pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)))) 2))))
Compiler

Compiled 10590 to 7450 computations (29.7% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)
1.0b
(*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
6.9b
(sqrt.f64 (sqrt.f64 (+.f64 1 (pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2))))
10.3b
(sqrt.f64 (+.f64 1 (pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)))

series5.3s (27.2%)

Counts
4 → 192
Calls

4 calls:

4.6s
(sqrt.f64 (sqrt.f64 (+.f64 1 (pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2))))
370.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)))
202.0ms
(pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)
138.0ms
(*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))

rewrite76.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
110×egg-rr
Counts
4 → 110
Calls

2 calls:

74.0ms
((sqrt.f64 (+.f64 1 (pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2))) (sqrt.f64 (sqrt.f64 (+.f64 1 (pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)))) (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01789
135179
2408179
3525879
000
100

simplify160.0ms (0.8%)

Algorithm
egg-herbie
Rules
349×fma-def_binary64
325×associate-*r*_binary64
266×times-frac_binary64
264×associate-/r*_binary64
263×associate-/l*_binary64
Counts
302 → 243
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045612687
1151911943
2519111943

prune340.0ms (1.7%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New2430243
Fresh000
Picked011
Done000
Total2431244
Error
0.0b
Counts
244 → 1
Alt Table
StatusErrorProgram
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 1 (pow.f64 (*.f64 (/.f64 (*.f64 2 l) Om) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)))) 2))))
Compiler

Compiled 14521 to 10066 computations (30.7% saved)

regimes1.7s (8.5%)

Accuracy

Total -0.0b remaining (-1.4%)

Threshold costs -0.0b (-1.4%)

Counts
69 → 1
Compiler

Compiled 41591 to 35058 computations (15.7% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02135
12635
22535

end67.0ms (0.3%)

Remove

(sort kx ky)

Compiler

Compiled 132 to 112 computations (15.2% saved)

Profiling

Loading profile data...