Details

Time bar (total: 9.0s)

analyze982.0ms (10.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)

sample115.0ms (1.3%)

Algorithm
intervals
Results
54.0ms208×body128valid
23.0ms20×body1024valid
12.0ms15×body512valid
6.0ms13×body256valid
Compiler

Compiled 71 to 63 computations (11.3% saved)

simplify60.0ms (0.7%)

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 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02442
15637
211337
346537
4214937
5498237
6484737
7496437

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
1.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
1.3b
(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 84 to 72 computations (14.3% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite198.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
1.3b
Rules
27×add-cube-cbrt_binary64
16×add-sqr-sqrt_binary64
14×pow1_binary64
12×add-exp-log_binary64
12×add-cbrt-cube_binary64
Counts
4 → 151
Calls

4 calls:

15.0ms
(pow.f64 (sin.f64 ky) 2)
14.0ms
(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
12.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))
10.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)
Compiler

Compiled 3786 to 2836 computations (25.1% saved)

series315.0ms (3.5%)

Error
0.2b
Counts
4 → 51
Calls

4 calls:

156.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))
103.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)
19.0ms
(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
7.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 4575 to 3796 computations (17% saved)

simplify100.0ms (1.1%)

Algorithm
egg-herbie
Rules
515×fma-def_binary64
385×associate-/l*_binary64
373×times-frac_binary64
231×distribute-rgt-in_binary64
218×distribute-lft-in_binary64
Counts
202 → 98
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02214281
15033900
215243521
350393521

prune69.0ms (0.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New96298
Fresh000
Picked011
Done000
Total96399
Error
0.2b
Counts
99 → 3
Alt Table
StatusErrorProgram
1.3b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (cbrt.f64 (pow.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) 3/2)))))
1.3b
(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)))))
28.9b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.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 1932 to 1380 computations (28.6% saved)

localize23.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
0.3b
(pow.f64 (sin.f64 ky) 2)
2.6b
(fma.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)
13.8b
(cbrt.f64 (pow.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) 3/2))

rewrite207.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0.2b
Rules
28×add-cube-cbrt_binary64
14×add-sqr-sqrt_binary64
12×add-exp-log_binary64
12×pow1_binary64
12×log1p-expm1-u_binary64
Counts
4 → 147
Calls

4 calls:

15.0ms
(pow.f64 (sin.f64 ky) 2)
14.0ms
(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
10.0ms
(cbrt.f64 (pow.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) 3/2))
10.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)
Compiler

Compiled 3947 to 3015 computations (23.6% saved)

series322.0ms (3.6%)

Error
0b
Counts
4 → 51
Calls

4 calls:

154.0ms
(cbrt.f64 (pow.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) 3/2))
107.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)
21.0ms
(pow.f64 (/.f64 (*.f64 2 l) Om) 2)
7.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 4778 to 3983 computations (16.6% saved)

simplify136.0ms (1.5%)

Algorithm
egg-herbie
Rules
509×fma-def_binary64
385×associate-/l*_binary64
373×times-frac_binary64
263×fma-neg_binary64
214×distribute-rgt-in_binary64
Counts
198 → 90
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02284361
15214014
215273701
349883701
451213701

prune63.0ms (0.7%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New90090
Fresh011
Picked011
Done011
Total90393
Error
0.2b
Counts
93 → 3
Alt Table
StatusErrorProgram
1.3b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (cbrt.f64 (pow.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) 3/2)))))
1.3b
(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)))))
28.9b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.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 1840 to 1326 computations (27.9% saved)

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

rewrite275.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0.2b
Rules
43×add-cube-cbrt_binary64
20×add-sqr-sqrt_binary64
20×add-cbrt-cube_binary64
16×pow1_binary64
12×add-exp-log_binary64
Counts
4 → 174
Calls

4 calls:

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

Compiled 7827 to 5214 computations (33.4% saved)

series271.0ms (3%)

Error
0.2b
Counts
4 → 35
Calls

4 calls:

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

Compiled 4326 to 3125 computations (27.8% saved)

simplify121.0ms (1.3%)

Algorithm
egg-herbie
Rules
666×associate-/l*_binary64
576×associate-/r*_binary64
291×associate-*l/_binary64
268×associate-*r/_binary64
263×fma-def_binary64
Counts
209 → 88
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01853434
14063135
212733118
348173118
449813118

prune101.0ms (1.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New88088
Fresh000
Picked011
Done022
Total88391
Error
0.2b
Counts
91 → 3
Alt Table
StatusErrorProgram
1.3b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (cbrt.f64 (pow.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) 3/2)))))
1.3b
(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)))))
28.9b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.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 4075 to 2728 computations (33.1% saved)

regimes1.4s (15.2%)

Accuracy

Total 0.1b remaining (26.9%)

Threshold costs 0.1b (26.9%)

Compiler

Compiled 37614 to 29440 computations (21.7% saved)

bsearch3.0ms (0%)

Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
042129
151129
250129

end11.0ms (0.1%)

Remove

(sort kx ky)

Compiler

Compiled 264 to 198 computations (25% saved)

sample4.2s (46.6%)

Algorithm
intervals
Results
2.1s6362×body128valid
973.0ms787×body1024valid
436.0ms542×body512valid
182.0ms309×body256valid
Compiler

Compiled 237 to 189 computations (20.3% saved)

Profiling

Loading profile data...