Details

Time bar (total: 14.3s)

analyze1.8s (12.6%)

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.0s (56.1%)

Results
6.1s4802×body1024valid
1.1s1438×body512valid
378.0ms1450×body128valid
285.0ms545×body256valid
50.0ms21×body2048valid
Compiler

Compiled 40 to 30 computations (25% saved)

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

simplify49.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
1.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
3.9b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
2.5b
(/.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)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series201.0ms (1.4%)

Counts
3 → 84
Calls

21 calls:

25.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
kx
-inf
25.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
ky
-inf
25.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
kx
inf
24.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
th
-inf
22.0ms
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
ky
inf

rewrite50.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01034
121034
2291334
Stop Event
node limit
Counts
3 → 82

simplify52.0ms (0.4%)

Algorithm
egg-herbie
Rules
730×fma-def_binary64
504×cancel-sign-sub-inv_binary64
213×associate-/r/_binary64
186×fma-neg_binary64
168×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01952472
16372312
223952085
Stop Event
node limit
Counts
166 → 139

prune127.0ms (0.9%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1318139
Fresh011
Picked101
Done000
Total1329141
Error
0.0b
Counts
141 → 9
Alt Table
StatusErrorProgram
1.3b
(pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 3)
0.3b
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
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)))))
32.6b
(-.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 1)
0.2b
(*.f64 (/.f64 (sin.f64 ky) 1) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
2.6b
(pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))) -1)
3.9b
(*.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 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 1)
2.6b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (expm1.f64 (log1p.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
Compiler

Compiled 3558 to 1566 computations (56% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series254.0ms (1.8%)

Counts
2 → 72
Calls

18 calls:

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

rewrite52.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01031
120931
2286031
Stop Event
node limit
Counts
2 → 82

simplify69.0ms (0.5%)

Algorithm
egg-herbie
Rules
770×fma-def_binary64
382×cancel-sign-sub-inv_binary64
232×associate-/r/_binary64
138×fma-neg_binary64
136×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01992827
16422459
224812219
Stop Event
node limit
Counts
154 → 131

prune167.0ms (1.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1642166
Fresh358
Picked011
Done000
Total1678175
Error
0b
Counts
175 → 8
Alt Table
StatusErrorProgram
2.6b
(pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))) -1)
1.4b
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (*.f64 (cbrt.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 1)
2.6b
(pow.f64 (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (/.f64 (sin.f64 ky) (/.f64 1 (sin.f64 th)))) 1)
0.2b
(*.f64 (/.f64 (sin.f64 ky) 1) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
1.3b
(pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 3)
0.2b
(pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 1)
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)))))
2.6b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (expm1.f64 (log1p.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
Compiler

Compiled 4771 to 2248 computations (52.9% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series321.0ms (2.2%)

Counts
2 → 72
Calls

18 calls:

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

rewrite52.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
549×log-prod_binary64
201×expm1-udef_binary64
201×log1p-udef_binary64
184×log-pow_binary64
176×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
124931
2289031
Stop Event
node limit
Counts
2 → 84

simplify66.0ms (0.5%)

Algorithm
egg-herbie
Rules
731×fma-def_binary64
411×cancel-sign-sub-inv_binary64
368×associate-/r/_binary64
177×fma-neg_binary64
174×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01922908
16282884
224932627
Stop Event
node limit
Counts
156 → 133

prune157.0ms (1.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1653168
Fresh336
Picked101
Done011
Total1697176
Error
0b
Counts
176 → 7
Alt Table
StatusErrorProgram
29.5b
(*.f64 (/.f64 (sin.f64 ky) 1) (pow.f64 (sqrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2))
2.6b
(pow.f64 (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (/.f64 (sin.f64 ky) (/.f64 1 (sin.f64 th)))) 1)
0.4b
(*.f64 (/.f64 (sin.f64 ky) 1) (/.f64 (sin.f64 th) (expm1.f64 (log1p.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))
1.4b
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (*.f64 (cbrt.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 1)
0.3b
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (/.f64 1 (sin.f64 ky)))
0.2b
(pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 1)
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 4690 to 2246 computations (52.1% 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.1b
(/.f64 1 (sin.f64 ky))
0.2b
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.3b
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (/.f64 1 (sin.f64 ky)))

series172.0ms (1.2%)

Counts
2 → 40
Calls

12 calls:

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

rewrite50.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
223×expm1-udef_binary64
223×log1p-udef_binary64
207×log-pow_binary64
168×prod-diff_binary64
164×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01227
125024
2330924
Stop Event
node limit
Counts
2 → 66

simplify38.0ms (0.3%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01381641
14351627
215881455
Stop Event
node limit
Counts
106 → 98

prune167.0ms (1.2%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1921193
Fresh145
Picked011
Done011
Total1937200
Error
0b
Counts
200 → 7
Alt Table
StatusErrorProgram
29.5b
(*.f64 (/.f64 (sin.f64 ky) 1) (pow.f64 (sqrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2))
0.4b
(*.f64 (/.f64 (sin.f64 ky) 1) (/.f64 (sin.f64 th) (expm1.f64 (log1p.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))
1.4b
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (*.f64 (cbrt.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 1)
0.3b
(*.f64 (sin.f64 th) (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)))
0.3b
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (/.f64 1 (sin.f64 ky)))
0.2b
(pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 1)
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 5106 to 2386 computations (53.3% saved)

regimes2.2s (15.5%)

Accuracy

Total 0.2b remaining (83.5%)

Threshold costs 0.2b (83.5%)

Counts
195 → 1
Compiler

Compiled 32048 to 22368 computations (30.2% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01318
11818
Stop Event
saturated

end130.0ms (0.9%)

Stop Event
fuel
Compiler

Compiled 158 to 104 computations (34.2% saved)

Profiling

Loading profile data...