Details

Time bar (total: 2.2min)

analyze1.3s (1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
25%74.9%0.1%8
54.6%45.2%0.1%9
56.2%43.7%0.1%10
62.4%37.4%0.1%11
65.9%33.9%0.1%12
66.3%33.5%0.1%13
69%30.8%0.1%14
Compiler

Compiled 17 to 15 computations (11.8% saved)

sample162.0ms (0.1%)

Algorithm
intervals
Results
103.0ms138×body1024valid
29.0ms54×body512valid
7.0ms21×body256valid
5.0ms41×body128valid
3.0msbody2048valid
Compiler

Compiled 36 to 38 computations (-5.6% saved)

simplify179.0ms (0.1%)

Algorithm
egg-herbie
Counts
4 → 4
Iterations

Useful iterations: 0 (80.0ms)

IterNodesCost
0517129

prune3.0ms (0%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New044
Fresh044
Picked000
Done000
Total088
Error
3.5b
Counts
8 → 4
Compiler

Compiled 19 to 17 computations (10.5% saved)

localize14.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (sin.f64 ky) 2)
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.1b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.2b
(pow.f64 (sin.f64 ky) 2)
0.3b
(pow.f64 (sin.f64 kx) 2)
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))

rewrite49.0ms (0%)

Algorithm
rewrite-expression-head
Rules
41×*-un-lft-identity_binary64_78
34×add-sqr-sqrt_binary64_100
30×associate-*l*_binary64_19
26×times-frac_binary64_84
25×add-cube-cbrt_binary64_113
21×sqrt-prod_binary64_94
14×unpow-prod-down_binary64_157
11×add-exp-log_binary64_116
add-cbrt-cube_binary64_114 pow1_binary64_139
distribute-lft-out_binary64_29
pow-unpow_binary64_155
add-log-exp_binary64_117 sqrt-div_binary64_95
associate-*r*_binary64_18 unswap-sqr_binary64_46
pow-exp_binary64_146 pow-to-exp_binary64_147 cbrt-unprod_binary64_111 prod-exp_binary64_127 flip-+_binary64_52 unpow2_binary64_143 sqr-pow_binary64_50 pow-pow_binary64_150 associate-/r/_binary64_24 flip3-+_binary64_81
*-commutative_binary64_9 sqrt-pow1_binary64_96 cbrt-undiv_binary64_112 div-exp_binary64_129 rem-sqrt-square_binary64_91 div-inv_binary64_75 associate-*l/_binary64_21 pow-prod-down_binary64_149 pow1/2_binary64_158
Counts
4 → 103
Calls

8 calls:

20.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
9.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.0ms
(pow.f64 (sin.f64 kx) 2)
3.0ms
(pow.f64 (sin.f64 ky) 2)
0.0ms
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))

series917.0ms (0.7%)

Counts
4 → 39
Calls

4 calls:

675.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
186.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
28.0ms
(pow.f64 (sin.f64 ky) 2)
28.0ms
(pow.f64 (sin.f64 kx) 2)
Compiler

Compiled 1385 to 1117 computations (19.4% saved)

simplify72.0ms (0.1%)

Algorithm
egg-herbie
Counts
142 → 142
Iterations

Useful iterations: 0 (42.0ms)

IterNodesCost
049933140
149933140

prune792.0ms (0.6%)

Pruning

85 alts after pruning (84 fresh and 1 done)

PrunedKeptTotal
New6181142
Fresh033
Picked000
Done011
Total6185146
Error
1.1b
Counts
146 → 85
Compiler

Compiled 4719 to 3092 computations (34.5% saved)

localize17.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (sin.f64 ky) 2)
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.1b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.2b
(pow.f64 (sin.f64 ky) 2)
0.3b
(pow.f64 (sin.f64 kx) 2)
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))

rewrite49.0ms (0%)

Algorithm
rewrite-expression-head
Rules
41×*-un-lft-identity_binary64_78
34×add-sqr-sqrt_binary64_100
30×associate-*l*_binary64_19
26×times-frac_binary64_84
25×add-cube-cbrt_binary64_113
21×sqrt-prod_binary64_94
14×unpow-prod-down_binary64_157
11×add-exp-log_binary64_116
add-cbrt-cube_binary64_114 pow1_binary64_139
distribute-lft-out_binary64_29
pow-unpow_binary64_155
add-log-exp_binary64_117 sqrt-div_binary64_95
associate-*r*_binary64_18 unswap-sqr_binary64_46
pow-exp_binary64_146 pow-to-exp_binary64_147 cbrt-unprod_binary64_111 prod-exp_binary64_127 flip-+_binary64_52 unpow2_binary64_143 sqr-pow_binary64_50 pow-pow_binary64_150 associate-/r/_binary64_24 flip3-+_binary64_81
*-commutative_binary64_9 sqrt-pow1_binary64_96 cbrt-undiv_binary64_112 div-exp_binary64_129 rem-sqrt-square_binary64_91 div-inv_binary64_75 associate-*l/_binary64_21 pow-prod-down_binary64_149 pow1/2_binary64_158
Counts
4 → 103
Calls

8 calls:

23.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.0ms
(pow.f64 (sin.f64 kx) 2)
3.0ms
(pow.f64 (sin.f64 ky) 2)
0.0ms
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))

series904.0ms (0.7%)

Counts
4 → 39
Calls

4 calls:

654.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
188.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
31.0ms
(pow.f64 (sin.f64 kx) 2)
31.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 1605 to 1337 computations (16.7% saved)

simplify79.0ms (0.1%)

Algorithm
egg-herbie
Counts
142 → 142
Iterations

Useful iterations: 0 (43.0ms)

IterNodesCost
049933140
149933140

localize3.0ms (0%)

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Rules
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify7.0ms (0%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
000

localize22.0ms (0%)

Local error

Found 8 expressions with local error:

0.0b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.0b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2))))
0.0b
(*.f64 (pow.f64 kx 6) 2/45)
0.0b
(+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2))
0.2b
(pow.f64 (sin.f64 ky) 2)
6.9b
(sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2)))
17.1b
(-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3))
21.0b
(+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45))

rewrite32.0ms (0%)

Algorithm
rewrite-expression-head
Rules
11×add-log-exp_binary64_117
*-un-lft-identity_binary64_78
add-sqr-sqrt_binary64_100
add-cube-cbrt_binary64_113
pow1_binary64_139
add-exp-log_binary64_116
add-cbrt-cube_binary64_114 sqrt-prod_binary64_94
unpow-prod-down_binary64_157 pow-unpow_binary64_155
flip-+_binary64_52 diff-log_binary64_170 associate-+l+_binary64_11 sqrt-div_binary64_95 cancel-sign-sub-inv_binary64_44 sub-neg_binary64_71 sum-log_binary64_169 flip3-+_binary64_81
+-commutative_binary64_8 associate-+l-_binary64_13 pow-exp_binary64_146 pow-to-exp_binary64_147 sqrt-pow1_binary64_96 rem-sqrt-square_binary64_91 flip3--_binary64_82 unpow2_binary64_143 sqr-pow_binary64_50 pow-pow_binary64_150 flip--_binary64_53 distribute-lft-out_binary64_29 pow1/2_binary64_158
Counts
4 → 61
Calls

8 calls:

11.0ms
(sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2)))
8.0ms
(+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45))
4.0ms
(-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3))
3.0ms
(pow.f64 (sin.f64 ky) 2)
0.0ms
(+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2))

series462.0ms (0.3%)

Counts
4 → 29
Calls

4 calls:

300.0ms
(sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2)))
74.0ms
(-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3))
59.0ms
(+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45))
28.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 1309 to 1122 computations (14.3% saved)

simplify44.0ms (0%)

Algorithm
egg-herbie
Counts
90 → 90
Iterations

Useful iterations: 0 (23.0ms)

IterNodesCost
050112021

localize19.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (sin.f64 ky) 2)
0.1b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2)) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.1b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2)) (pow.f64 (sin.f64 ky) 2))))
0.0b
(+.f64 (pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2)) (pow.f64 (sin.f64 ky) 2))
0.2b
(pow.f64 (sin.f64 ky) 2)
0.9b
(pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2))
1.3b
(pow.f64 (sin.f64 kx) (sqrt.f64 2))
2.4b
(sqrt.f64 (+.f64 (pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2)) (pow.f64 (sin.f64 ky) 2)))

rewrite32.0ms (0%)

Algorithm
rewrite-expression-head
Rules
16×unpow-prod-down_binary64_157 *-un-lft-identity_binary64_78
15×add-sqr-sqrt_binary64_100 pow-unpow_binary64_155
14×add-cube-cbrt_binary64_113
10×sqrt-prod_binary64_94
add-exp-log_binary64_116
pow1_binary64_139
pow-exp_binary64_146
add-cbrt-cube_binary64_114 pow-to-exp_binary64_147 add-log-exp_binary64_117 sqr-pow_binary64_50
pow-pow_binary64_150
sqrt-div_binary64_95
sqrt-pow1_binary64_96 flip-+_binary64_52 rem-sqrt-square_binary64_91 unpow2_binary64_143 distribute-lft-out_binary64_29 pow1/2_binary64_158 flip3-+_binary64_81
Counts
4 → 80
Calls

8 calls:

11.0ms
(sqrt.f64 (+.f64 (pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2)) (pow.f64 (sin.f64 ky) 2)))
4.0ms
(pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2))
3.0ms
(pow.f64 (sin.f64 kx) (sqrt.f64 2))
3.0ms
(pow.f64 (sin.f64 ky) 2)
0.0ms
(+.f64 (pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2)) (pow.f64 (sin.f64 ky) 2))

series1.2s (0.9%)

Counts
4 → 22
Calls

4 calls:

787.0ms
(sqrt.f64 (+.f64 (pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2)) (pow.f64 (sin.f64 ky) 2)))
249.0ms
(pow.f64 (pow.f64 (sin.f64 kx) (sqrt.f64 2)) (sqrt.f64 2))
127.0ms
(pow.f64 (sin.f64 kx) (sqrt.f64 2))
24.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 1932 to 1688 computations (12.6% saved)

simplify98.0ms (0.1%)

Algorithm
egg-herbie
Counts
102 → 102
Iterations

Useful iterations: 0 (76.0ms)

IterNodesCost
049191506
149191506

localize19.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.1b
(sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
0.1b
(sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
0.3b
(pow.f64 (sin.f64 kx) 2)
0.3b
(pow.f64 (sin.f64 kx) 2)
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))

rewrite33.0ms (0%)

Algorithm
rewrite-expression-head
Rules
18×*-un-lft-identity_binary64_78
12×add-sqr-sqrt_binary64_100
10×sqrt-prod_binary64_94 unpow-prod-down_binary64_157 add-cube-cbrt_binary64_113
pow1_binary64_139
add-exp-log_binary64_116 pow-unpow_binary64_155
add-cbrt-cube_binary64_114 add-log-exp_binary64_117 sqrt-div_binary64_95 distribute-lft-out_binary64_29
pow-exp_binary64_146 pow-to-exp_binary64_147 sqrt-pow1_binary64_96 flip-+_binary64_52 rem-sqrt-square_binary64_91 unpow2_binary64_143 sqr-pow_binary64_50 pow-pow_binary64_150 pow1/2_binary64_158 flip3-+_binary64_81
Counts
4 → 70
Calls

8 calls:

9.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.0ms
(pow.f64 (sin.f64 kx) 2)
3.0ms
(pow.f64 (sin.f64 kx) 2)
0.0ms
(sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))

series462.0ms (0.3%)

Counts
4 → 32
Calls

4 calls:

203.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
190.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
36.0ms
(pow.f64 (sin.f64 kx) 2)
33.0ms
(pow.f64 (sin.f64 kx) 2)
Compiler

Compiled 1864 to 1388 computations (25.5% saved)

simplify85.0ms (0.1%)

Algorithm
egg-herbie
Counts
102 → 102
Iterations

Useful iterations: 0 (64.0ms)

IterNodesCost
049451616
149451616

prune8.7s (6.4%)

Pruning

272 alts after pruning (266 fresh and 6 done)

PrunedKeptTotal
New245191436
Fresh47579
Picked000
Done066
Total249272521
Error
0.9b
Counts
521 → 272
Compiler

Compiled 17718 to 12202 computations (31.1% saved)

localize20.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (sin.f64 ky) 2)
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.1b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.2b
(pow.f64 (sin.f64 ky) 2)
0.3b
(pow.f64 (sin.f64 kx) 2)
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))

rewrite48.0ms (0%)

Algorithm
rewrite-expression-head
Rules
41×*-un-lft-identity_binary64_78
34×add-sqr-sqrt_binary64_100
30×associate-*l*_binary64_19
26×times-frac_binary64_84
25×add-cube-cbrt_binary64_113
21×sqrt-prod_binary64_94
14×unpow-prod-down_binary64_157
11×add-exp-log_binary64_116
add-cbrt-cube_binary64_114 pow1_binary64_139
distribute-lft-out_binary64_29
pow-unpow_binary64_155
add-log-exp_binary64_117 sqrt-div_binary64_95
associate-*r*_binary64_18 unswap-sqr_binary64_46
pow-exp_binary64_146 pow-to-exp_binary64_147 cbrt-unprod_binary64_111 prod-exp_binary64_127 flip-+_binary64_52 unpow2_binary64_143 sqr-pow_binary64_50 pow-pow_binary64_150 associate-/r/_binary64_24 flip3-+_binary64_81
*-commutative_binary64_9 sqrt-pow1_binary64_96 cbrt-undiv_binary64_112 div-exp_binary64_129 rem-sqrt-square_binary64_91 div-inv_binary64_75 associate-*l/_binary64_21 pow-prod-down_binary64_149 pow1/2_binary64_158
Counts
4 → 103
Calls

8 calls:

19.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
11.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.0ms
(pow.f64 (sin.f64 kx) 2)
3.0ms
(pow.f64 (sin.f64 ky) 2)
0.0ms
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))

series917.0ms (0.7%)

Counts
4 → 39
Calls

4 calls:

661.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
194.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
33.0ms
(pow.f64 (sin.f64 kx) 2)
28.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 1825 to 1557 computations (14.7% saved)

simplify75.0ms (0.1%)

Algorithm
egg-herbie
Counts
142 → 142
Iterations

Useful iterations: 0 (44.0ms)

IterNodesCost
049933140
149933140

localize5.0ms (0%)

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Rules
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify7.0ms (0%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
000

localize26.0ms (0%)

Local error

Found 8 expressions with local error:

0.0b
(/.f64 (sin.f64 ky) (fabs.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2)))))
0.0b
(*.f64 (/.f64 (sin.f64 ky) (fabs.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2))))) (sin.f64 th))
0.0b
(*.f64 (pow.f64 kx 6) 2/45)
0.0b
(+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2))
0.2b
(pow.f64 (sin.f64 ky) 2)
6.9b
(sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2)))
17.1b
(-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3))
21.0b
(+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45))

rewrite34.0ms (0%)

Algorithm
rewrite-expression-head
Rules
11×add-log-exp_binary64_117
*-un-lft-identity_binary64_78
add-sqr-sqrt_binary64_100
add-cube-cbrt_binary64_113
pow1_binary64_139
add-exp-log_binary64_116
add-cbrt-cube_binary64_114 sqrt-prod_binary64_94
unpow-prod-down_binary64_157 pow-unpow_binary64_155
flip-+_binary64_52 diff-log_binary64_170 associate-+l+_binary64_11 sqrt-div_binary64_95 cancel-sign-sub-inv_binary64_44 sub-neg_binary64_71 sum-log_binary64_169 flip3-+_binary64_81
+-commutative_binary64_8 associate-+l-_binary64_13 pow-exp_binary64_146 pow-to-exp_binary64_147 sqrt-pow1_binary64_96 rem-sqrt-square_binary64_91 flip3--_binary64_82 unpow2_binary64_143 sqr-pow_binary64_50 pow-pow_binary64_150 flip--_binary64_53 distribute-lft-out_binary64_29 pow1/2_binary64_158
Counts
4 → 61
Calls

8 calls:

11.0ms
(sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2)))
8.0ms
(+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45))
4.0ms
(-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3))
3.0ms
(pow.f64 (sin.f64 ky) 2)
0.0ms
(+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2))

series458.0ms (0.3%)

Counts
4 → 29
Calls

4 calls:

301.0ms
(sqrt.f64 (+.f64 (+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45)) (pow.f64 (sin.f64 ky) 2)))
77.0ms
(-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3))
53.0ms
(+.f64 (-.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) 1/3)) (*.f64 (pow.f64 kx 6) 2/45))
27.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 1352 to 1165 computations (13.8% saved)

simplify46.0ms (0%)

Algorithm
egg-herbie
Counts
90 → 90
Iterations

Useful iterations: 0 (22.0ms)

IterNodesCost
050112021

localize22.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(*.f64 (sin.f64 th) (/.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.1b
(sqrt.f64 (sin.f64 ky))
0.1b
(sqrt.f64 (sin.f64 ky))
0.2b
(/.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
0.2b
(pow.f64 (sin.f64 ky) 2)
0.3b
(pow.f64 (sin.f64 kx) 2)
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))

rewrite43.0ms (0%)

Algorithm
rewrite-expression-head
Rules
73×*-un-lft-identity_binary64_78
67×sqrt-prod_binary64_94
48×times-frac_binary64_84
42×add-sqr-sqrt_binary64_100
41×add-cube-cbrt_binary64_113
22×unpow-prod-down_binary64_157
16×distribute-lft-out_binary64_29
associate-/r*_binary64_22 add-exp-log_binary64_116
pow1_binary64_139
add-cbrt-cube_binary64_114 associate-/l*_binary64_23 pow-unpow_binary64_155
add-log-exp_binary64_117 sqrt-div_binary64_95
pow-exp_binary64_146 pow-to-exp_binary64_147 flip-+_binary64_52 unpow2_binary64_143 sqr-pow_binary64_50 pow-pow_binary64_150 associate-/r/_binary64_24 flip3-+_binary64_81
sqrt-pow1_binary64_96 cbrt-undiv_binary64_112 div-exp_binary64_129 rem-sqrt-square_binary64_91 frac-2neg_binary64_89 div-inv_binary64_75 sqrt-undiv_binary64_99 clear-num_binary64_77 pow1/2_binary64_158
Counts
4 → 130
Calls

8 calls:

13.0ms
(/.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.0ms
(pow.f64 (sin.f64 kx) 2)
3.0ms
(pow.f64 (sin.f64 ky) 2)
0.0ms
(sqrt.f64 (sin.f64 ky))

series587.0ms (0.4%)

Counts
4 → 31
Calls

4 calls:

318.0ms
(/.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
202.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
34.0ms
(pow.f64 (sin.f64 kx) 2)
33.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 1581 to 1293 computations (18.2% saved)

simplify88.0ms (0.1%)

Algorithm
egg-herbie
Counts
161 → 161
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
050244141

localize20.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
0.1b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
4.6b
(sqrt.f64 (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
4.6b
(sqrt.f64 (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))

rewrite53.0ms (0%)

Algorithm
rewrite-expression-head
Rules
14×*-un-lft-identity_binary64_78
12×sqrt-prod_binary64_94 pow1_binary64_139
add-sqr-sqrt_binary64_100
sqrt-pow1_binary64_96 add-cube-cbrt_binary64_113 sqrt-div_binary64_95
add-cbrt-cube_binary64_114 add-log-exp_binary64_117 unpow-prod-down_binary64_157 add-exp-log_binary64_116 distribute-lft-out_binary64_29 pow1/2_binary64_158
flip-+_binary64_52 rem-sqrt-square_binary64_91 associate-*l/_binary64_21 pow-prod-down_binary64_149 flip3-+_binary64_81
Counts
4 → 58
Calls

8 calls:

13.0ms
(sqrt.f64 (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
13.0ms
(sqrt.f64 (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
11.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
0.0ms
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))

series2.3s (1.7%)

Counts
4 → 46
Calls

4 calls:

944.0ms
(sqrt.f64 (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
927.0ms
(sqrt.f64 (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
199.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
191.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
Compiler

Compiled 3128 to 2236 computations (28.5% saved)

simplify69.0ms (0.1%)

Algorithm
egg-herbie
Counts
104 → 104
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
051202784

prune18.9s (14%)

Pruning

480 alts after pruning (469 fresh and 11 done)

PrunedKeptTotal
New278219497
Fresh11250261
Picked000
Done01111
Total289480769
Error
0.0b
Counts
769 → 480
Compiler

Compiled 28265 to 20017 computations (29.2% saved)

localize16.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (sin.f64 ky) 2)
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.1b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2))))
0.1b
(+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.2b
(pow.f64 (sin.f64 ky) 2)
0.3b
(*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx)))
3.7b
(sqrt.f64 (+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2)))

rewrite37.0ms (0%)

Algorithm
rewrite-expression-head
Rules
36×add-sqr-sqrt_binary64_100
27×associate-*l*_binary64_19
25×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
20×times-frac_binary64_84
15×pow1_binary64_139
13×sqrt-prod_binary64_94
12×add-exp-log_binary64_116
11×add-cbrt-cube_binary64_114
associate-*r*_binary64_18
add-log-exp_binary64_117 unswap-sqr_binary64_46 sqrt-div_binary64_95
cbrt-unprod_binary64_111 prod-exp_binary64_127 unpow-prod-down_binary64_157 swap-sqr_binary64_45 pow-unpow_binary64_155
*-commutative_binary64_9 flip-+_binary64_52 pow-prod-down_binary64_149 associate-/r/_binary64_24 flip3-+_binary64_81
pow2_binary64_159 sqr-abs_binary64_93 pow-exp_binary64_146 pow-to-exp_binary64_147 sqrt-pow1_binary64_96 pow-sqr_binary64_51 cbrt-undiv_binary64_112 div-exp_binary64_129 rem-sqrt-square_binary64_91 unpow2_binary64_143 sqr-pow_binary64_50 div-inv_binary64_75 pow-pow_binary64_150 pow-prod-up_binary64_148 associate-*l/_binary64_21 pow-plus_binary64_141 pow1/2_binary64_158
Counts
4 → 103
Calls

8 calls:

14.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
6.0ms
(sqrt.f64 (+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2)))
4.0ms
(*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx)))
3.0ms
(pow.f64 (sin.f64 ky) 2)
0.0ms
(+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2))

series970.0ms (0.7%)

Counts
4 → 33
Calls

4 calls:

739.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
172.0ms
(sqrt.f64 (+.f64 (*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx))) (pow.f64 (sin.f64 ky) 2)))
31.0ms
(pow.f64 (sin.f64 ky) 2)
27.0ms
(*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx)))
Compiler

Compiled 1336 to 1042 computations (22% saved)

simplify113.0ms (0.1%)

Algorithm
egg-herbie
Counts
136 → 136
Iterations

Useful iterations: 0 (79.0ms)

IterNodesCost
049403211
149403211

localize6.0ms (0%)

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Rules
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify7.0ms (0%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
000

localize36.0ms (0%)

Local error

Found 8 expressions with local error:

0.0b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 (+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 6) 2/45)) (+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8)))) (pow.f64 (sin.f64 ky) 2))))
0.0b
(+.f64 (-.f64 (+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 6) 2/45)) (+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8)))) (pow.f64 (sin.f64 ky) 2))
0.0b
(+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 6) 2/45))
0.0b
(+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8)))
0.1b
(*.f64 (pow.f64 kx 4) 1/3)
0.2b
(pow.f64 (sin.f64 ky) 2)
3.6b
(sqrt.f64 (+.f64 (-.f64 (+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 6) 2/45)) (+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8)))) (pow.f64 (sin.f64 ky) 2)))
27.9b
(-.f64 (+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 6) 2/45)) (+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8))))

rewrite50.0ms (0%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64_100
18×*-un-lft-identity_binary64_78
16×add-log-exp_binary64_117
11×add-cube-cbrt_binary64_113
10×add-exp-log_binary64_116
associate-*l*_binary64_19 unpow-prod-down_binary64_157
add-cbrt-cube_binary64_114 pow1_binary64_139
sqrt-prod_binary64_94 flip-+_binary64_52 flip3-+_binary64_81
frac-sub_binary64_87 diff-log_binary64_170 sum-log_binary64_169
prod-exp_binary64_127 sqr-pow_binary64_50 associate-*r*_binary64_18 unswap-sqr_binary64_46 pow-unpow_binary64_155 cancel-sign-sub-inv_binary64_44
pow-exp_binary64_146 pow-to-exp_binary64_147 distribute-lft-out--_binary64_30 sqrt-div_binary64_95 distribute-lft-out_binary64_29
*-commutative_binary64_9 sqrt-pow1_binary64_96 cbrt-unprod_binary64_111 rem-sqrt-square_binary64_91 flip3--_binary64_82 unpow2_binary64_143 associate--l+_binary64_15 associate--r+_binary64_14 pow-pow_binary64_150 flip--_binary64_53 difference-of-squares_binary64_47 pow1/2_binary64_158 sub-neg_binary64_71
Counts
4 → 85
Calls

8 calls:

16.0ms
(sqrt.f64 (+.f64 (-.f64 (+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 6) 2/45)) (+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8)))) (pow.f64 (sin.f64 ky) 2)))
14.0ms
(-.f64 (+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 6) 2/45)) (+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8))))
5.0ms
(*.f64 (pow.f64 kx 4) 1/3)
3.0ms
(pow.f64 (sin.f64 ky) 2)
0.0ms
(+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8)))

series407.0ms (0.3%)

Counts
4 → 26
Calls

4 calls:

272.0ms
(sqrt.f64 (+.f64 (-.f64 (+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 6) 2/45)) (+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8)))) (pow.f64 (sin.f64 ky) 2)))
63.0ms
(-.f64 (+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 6) 2/45)) (+.f64 (*.f64 (pow.f64 kx 4) 1/3) (*.f64 1/315 (pow.f64 kx 8))))
36.0ms
(*.f64 (pow.f64 kx 4) 1/3)
36.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 1578 to 1375 computations (12.9% saved)

simplify65.0ms (0%)

Algorithm
egg-herbie
Counts
111 → 111
Iterations

Useful iterations: 0 (31.0ms)

IterNodesCost
049973168
149973168

localize27.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(*.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (+.f64 (sin.f64 ky) (*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)))))) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))
0.1b
(sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
0.0b
(+.f64 (sin.f64 ky) (*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky))))
0.0b
(*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)))
0.4b
(/.f64 (sin.f64 ky) (+.f64 (sin.f64 ky) (*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)))))
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.8b
(/.f64 (*.f64 kx kx) (sin.f64 ky))
13.6b
(sqrt.f64 (/.f64 (sin.f64 ky) (+.f64 (sin.f64 ky) (*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky))))))

rewrite39.0ms (0%)

Algorithm
rewrite-expression-head
Rules
26×add-sqr-sqrt_binary64_100 *-un-lft-identity_binary64_78
22×add-cube-cbrt_binary64_113 times-frac_binary64_84
20×sqrt-prod_binary64_94
11×add-cbrt-cube_binary64_114 add-exp-log_binary64_116
associate-/r*_binary64_22 pow1_binary64_139
add-log-exp_binary64_117 associate-/l*_binary64_23 associate-/r/_binary64_24
cbrt-undiv_binary64_112 div-exp_binary64_129 flip-+_binary64_52 rem-sqrt-square_binary64_91 div-inv_binary64_75 sqrt-div_binary64_95 flip3-+_binary64_81
sqrt-pow1_binary64_96 unpow-prod-down_binary64_157 frac-2neg_binary64_89 clear-num_binary64_77 distribute-lft-out_binary64_29 pow1/2_binary64_158
cbrt-unprod_binary64_111 prod-exp_binary64_127
Counts
4 → 94
Calls

8 calls:

8.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
6.0ms
(/.f64 (sin.f64 ky) (+.f64 (sin.f64 ky) (*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)))))
6.0ms
(sqrt.f64 (/.f64 (sin.f64 ky) (+.f64 (sin.f64 ky) (*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky))))))
5.0ms
(/.f64 (*.f64 kx kx) (sin.f64 ky))
0.0ms
(*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)))

series887.0ms (0.7%)

Counts
4 → 38
Calls

4 calls:

401.0ms
(sqrt.f64 (/.f64 (sin.f64 ky) (+.f64 (sin.f64 ky) (*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky))))))
190.0ms
(/.f64 (sin.f64 ky) (+.f64 (sin.f64 ky) (*.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)))))
187.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
108.0ms
(/.f64 (*.f64 kx kx) (sin.f64 ky))
Compiler

Compiled 2640 to 2020 computations (23.5% saved)

simplify82.0ms (0.1%)

Algorithm
egg-herbie
Counts
132 → 132
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
049593668
149593668

localize30.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.1b
(+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))
0.1b
(sqrt.f64 (/.f64 (sin.f64 ky) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) 3))))
0.1b
(sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
0.5b
(pow.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) 3)
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
3.7b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
6.9b
(cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) 3))

rewrite55.0ms (0%)

Algorithm
rewrite-expression-head
Rules
40×*-un-lft-identity_binary64_78
30×sqrt-prod_binary64_94
28×unpow-prod-down_binary64_157
22×cbrt-prod_binary64_109
18×add-sqr-sqrt_binary64_100
16×add-cube-cbrt_binary64_113 cube-prod_binary64_106
12×distribute-lft-out_binary64_29
sqrt-div_binary64_95 pow1_binary64_139
add-cbrt-cube_binary64_114 add-exp-log_binary64_116
add-log-exp_binary64_117 cube-div_binary64_107 flip-+_binary64_52 flip3-+_binary64_81
sqrt-pow1_binary64_96 pow-pow_binary64_150 pow-unpow_binary64_155 pow1/2_binary64_158
cube-mult_binary64_108 cbrt-div_binary64_110 rem-sqrt-square_binary64_91 sqr-pow_binary64_50 unpow3_binary64_144
rem-cube-cbrt_binary64_101 sqrt-pow2_binary64_97 rem-cbrt-cube_binary64_102 pow-exp_binary64_146 pow-to-exp_binary64_147 pow1/3_binary64_160
Counts
4 → 105
Calls

8 calls:

12.0ms
(pow.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) 3)
11.0ms
(cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) 3))
9.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
0.0ms
(sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))

series906.0ms (0.7%)

Counts
4 → 45
Calls

4 calls:

322.0ms
(pow.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) 3)
199.0ms
(cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) 3))
193.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
190.0ms
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
Compiler

Compiled 2708 to 2020 computations (25.4% saved)

simplify76.0ms (0.1%)

Algorithm
egg-herbie
Counts
150 → 150
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
051153555

prune28.3s (21%)

Pruning

699 alts after pruning (684 fresh and 15 done)

PrunedKeptTotal
New294235529
Fresh15449464
Picked000
Done11516
Total3106991009
Error
0.0b
Counts
1009 → 699
Compiler

Compiled 14537 to 8178 computations (43.7% saved)

simplify797.0ms (0.6%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (23.0ms)

IterNodesCost
0499455067
1499455067

regimes24.5s (18.1%)

Compiler

Compiled 196123 to 145920 computations (25.6% saved)

bsearch42.0ms (0%)

Compiler

Compiled 13 to 12 computations (7.7% saved)

regimes1.7s (1.3%)

Compiler

Compiled 6784 to 5966 computations (12.1% saved)

bsearch2.0ms (0%)

Compiler

Compiled 4 to 6 computations (-50% saved)

regimes1.4s (1.1%)

Compiler

Compiled 5021 to 4519 computations (10% saved)

bsearch2.0ms (0%)

Compiler

Compiled 4 to 6 computations (-50% saved)

regimes919.0ms (0.7%)

Compiler

Compiled 3251 to 2971 computations (8.6% saved)

bsearch1.0ms (0%)

Compiler

Compiled 2 to 4 computations (-100% saved)

regimes702.0ms (0.5%)

Compiler

Compiled 2070 to 1996 computations (3.6% saved)

bsearch1.0ms (0%)

Compiler

Compiled 2 to 4 computations (-100% saved)

regimes608.0ms (0.5%)

Compiler

Compiled 1600 to 1600 computations (0% saved)

bsearch1.0ms (0%)

Compiler

Compiled 2 to 4 computations (-100% saved)

regimes425.0ms (0.3%)

Compiler

Compiled 1098 to 1098 computations (0% saved)

bsearch1.0ms (0%)

Compiler

Compiled 2 to 4 computations (-100% saved)

regimes283.0ms (0.2%)

Compiler

Compiled 322 to 413 computations (-28.3% saved)

bsearch124.0ms (0.1%)

Steps
ItersRangePoint
10
8.022534705912205e-52
2.5515969501100053e-37
2.5073726237800466e-37
4
-0.05398046381745485
-0.03281088659107353
-0.033472435879397945
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes252.0ms (0.2%)

Compiler

Compiled 259 to 357 computations (-37.8% saved)

bsearch240.0ms (0.2%)

Steps
ItersRangePoint
9
4.2510925688866986e-107
2.8178005652473096e-100
5.425391492838313e-104
8
4.094281001631858e-154
2.5060731010565417e-151
1.0818695835402839e-152
9
4.564380189661613e-208
1.9318991468802383e-202
1.9132400570361906e-202
4
-1.6010392203265926e-75
-1.038324017640297e-75
-1.3451745365367447e-75
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes188.0ms (0.1%)

Compiler

Compiled 186 to 270 computations (-45.2% saved)

bsearch245.0ms (0.2%)

Steps
ItersRangePoint
9
4.2510925688866986e-107
2.8178005652473096e-100
2.3151185714216374e-106
8
4.094281001631858e-154
2.5060731010565417e-151
1.80769309951527e-152
9
4.564380189661613e-208
1.9318991468802383e-202
1.6146946195314308e-202
4
-0.05398046381745485
-0.03281088659107353
-0.04538032306923744
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes148.0ms (0.1%)

Compiler

Compiled 74 to 149 computations (-101.4% saved)

bsearch155.0ms (0.1%)

Steps
ItersRangePoint
7
1.001026926498438e-131
1.7981766008968552e-130
4.0640731494757617e-131
9
-249170.4714371465
-0.001858490622145534
-9.303156171150226
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes94.0ms (0.1%)

Compiler

Compiled 30 to 90 computations (-200% saved)

bsearch161.0ms (0.1%)

Steps
ItersRangePoint
8
1.5842080873298614e-134
1.001026926498438e-131
2.6130017305138674e-134
9
-249170.4714371465
-0.001858490622145534
-9.303156171150226
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes27.0ms (0%)

Accuracy

Total 2.2b remaining (96%)

Threshold costs 0b (0%)

Compiler

Compiled 15 to 54 computations (-260% saved)

bsearch27.0ms (0%)

Compiler

Compiled 638 to 368 computations (42.3% saved)

simplify15.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (4.0ms)

IterNodesCost
0213994
1213994

end0.0ms (0%)

sample30.4s (22.5%)

Algorithm
intervals
Results
3.7s4676×body1024valid
755.0ms1425×body512valid
188.0ms1358×body128valid
168.0ms525×body256valid
23.0ms16×body2048valid
Compiler

Compiled 25674 to 18926 computations (26.3% saved)

Pareto

0.33471745006460984

Profiling

Loading profile data...