Details

Time bar (total: 10.4s)

analyze752.0ms (7.2%)

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)

sample93.0ms (0.9%)

Algorithm
intervals
Results
41.0ms207×body128valid
18.0ms22×body1024valid
11.0ms18×body512valid
3.0msbody256valid
Compiler

Compiled 71 to 63 computations (11.3% saved)

simplify65.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

prune6.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)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(/.f64 (*.f64 2 l) Om)
0.2b
(pow.f64 (sin.f64 kx) 2)
2.2b
(*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
7.1b
(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)))))

rewrite358.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
0.6b
Rules
22×add-exp-log_binary64
20×add-sqr-sqrt_binary64
17×*-un-lft-identity_binary64
13×add-cube-cbrt_binary64 unpow-prod-down_binary64
12×associate-*l*_binary64
Counts
4 → 93
Calls

4 calls:

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

Compiled 3128 to 2338 computations (25.3% saved)

series417.0ms (4%)

Error
0.0b
Counts
4 → 43
Calls

4 calls:

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

Compiled 3921 to 3264 computations (16.8% saved)

simplify112.0ms (1.1%)

Algorithm
egg-herbie
Rules
689×times-frac_binary64
350×distribute-rgt-in_binary64
325×unswap-sqr_binary64
195×associate-*l*_binary64
188×associate-*r*_binary64
Counts
136 → 104
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02493568
16213350
221453234
350493234

prune125.0ms (1.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1022104
Fresh000
Picked011
Done000
Total1023105
Error
0.0b
Counts
105 → 3
Alt Table
StatusErrorProgram
27.8b
(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))))))
5.3b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (+.f64 1 (*.f64 2 (*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))))))
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 2415 to 1705 computations (29.4% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

4.0b
(/.f64 (pow.f64 (sin.f64 kx) 2) Om)
4.5b
(*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om)))
5.0b
(/.f64 (pow.f64 (sin.f64 ky) 2) Om)
7.0b
(/.f64 (*.f64 l l) Om)

rewrite365.0ms (3.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
67×times-frac_binary64
61×*-un-lft-identity_binary64
51×add-sqr-sqrt_binary64
47×add-cube-cbrt_binary64
30×unpow-prod-down_binary64
Counts
4 → 163
Calls

4 calls:

50.0ms
(*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om)))
5.0ms
(/.f64 (pow.f64 (sin.f64 ky) 2) Om)
5.0ms
(/.f64 (pow.f64 (sin.f64 kx) 2) Om)
5.0ms
(/.f64 (*.f64 l l) Om)
Compiler

Compiled 5891 to 3454 computations (41.4% saved)

series237.0ms (2.3%)

Error
0.0b
Counts
4 → 32
Calls

4 calls:

133.0ms
(*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om)))
28.0ms
(/.f64 (pow.f64 (sin.f64 kx) 2) Om)
26.0ms
(/.f64 (pow.f64 (sin.f64 ky) 2) Om)
25.0ms
(/.f64 (*.f64 l l) Om)
Compiler

Compiled 2340 to 1870 computations (20.1% saved)

simplify164.0ms (1.6%)

Algorithm
egg-herbie
Rules
505×associate-/l/_binary64
369×associate-/r/_binary64
338×distribute-rgt-in_binary64
320×distribute-lft-in_binary64
206×associate-*l/_binary64
Counts
195 → 127
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02814132
16543504
221543414
348483414
449983414

prune134.0ms (1.3%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1261127
Fresh101
Picked101
Done011
Total1282130
Error
0.0b
Counts
130 → 2
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))))))))
4.5b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (+.f64 1 (*.f64 2 (*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (*.f64 (sin.f64 kx) (/.f64 (sin.f64 kx) Om)))))))))
Compiler

Compiled 2607 to 1523 computations (41.6% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.7b
(/.f64 1/2 (+.f64 1 (*.f64 2 (*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (*.f64 (sin.f64 kx) (/.f64 (sin.f64 kx) Om)))))))
4.5b
(*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (*.f64 (sin.f64 kx) (/.f64 (sin.f64 kx) Om))))
5.0b
(/.f64 (pow.f64 (sin.f64 ky) 2) Om)
7.0b
(/.f64 (*.f64 l l) Om)

rewrite244.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
40×times-frac_binary64
38×add-sqr-sqrt_binary64
34×add-cube-cbrt_binary64 *-un-lft-identity_binary64
25×add-exp-log_binary64
22×add-cbrt-cube_binary64
Counts
4 → 135
Calls

4 calls:

17.0ms
(*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (*.f64 (sin.f64 kx) (/.f64 (sin.f64 kx) Om))))
5.0ms
(/.f64 (pow.f64 (sin.f64 ky) 2) Om)
5.0ms
(/.f64 1/2 (+.f64 1 (*.f64 2 (*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (*.f64 (sin.f64 kx) (/.f64 (sin.f64 kx) Om)))))))
5.0ms
(/.f64 (*.f64 l l) Om)
Compiler

Compiled 5584 to 2664 computations (52.3% saved)

series408.0ms (3.9%)

Error
0.0b
Counts
4 → 38
Calls

4 calls:

198.0ms
(/.f64 1/2 (+.f64 1 (*.f64 2 (*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (*.f64 (sin.f64 kx) (/.f64 (sin.f64 kx) Om)))))))
132.0ms
(*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (*.f64 (sin.f64 kx) (/.f64 (sin.f64 kx) Om))))
25.0ms
(/.f64 (pow.f64 (sin.f64 ky) 2) Om)
24.0ms
(/.f64 (*.f64 l l) Om)
Compiler

Compiled 3042 to 2429 computations (20.2% saved)

simplify145.0ms (1.4%)

Algorithm
egg-herbie
Rules
622×distribute-rgt-in_binary64
592×distribute-lft-in_binary64
216×associate-*l*_binary64
207×associate-*l/_binary64
205×associate-*r*_binary64
Counts
173 → 129
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02965277
17364571
225304553
354814553

prune135.0ms (1.3%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1290129
Fresh000
Picked011
Done011
Total1292131
Error
0.0b
Counts
131 → 2
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))))))))
4.5b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (+.f64 1 (*.f64 2 (*.f64 (/.f64 (*.f64 l l) Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (*.f64 (sin.f64 kx) (/.f64 (sin.f64 kx) Om)))))))))
Compiler

Compiled 3498 to 1964 computations (43.9% saved)

regimes3.8s (36.8%)

Accuracy

Total 0.3b remaining (39.8%)

Threshold costs 0.3b (39.8%)

Compiler

Compiled 77707 to 61368 computations (21% 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)

sample2.8s (26.4%)

Algorithm
intervals
Results
1.2s6410×body128valid
613.0ms746×body1024valid
371.0ms581×body512valid
110.0ms263×body256valid
Compiler

Compiled 133 to 110 computations (17.3% saved)

Profiling

Loading profile data...