Details

Time bar (total: 10.5s)

analyze728.0ms (6.9%)

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)

sample100.0ms (1%)

Algorithm
intervals
Results
32.0ms189×body128valid
27.0ms33×body1024valid
11.0ms19×body512valid
10.0ms15×body256valid
Compiler

Compiled 71 to 63 computations (11.3% saved)

simplify63.0ms (0.6%)

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

prune5.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
1.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
1.0b
(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)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (sin.f64 ky) 2)
0.3b
(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
1.4b
(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
8.5b
(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)))))

rewrite224.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
0.9b
Rules
23×add-exp-log_binary64
21×add-sqr-sqrt_binary64
20×unpow-prod-down_binary64
18×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
Counts
4 → 96
Calls

4 calls:

16.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
9.0ms
(pow.f64 (/.f64 (*.f64 2 l) Om) 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)))))
3.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 3217 to 2424 computations (24.7% saved)

series423.0ms (4%)

Error
0.2b
Counts
4 → 43
Calls

4 calls:

224.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)))))
123.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
26.0ms
(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
11.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 3947 to 3290 computations (16.6% saved)

simplify141.0ms (1.3%)

Algorithm
egg-herbie
Rules
347×distribute-rgt-in_binary64
338×distribute-lft-in_binary64
335×times-frac_binary64
332×unswap-sqr_binary64
194×exp-prod_binary64
Counts
139 → 114
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02373754
15793444
218073269
346673269
450983269

prune131.0ms (1.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1122114
Fresh000
Picked011
Done000
Total1123115
Error
0b
Counts
115 → 3
Alt Table
StatusErrorProgram
1.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2)))))) (sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2))))))))))
24.2b
(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))))))
1.0b
(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 2447 to 1763 computations (28% saved)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

7.2b
(sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2))))))
7.2b
(sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2))))))
8.5b
(sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2)))))
8.5b
(sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2)))))

rewrite207.0ms (2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
26×sqrt-prod_binary64
16×add-sqr-sqrt_binary64
12×sqrt-div_binary64
10×pow1_binary64 add-cube-cbrt_binary64 sqrt-pow1_binary64 *-un-lft-identity_binary64
pow1/2_binary64 rem-sqrt-square_binary64
Counts
4 → 72
Calls

4 calls:

7.0ms
(sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2))))))
5.0ms
(sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2))))))
3.0ms
(sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2)))))
3.0ms
(sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2)))))
Compiler

Compiled 4312 to 3055 computations (29.2% saved)

series1.5s (14.3%)

Error
0b
Counts
4 → 86
Calls

4 calls:

400.0ms
(sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2))))))
398.0ms
(sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2))))))
279.0ms
(sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2)))))
276.0ms
(sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2)))))
Compiler

Compiled 16010 to 12646 computations (21% saved)

simplify169.0ms (1.6%)

Algorithm
egg-herbie
Rules
432×times-frac_binary64
342×associate-/l*_binary64
321×associate-/r*_binary64
262×distribute-rgt-in_binary64
258×distribute-lft-in_binary64
Counts
158 → 128
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01937760
14797328
214636608
349706608

prune245.0ms (2.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1280128
Fresh011
Picked011
Done011
Total1283131
Error
0b
Counts
131 → 3
Alt Table
StatusErrorProgram
1.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2)))))) (sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2))))))))))
24.2b
(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))))))
1.0b
(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 6585 to 4614 computations (29.9% saved)

localize29.0ms (0.3%)

Local error

Found 4 expressions with local error:

5.4b
(/.f64 (pow.f64 (sin.f64 kx) 2) Om)
5.4b
(/.f64 (pow.f64 (sin.f64 kx) 2) Om)
30.4b
(sqrt.f64 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))
30.9b
(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)))))

rewrite435.0ms (4.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
51×times-frac_binary64
41×add-sqr-sqrt_binary64
40×add-cube-cbrt_binary64 *-un-lft-identity_binary64
24×unpow-prod-down_binary64
16×associate-/l*_binary64
Counts
4 → 144
Calls

4 calls:

45.0ms
(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)))))
45.0ms
(sqrt.f64 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))
6.0ms
(/.f64 (pow.f64 (sin.f64 kx) 2) Om)
6.0ms
(/.f64 (pow.f64 (sin.f64 kx) 2) Om)
Compiler

Compiled 8249 to 5463 computations (33.8% saved)

series386.0ms (3.7%)

Error
0b
Counts
4 → 38
Calls

4 calls:

147.0ms
(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)))))
128.0ms
(sqrt.f64 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))
34.0ms
(/.f64 (pow.f64 (sin.f64 kx) 2) Om)
33.0ms
(/.f64 (pow.f64 (sin.f64 kx) 2) Om)
Compiler

Compiled 4899 to 3539 computations (27.8% saved)

simplify130.0ms (1.2%)

Algorithm
egg-herbie
Rules
818×associate-/l*_binary64
633×associate-/r*_binary64
311×associate-/r/_binary64
180×associate-/l/_binary64
151×cancel-sign-sub-inv_binary64
Counts
182 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02814382
16183981
218303899
349873899

prune175.0ms (1.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1130113
Fresh000
Picked011
Done022
Total1133116
Error
0b
Counts
116 → 3
Alt Table
StatusErrorProgram
1.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2)))))) (sqrt.f64 (sqrt.f64 (+.f64 1 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)) (*.f64 4 (pow.f64 (/.f64 l Om) 2))))))))))
24.2b
(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))))))
1.0b
(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 5106 to 3344 computations (34.5% saved)

regimes2.6s (24.4%)

Accuracy

Total 0.5b remaining (73.5%)

Threshold costs 0.5b (73.5%)

Compiler

Compiled 53788 to 43739 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
02365
13065
22965

end9.0ms (0.1%)

Remove

(sort kx ky)

Compiler

Compiled 135 to 105 computations (22.2% saved)

sample2.8s (26.6%)

Algorithm
intervals
Results
1.1s6345×body128valid
672.0ms806×body1024valid
310.0ms520×body512valid
128.0ms329×body256valid
Compiler

Compiled 218 to 175 computations (19.7% saved)

Profiling

Loading profile data...