Details

Time bar (total: 4.6s)

analyze1.2s (26.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
12.5%87.3%0.2%10
25%74.9%0.2%11
31.2%63.9%4.9%12
39%50.9%10.1%13
44.8%44.4%10.7%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.6s (35.4%)

Symmetry

(sort x.re y.re)

(sort x.im y.im)

Results
1.3s8256×body128valid
214.0ms1357×body128invalid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify26.0ms (0.6%)

Algorithm
egg-herbie
Rules
171×fma-def_binary64
87×fma-neg_binary64
36×cancel-sign-sub-inv_binary64
23×distribute-rgt-neg-in_binary64
20×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11610
22710
34410
46610
510010
615210
721310
825710
927910
1029910
1130510
1227410

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.0b
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
Compiler

Compiled 33 to 21 computations (36.4% saved)

localize10.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))

series17.0ms (0.4%)

Counts
1 → 48
Calls

1 calls:

17.0ms
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))

rewrite92.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
890×log1p-expm1-u_binary64
890×expm1-log1p-u_binary64
92×add-sqr-sqrt_binary64
85×add-log-exp_binary64
84×add-cube-cbrt_binary64
Counts
1 → 50
Calls

1 calls:

89.0ms
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
117510
2225410
3541310
000
100

simplify67.0ms (1.5%)

Algorithm
egg-herbie
Rules
172×fma-def_binary64
87×fma-neg_binary64
36×cancel-sign-sub-inv_binary64
23×distribute-rgt-neg-in_binary64
20×sub-neg_binary64
Counts
98 → 54
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010420
121420
233420
344420
466420
5100420
6152420
7213420
8257420
9279420
10299420
11305420
12274420

prune56.0ms (1.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New52254
Fresh000
Picked101
Done000
Total53255
Error
0b
Counts
55 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 x.re y.re (neg.f64 (*.f64 x.im y.im)))
0.3b
(+.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (fma.f64 (neg.f64 y.im) x.im (*.f64 x.im y.im)) (fma.f64 (neg.f64 y.im) x.im (*.f64 x.im y.im))))
Compiler

Compiled 973 to 251 computations (74.2% saved)

localize11.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x.re y.re (neg.f64 (*.f64 x.im y.im)))

series19.0ms (0.4%)

Counts
1 → 48
Calls

1 calls:

19.0ms
(fma.f64 x.re y.re (neg.f64 (*.f64 x.im y.im)))

rewrite182.0ms (4%)

Algorithm
batch-egg-rewrite
Rules
664×log1p-expm1-u_binary64
664×expm1-log1p-u_binary64
360×prod-diff_binary64
345×egg-rr
137×log1p-udef_binary64
Counts
1 → 345
Calls

1 calls:

160.0ms
(fma.f64 x.re y.re (neg.f64 (*.f64 x.im y.im)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11648
217598
349788
000
100

simplify82.0ms (1.8%)

Algorithm
egg-herbie
Rules
172×fma-def_binary64
87×fma-neg_binary64
36×cancel-sign-sub-inv_binary64
23×distribute-rgt-neg-in_binary64
20×sub-neg_binary64
Counts
393 → 349
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010420
121420
233420
344420
466420
5100420
6152420
7213420
8257420
9279420
10299420
11305420
12274420

prune239.0ms (5.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New3490349
Fresh011
Picked011
Done000
Total3492351
Error
0b
Counts
351 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 x.re y.re (neg.f64 (*.f64 x.im y.im)))
0.3b
(+.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (fma.f64 (neg.f64 y.im) x.im (*.f64 x.im y.im)) (fma.f64 (neg.f64 y.im) x.im (*.f64 x.im y.im))))
Compiler

Compiled 10045 to 1498 computations (85.1% saved)

localize17.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
54.1b
(fma.f64 (neg.f64 y.im) x.im (*.f64 x.im y.im))

series13.0ms (0.3%)

Counts
1 → 24
Calls

1 calls:

13.0ms
(fma.f64 (neg.f64 y.im) x.im (*.f64 x.im y.im))

rewrite133.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
451×log1p-expm1-u_binary64
451×expm1-log1p-u_binary64
425×prod-diff_binary64
337×unpow-prod-down_binary64
258×log-prod_binary64
Counts
1 → 190
Calls

1 calls:

121.0ms
(fma.f64 (neg.f64 y.im) x.im (*.f64 x.im y.im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
11227
212097
350327
000
100

simplify18.0ms (0.4%)

Algorithm
egg-herbie
Counts
214 → 191
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0124
1124

prune400.0ms (8.7%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New4360436
Fresh000
Picked011
Done011
Total4362438
Error
0b
Counts
438 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 x.re y.re (neg.f64 (*.f64 x.im y.im)))
0.3b
(+.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (fma.f64 (neg.f64 y.im) x.im (*.f64 x.im y.im)) (fma.f64 (neg.f64 y.im) x.im (*.f64 x.im y.im))))
Compiler

Compiled 18601 to 2206 computations (88.1% saved)

regimes227.0ms (4.9%)

Accuracy

Total 0.0b remaining (66.8%)

Threshold costs 0.0b (66.8%)

Counts
8 → 1
Compiler

Compiled 1004 to 629 computations (37.4% saved)

simplify4.0ms (0.1%)

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
0810
11710
22510
33010
43210
53210

end132.0ms (2.9%)

Remove

(sort x.im y.im)

(sort x.re y.re)

Compiler

Compiled 104 to 60 computations (42.3% saved)

Profiling

Loading profile data...