Details

Time bar (total: 9.7s)

analyze956.0ms (9.8%)

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)

sample123.0ms (1.3%)

Algorithm
intervals
Results
42.0ms194×body128valid
39.0ms28×body1024valid
17.0ms23×body512valid
5.0ms11×body256valid
Compiler

Compiled 71 to 63 computations (11.3% saved)

simplify64.0ms (0.7%)

Algorithm
egg-herbie
Rules
575×associate-*l*_binary64
512×unswap-sqr_binary64
437×associate-*r*_binary64
407×distribute-rgt-out_binary64
369×associate-/r/_binary64
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02442
15639
210739
342939
4203739
5485039
6480939
7552339

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
1.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
1.5b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))
Compiler

Compiled 87 to 75 computations (13.8% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (sin.f64 kx) 2)
0.3b
(pow.f64 (sin.f64 ky) 2)
4.2b
(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
9.7b
(sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))

rewrite147.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
0.8b
Rules
20×add-sqr-sqrt_binary64
18×add-exp-log_binary64
17×*-un-lft-identity_binary64
16×unpow-prod-down_binary64
13×add-cube-cbrt_binary64
Counts
4 → 90
Calls

4 calls:

12.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
4.0ms
(pow.f64 (sin.f64 kx) 2)
3.0ms
(sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
2.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 3007 to 2262 computations (24.8% saved)

series327.0ms (3.4%)

Error
0.2b
Counts
4 → 43
Calls

4 calls:

196.0ms
(sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
88.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
6.0ms
(pow.f64 (sin.f64 ky) 2)
6.0ms
(pow.f64 (sin.f64 kx) 2)
Compiler

Compiled 4274 to 3531 computations (17.4% saved)

simplify96.0ms (1%)

Algorithm
egg-herbie
Rules
408×distribute-rgt-in_binary64
394×distribute-lft-in_binary64
354×times-frac_binary64
312×unswap-sqr_binary64
176×associate-*r*_binary64
Counts
133 → 102
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02603936
16593683
220853456
350983456

prune98.0ms (1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New1002102
Fresh000
Picked101
Done000
Total1012103
Error
0b
Counts
103 → 2
Alt Table
StatusErrorProgram
0.8b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 l) Om) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om))))))))
25.4b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (+.f64 (*.f64 l (sqrt.f64 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))) (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))) l))))))
Compiler

Compiled 2482 to 1814 computations (26.9% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (sin.f64 ky) 2)
1.3b
(*.f64 (/.f64 (*.f64 2 l) Om) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om)))
2.0b
(*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om))
9.7b
(sqrt.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 l) Om) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om)))))

rewrite184.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
68×add-exp-log_binary64
67×add-cbrt-cube_binary64
32×cbrt-unprod_binary64
32×prod-exp_binary64
16×cbrt-undiv_binary64
Counts
4 → 119
Calls

4 calls:

19.0ms
(*.f64 (/.f64 (*.f64 2 l) Om) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om)))
12.0ms
(*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om))
3.0ms
(sqrt.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 l) Om) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om)))))
2.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 5032 to 3494 computations (30.6% saved)

series412.0ms (4.2%)

Error
0b
Counts
4 → 54
Calls

4 calls:

191.0ms
(sqrt.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 l) Om) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om)))))
94.0ms
(*.f64 (/.f64 (*.f64 2 l) Om) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om)))
84.0ms
(*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om))
7.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 5186 to 4238 computations (18.3% saved)

simplify176.0ms (1.8%)

Algorithm
egg-herbie
Rules
373×associate-/r/_binary64
359×associate-*r*_binary64
296×associate-*l*_binary64
220×*-commutative_binary64
211×associate-/l/_binary64
Counts
173 → 144
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03185929
18325382
231105159
349815159
450225159

prune113.0ms (1.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1431144
Fresh101
Picked011
Done000
Total1442146
Error
0b
Counts
146 → 2
Alt Table
StatusErrorProgram
25.4b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) Om) (*.f64 1/2 (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))))))
0.8b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 l) Om) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om))))))))
Compiler

Compiled 3245 to 2223 computations (31.5% saved)

localize26.0ms (0.3%)

Local error

Found 4 expressions with local error:

1.1b
(*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
1.1b
(*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
28.5b
(sqrt.f64 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
28.8b
(sqrt.f64 (/.f64 1/4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))

rewrite190.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
19×pow1_binary64
18×*-un-lft-identity_binary64
15×add-sqr-sqrt_binary64
14×associate-*r/_binary64
10×associate-*r*_binary64
Counts
4 → 83
Calls

4 calls:

13.0ms
(sqrt.f64 (/.f64 1/4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
10.0ms
(sqrt.f64 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
10.0ms
(*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
9.0ms
(*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
Compiler

Compiled 4051 to 2749 computations (32.1% saved)

series275.0ms (2.8%)

Error
0b
Counts
4 → 44
Calls

4 calls:

90.0ms
(sqrt.f64 (/.f64 1/4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
58.0ms
(sqrt.f64 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
48.0ms
(*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
46.0ms
(*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
Compiler

Compiled 4860 to 3608 computations (25.8% saved)

simplify108.0ms (1.1%)

Algorithm
egg-herbie
Rules
480×associate-/r/_binary64
322×times-frac_binary64
307×distribute-rgt-in_binary64
300×distribute-lft-in_binary64
293×*-commutative_binary64
Counts
127 → 94
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01562844
13612639
211482615
332622609
451732609

prune102.0ms (1%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New94094
Fresh000
Picked011
Done011
Total94296
Error
0b
Counts
96 → 2
Alt Table
StatusErrorProgram
25.4b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) Om) (*.f64 1/2 (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))))))
0.8b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 l) Om) (*.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) (/.f64 (*.f64 2 l) Om))))))))
Compiler

Compiled 3612 to 2450 computations (32.2% saved)

regimes2.8s (28.6%)

Accuracy

Total 0.6b remaining (95.7%)

Threshold costs 0.6b (95.7%)

Compiler

Compiled 73211 to 59541 computations (18.7% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02245
13045
22945

end8.0ms (0.1%)

Remove

(sort kx ky)

Compiler

Compiled 99 to 81 computations (18.2% saved)

sample3.5s (35.9%)

Algorithm
intervals
Results
1.5s6317×body128valid
904.0ms744×body1024valid
468.0ms594×body512valid
182.0ms345×body256valid
Compiler

Compiled 152 to 124 computations (18.4% saved)

Profiling

Loading profile data...