Details

Time bar (total: 14.8s)

analyze1.8s (12.2%)

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 20 to 15 computations (25% saved)

sample8.1s (54.4%)

Results
6.2s4743×body1024valid
1.2s1456×body512valid
364.0ms1457×body128valid
296.0ms584×body256valid
39.0ms16×body2048valid
Compiler

Compiled 40 to 30 computations (25% saved)

preprocess38.0ms (0.3%)

Algorithm
egg-herbie
Rules
739×associate-/r/_binary64
592×associate-*r/_binary64
430×associate-*l*_binary64
352×associate-*r*_binary64
348×associate-*l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027104
15472
211472
322172
464872
5286672
6453072
033
Stop Event
saturated
node limit
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify44.0ms (0.3%)

Algorithm
egg-herbie
Rules
389×associate-*l*_binary64
330×sqr-pow_binary64
320×*-commutative_binary64
275×associate-/r/_binary64
269×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01426
12618
25118
37918
416018
545018
6170218
7304818
8389618
9414918
10448818
11497818
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
4.7b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
3.3b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
Compiler

Compiled 96 to 63 computations (34.4% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 ky)
0.0b
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
0.2b
(*.f64 (sin.f64 ky) (sin.f64 th))
3.3b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))

series179.0ms (1.2%)

Counts
4 → 88
Calls

24 calls:

23.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
kx
-inf
22.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
kx
inf
22.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
ky
-inf
21.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
th
inf
20.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
ky
inf

rewrite56.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
373×prod-diff_binary64
202×expm1-udef_binary64
202×log1p-udef_binary64
173×log-pow_binary64
149×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01037
121037
2289037
01037
Stop Event
saturated
node limit
Counts
4 → 101

simplify55.0ms (0.4%)

Algorithm
egg-herbie
Rules
773×fma-def_binary64
558×cancel-sign-sub-inv_binary64
213×associate-/r/_binary64
205×fma-neg_binary64
181×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02032524
16642364
224882125
Stop Event
node limit
Counts
189 → 165

prune166.0ms (1.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1847191
Fresh011
Picked101
Done000
Total1858193
Error
0b
Counts
193 → 8
Alt Table
StatusErrorProgram
28.3b
(/.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 2) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
27.5b
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 2)
0.3b
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
0.3b
(*.f64 (sin.f64 ky) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))
18.1b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (log.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
4.7b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
7.2b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
0.5b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (sin.f64 th) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
Compiler

Compiled 4370 to 1857 computations (57.5% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
0.2b
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
0.2b
(/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.3b
(*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))

series331.0ms (2.2%)

Counts
3 → 84
Calls

21 calls:

23.0ms
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
kx
-inf
22.0ms
(*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
kx
-inf
22.0ms
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
th
inf
22.0ms
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
kx
inf
22.0ms
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
ky
-inf

rewrite51.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
580×log-prod_binary64
209×expm1-udef_binary64
209×log1p-udef_binary64
186×log-pow_binary64
160×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01242
123942
2288842
01248
Stop Event
saturated
node limit
Counts
3 → 77

simplify64.0ms (0.4%)

Algorithm
egg-herbie
Rules
427×cancel-sign-sub-inv_binary64
206×sub-neg_binary64
194×fma-def_binary64
176×fma-neg_binary64
168×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02313062
17413038
228842849
Stop Event
node limit
Counts
161 → 134

prune228.0ms (1.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1672169
Fresh257
Picked101
Done000
Total1707177
Error
0b
Counts
177 → 7
Alt Table
StatusErrorProgram
4.7b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.5b
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) -1/2) 2)))
28.3b
(/.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 2) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
27.5b
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 2)
0.3b
(*.f64 (sin.f64 ky) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))
0.2b
(*.f64 (sin.f64 th) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))))
7.2b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
Compiler

Compiled 4686 to 2379 computations (49.2% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
0.1b
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
0.2b
(*.f64 (sin.f64 th) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))))
0.2b
(/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))

series296.0ms (2%)

Counts
3 → 84
Calls

21 calls:

23.0ms
(/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
kx
inf
23.0ms
(*.f64 (sin.f64 th) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))))
th
inf
23.0ms
(*.f64 (sin.f64 th) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))))
kx
-inf
23.0ms
(/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
kx
-inf
23.0ms
(*.f64 (sin.f64 th) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))))
kx
inf

rewrite59.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
608×log-prod_binary64
215×expm1-udef_binary64
215×log1p-udef_binary64
191×log-pow_binary64
153×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01247
124544
2310044
01250
Stop Event
saturated
node limit
Counts
3 → 108

simplify68.0ms (0.5%)

Algorithm
egg-herbie
Rules
994×times-frac_binary64
449×cancel-sign-sub-inv_binary64
227×fma-def_binary64
206×sub-neg_binary64
160×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02313150
17602958
228972958
Stop Event
node limit
Counts
192 → 164

prune167.0ms (1.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1963199
Fresh336
Picked011
Done000
Total1997206
Error
0b
Counts
206 → 7
Alt Table
StatusErrorProgram
0.3b
(*.f64 (sin.f64 ky) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))
7.4b
(*.f64 (sin.f64 th) (/.f64 1 (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3)) (sin.f64 ky))))
27.5b
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 2)
0.7b
(*.f64 (sin.f64 th) (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))) 3)))
0.2b
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
0.2b
(*.f64 (sin.f64 th) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))))
7.2b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
Compiler

Compiled 5485 to 2568 computations (53.2% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 ky)
0.0b
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
0.1b
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
0.2b
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))

series181.0ms (1.2%)

Counts
1 → 36
Calls

9 calls:

27.0ms
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
ky
inf
26.0ms
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
ky
-inf
26.0ms
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
kx
inf
25.0ms
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
th
0
24.0ms
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
kx
-inf

rewrite46.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
571×log-prod_binary64
197×expm1-udef_binary64
197×log1p-udef_binary64
173×log-pow_binary64
171×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01018
120918
2283418
01018
Stop Event
saturated
node limit
Counts
1 → 46

simplify38.0ms (0.3%)

Algorithm
egg-herbie
Rules
676×times-frac_binary64
471×associate-/l*_binary64
422×fma-def_binary64
409×associate-/r*_binary64
230×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01281586
14121574
215211406
Stop Event
node limit
Counts
82 → 71

prune181.0ms (1.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2081209
Fresh145
Picked101
Done011
Total2106216
Error
0b
Counts
216 → 6
Alt Table
StatusErrorProgram
27.5b
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 2)
0.7b
(*.f64 (sin.f64 th) (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))) 3)))
0.3b
(*.f64 (sin.f64 ky) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))
0.2b
(*.f64 (sin.f64 th) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))))
7.2b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
7.3b
(/.f64 (sin.f64 th) (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3)) (sin.f64 ky)))
Compiler

Compiled 4838 to 2064 computations (57.3% saved)

regimes2.6s (17.2%)

Accuracy

Total 0.2b remaining (79.9%)

Threshold costs 0.2b (79.9%)

Counts
265 → 1
Compiler

Compiled 41075 to 28572 computations (30.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
*-rgt-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01218
11618
Stop Event
saturated

end105.0ms (0.7%)

Stop Event
fuel
Compiler

Compiled 134 to 94 computations (29.9% saved)

Profiling

Loading profile data...