Details

Time bar (total: 13.6s)

analyze1.8s (13.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)

sample203.0ms (1.5%)

Algorithm
intervals
Results
145.0ms141×body1024valid
31.0ms51×body512valid
7.0ms44×body128valid
7.0ms19×body256valid
2.0msbody2048valid
Compiler

Compiled 42 to 32 computations (23.8% saved)

simplify92.0ms (0.7%)

Algorithm
egg-herbie
Rules
645×associate-/r*_binary64
634×sqr-pow_binary64
394×associate-*l*_binary64
373×cube-prod_binary64
368×*-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01426
12618
24018
36818
414118
534818
6105518
7179618
8248418
9269718
10296818
11331118
12370518
13460318
14479918

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.2b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.2b
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
4.1b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
Compiler

Compiled 80 to 55 computations (31.3% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

rewrite119.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
26×add-cube-cbrt_binary64
19×pow1_binary64
16×add-exp-log_binary64
16×add-sqr-sqrt_binary64
15×add-cbrt-cube_binary64
Counts
3 → 119
Calls

3 calls:

15.0ms
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
13.0ms
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
12.0ms
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
Compiler

Compiled 1772 to 316 computations (82.2% saved)

series205.0ms (1.5%)

Error
0.1b
Counts
3 → 37
Calls

3 calls:

95.0ms
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
54.0ms
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
34.0ms
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
Compiler

Compiled 2576 to 1729 computations (32.9% saved)

simplify116.0ms (0.9%)

Algorithm
egg-herbie
Rules
667×fma-def_binary64
402×cancel-sign-sub-inv_binary64
195×fma-neg_binary64
186×unswap-sqr_binary64
177×associate-*r*_binary64
Counts
156 → 103
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02763226
17182952
228242873
349972873
450172873

prune75.0ms (0.5%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New967103
Fresh011
Picked101
Done000
Total978105
Error
0b
Counts
105 → 8
Alt Table
StatusErrorProgram
1.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sin.f64 ky)) (cbrt.f64 (sin.f64 ky))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (cbrt.f64 (sin.f64 ky)))) (sin.f64 th))
2.7b
(/.f64 1 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))))
4.1b
(*.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 (/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sin.f64 th))
0.3b
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
2.7b
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
0.3b
(*.f64 (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
28.6b
(*.f64 (sqrt.f64 (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sqrt.f64 (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))
Compiler

Compiled 2065 to 812 computations (60.7% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

rewrite109.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
37×add-cube-cbrt_binary64
17×add-cbrt-cube_binary64
16×add-exp-log_binary64
12×pow1_binary64
12×add-sqr-sqrt_binary64
Counts
3 → 123
Calls

3 calls:

14.0ms
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
13.0ms
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
9.0ms
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
Compiler

Compiled 1955 to 321 computations (83.6% saved)

series230.0ms (1.7%)

Error
0b
Counts
3 → 44
Calls

3 calls:

94.0ms
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
74.0ms
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
36.0ms
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
Compiler

Compiled 3082 to 2011 computations (34.8% saved)

simplify101.0ms (0.7%)

Algorithm
egg-herbie
Rules
774×fma-def_binary64
441×cancel-sign-sub-inv_binary64
209×times-frac_binary64
198×associate-*r*_binary64
188×associate-/r*_binary64
Counts
167 → 73
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02933694
17623239
231653160
352233160

prune43.0ms (0.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New73073
Fresh077
Picked011
Done000
Total73881
Error
0b
Counts
81 → 8
Alt Table
StatusErrorProgram
1.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sin.f64 ky)) (cbrt.f64 (sin.f64 ky))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (cbrt.f64 (sin.f64 ky)))) (sin.f64 th))
2.7b
(/.f64 1 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))))
4.1b
(*.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 (/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sin.f64 th))
0.3b
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
2.7b
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
0.3b
(*.f64 (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
28.6b
(*.f64 (sqrt.f64 (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sqrt.f64 (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))
Compiler

Compiled 1614 to 687 computations (57.4% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite167.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
30×add-cube-cbrt_binary64
24×pow1_binary64
24×add-sqr-sqrt_binary64
22×add-exp-log_binary64
20×add-cbrt-cube_binary64
Counts
4 → 165
Calls

4 calls:

15.0ms
(*.f64 (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
14.0ms
(*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
14.0ms
(/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
13.0ms
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
Compiler

Compiled 2603 to 960 computations (63.1% saved)

series257.0ms (1.9%)

Error
0b
Counts
4 → 47
Calls

4 calls:

92.0ms
(*.f64 (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
52.0ms
(*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
46.0ms
(/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
35.0ms
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
Compiler

Compiled 3216 to 2198 computations (31.7% saved)

simplify142.0ms (1%)

Algorithm
egg-herbie
Rules
829×fma-def_binary64
236×associate-*r*_binary64
230×fma-neg_binary64
190×associate-*l*_binary64
185×times-frac_binary64
Counts
212 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03314041
18433647
234073474
348483474
449603474

prune57.0ms (0.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1121113
Fresh246
Picked011
Done011
Total1147121
Error
0b
Counts
121 → 7
Alt Table
StatusErrorProgram
1.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sin.f64 ky)) (cbrt.f64 (sin.f64 ky))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (cbrt.f64 (sin.f64 ky)))) (sin.f64 th))
4.1b
(*.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 (/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sin.f64 th))
0.3b
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
2.7b
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
0.3b
(*.f64 (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
0.6b
(*.f64 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) -1/2) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) -1/2))) (sin.f64 th))
Compiler

Compiled 2006 to 854 computations (57.4% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
0.1b
(/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sin.f64 th))
0.5b
(*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))

rewrite150.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
31×add-sqr-sqrt_binary64
28×add-cube-cbrt_binary64
26×add-exp-log_binary64
21×pow1_binary64
20×add-cbrt-cube_binary64
Counts
4 → 176
Calls

4 calls:

17.0ms
(*.f64 (/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sin.f64 th))
15.0ms
(/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
14.0ms
(*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
10.0ms
(sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
Compiler

Compiled 3746 to 518 computations (86.2% saved)

series260.0ms (1.9%)

Error
0b
Counts
4 → 47
Calls

4 calls:

96.0ms
(*.f64 (/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sin.f64 th))
51.0ms
(/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
46.0ms
(sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
38.0ms
(*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
Compiler

Compiled 3395 to 2264 computations (33.3% saved)

simplify176.0ms (1.3%)

Algorithm
egg-herbie
Rules
895×fma-def_binary64
283×fma-neg_binary64
228×associate-*r*_binary64
212×times-frac_binary64
165×associate-*l*_binary64
Counts
223 → 148
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03484188
18813815
234833691
348993691
449913691
549253691

prune87.0ms (0.6%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1480148
Fresh044
Picked011
Done022
Total1487155
Error
0b
Counts
155 → 7
Alt Table
StatusErrorProgram
1.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sin.f64 ky)) (cbrt.f64 (sin.f64 ky))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (cbrt.f64 (sin.f64 ky)))) (sin.f64 th))
4.1b
(*.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 (/.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sin.f64 th))
0.3b
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
2.7b
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
0.3b
(*.f64 (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
0.6b
(*.f64 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) -1/2) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) -1/2))) (sin.f64 th))
Compiler

Compiled 2633 to 940 computations (64.3% saved)

regimes1.9s (14.1%)

Accuracy

Total 0.2b remaining (81.3%)

Threshold costs 0.2b (81.3%)

Compiler

Compiled 32389 to 20821 computations (35.7% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01222
12322
23422
34322
44722
54822
64822

end1.0ms (0%)

Compiler

Compiled 16 to 11 computations (31.3% saved)

sample7.2s (53.3%)

Algorithm
intervals
Results
5.5s4673×body1024valid
835.0ms1396×body512valid
244.0ms1387×body128valid
192.0ms528×body256valid
30.0ms16×body2048valid
Compiler

Compiled 173 to 111 computations (35.8% saved)

Profiling

Loading profile data...