Details

Time bar (total: 7.7s)

analyze560.0ms (7.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
50%50%0.1%5
50%50%0.1%6
50%40.6%9.5%7
50%39%11%8
50%33.6%16.5%9
50%32.4%17.7%10
50%29.5%20.6%11
50%28.8%21.3%12
50%27.3%22.8%13
50%26.9%23.1%14
Compiler

Compiled 15 to 12 computations (20% saved)

sample5.6s (71.9%)

Results
1.6s2066×body1024valid
1.2s2042×body1024invalid
1.0s1019×body512valid
749.0ms4697×body128valid
383.0ms1018×body512invalid
182.0ms467×body256valid
153.0ms532×body256invalid
121.0ms814×body128invalid
16.0msbody2048valid
Compiler

Compiled 44 to 35 computations (20.5% saved)

simplify87.0ms (1.1%)

Algorithm
egg-herbie
Rules
778×unswap-sqr_binary64
536×fma-def_binary64
491×associate-/r*_binary64
476×fabs-mul_binary64
360×associate-/l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01218
12718
26518
310417
413717
519617
632917
773617
8224217
9225017
10261917
11412817
12456317
13539117

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Compiler

Compiled 51 to 34 computations (33.3% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
0.0b
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
0.0b
(/.f64 1/2 (exp.f64 im))

series37.0ms (0.5%)

Counts
3 → 40
Calls

3 calls:

24.0ms
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
7.0ms
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
6.0ms
(/.f64 1/2 (exp.f64 im))

rewrite50.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
804×log1p-expm1-u_binary64
804×expm1-log1p-u_binary64
116×prod-diff_binary64
92×add-sqr-sqrt_binary64
86×add-log-exp_binary64
Counts
3 → 63
Calls

3 calls:

49.0ms
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
49.0ms
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
49.0ms
(/.f64 1/2 (exp.f64 im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0935
118235
2211535
3512035
000
100

simplify45.0ms (0.6%)

Algorithm
egg-herbie
Rules
685×fma-neg_binary64
601×associate--r+_binary64
447×fma-def_binary64
298×sub-neg_binary64
175×associate-*l*_binary64
Counts
103 → 96
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
083796
1250739
2748715
32524700
45057700

prune97.0ms (1.3%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New92496
Fresh000
Picked101
Done000
Total93497
Error
0b
Counts
97 → 4
Alt Table
StatusErrorProgram
0.0b
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
0.8b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
32.4b
(-.f64 (+.f64 (*.f64 1/2 (*.f64 re (exp.f64 im))) (*.f64 1/2 (/.f64 re (exp.f64 im)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 3) (exp.f64 im))) (*.f64 1/12 (/.f64 (pow.f64 re 3) (exp.f64 im)))))
0.0b
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)))
Compiler

Compiled 1754 to 1023 computations (41.7% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
0.0b
(*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re))
0.0b
(/.f64 1/2 (exp.f64 im))
0.0b
(*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))

series56.0ms (0.7%)

Counts
3 → 72
Calls

3 calls:

28.0ms
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
18.0ms
(*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))
10.0ms
(*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re))

rewrite76.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
448×fma-def_binary64
222×fma-neg_binary64
218×expm1-udef_binary64
218×log1p-udef_binary64
191×log-pow_binary64
Counts
3 → 114
Calls

3 calls:

73.0ms
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
73.0ms
(*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re))
73.0ms
(*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01141
123939
2307336
3492636
000
100

simplify105.0ms (1.4%)

Algorithm
egg-herbie
Rules
732×fma-def_binary64
397×sub-neg_binary64
285×distribute-lft-out_binary64
256×cancel-sign-sub-inv_binary64
232×distribute-rgt-neg-in_binary64
Counts
186 → 161
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01001397
13261308
29891268
332831204
449891204
549911204
649481204

prune137.0ms (1.8%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New1882190
Fresh303
Picked101
Done000
Total1922194
Error
0b
Counts
194 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
0.8b
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
Compiler

Compiled 4025 to 2184 computations (45.7% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
0.0b
(/.f64 (sin.f64 re) (exp.f64 im))
0.0b
(*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)))

series58.0ms (0.7%)

Counts
3 → 56
Calls

3 calls:

30.0ms
(fma.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
14.0ms
(/.f64 (sin.f64 re) (exp.f64 im))
13.0ms
(*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)))

rewrite65.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
526×log-prod_binary64
263×prod-diff_binary64
186×expm1-udef_binary64
186×log1p-udef_binary64
172×pow3_binary64
Counts
3 → 84
Calls

3 calls:

63.0ms
(fma.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
63.0ms
(/.f64 (sin.f64 re) (exp.f64 im))
63.0ms
(*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01041
120341
2246441
3495041
000
100

simplify97.0ms (1.2%)

Algorithm
egg-herbie
Rules
707×fma-def_binary64
394×sub-neg_binary64
245×distribute-rgt-neg-in_binary64
241×associate-*r*_binary64
241×cancel-sign-sub-inv_binary64
Counts
140 → 131
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01081199
13441108
210281071
333961010
449991010
549951010
649471010

prune80.0ms (1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1310131
Fresh011
Picked011
Done000
Total1312133
Error
0b
Counts
133 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
0.8b
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
Compiler

Compiled 2890 to 1389 computations (51.9% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
0.1b
(*.f64 (sin.f64 re) (*.f64 im im))

series28.0ms (0.4%)

Counts
2 → 48
Calls

2 calls:

17.0ms
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
11.0ms
(*.f64 (sin.f64 re) (*.f64 im im))

rewrite76.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
683×log1p-expm1-u_binary64
683×expm1-log1p-u_binary64
141×expm1-udef_binary64
141×log1p-udef_binary64
127×log-pow_binary64
Counts
2 → 41
Calls

2 calls:

75.0ms
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
75.0ms
(*.f64 (sin.f64 re) (*.f64 im im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0824
116124
2178324
3495824
4493924
000
100

simplify68.0ms (0.9%)

Algorithm
egg-herbie
Rules
599×associate--r+_binary64
397×fma-def_binary64
338×distribute-rgt-neg-in_binary64
328×distribute-lft-neg-in_binary64
309×sub-neg_binary64
Counts
89 → 64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
056780
1171718
2606648
32548648
44963648
55062648

prune40.0ms (0.5%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New64064
Fresh000
Picked011
Done011
Total64266
Error
0b
Counts
66 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
0.8b
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
Compiler

Compiled 1111 to 561 computations (49.5% saved)

regimes327.0ms (4.2%)

Accuracy

Total 0.0b remaining (38.2%)

Threshold costs 0.0b (38.2%)

Counts
58 → 1
Compiler

Compiled 5082 to 3699 computations (27.2% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01124
11524
21524

end50.0ms (0.6%)

Compiler

Compiled 62 to 39 computations (37.1% saved)

Profiling

Loading profile data...