Details

Time bar (total: 2.9s)

analyze192.0ms (6.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
25%74.9%0.1%5
25%74.9%0.1%6
31.2%50%18.8%7
34.3%43.7%22%8
45.3%26.5%28.2%9
46.8%23.4%29.8%10
48.8%14%37.2%11
49.8%12.1%38.1%12
52.8%7.1%40.1%13
53.3%6.1%40.6%14
Compiler

Compiled 22 to 12 computations (45.5% saved)

sample1.1s (36.8%)

Results
950.0ms8256×body128valid
70.0ms630×body128invalid
Compiler

Compiled 65 to 35 computations (46.2% saved)

simplify22.0ms (0.8%)

Algorithm
egg-herbie
Rules
578×fma-neg_binary64
351×distribute-rgt-in_binary64
280×fma-def_binary64
251×cancel-sign-sub-inv_binary64
244×associate-+l-_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01224
12723
26323
314816
441616
5120516
6215916
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 3))) (pow.f64 x.im 3))
8.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Compiler

Compiled 100 to 58 computations (42% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 3))) (pow.f64 x.im 3))
0.1b
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
0.2b
(*.f64 x.im (*.f64 x.re 3))

series28.0ms (1%)

Counts
3 → 72
Calls

3 calls:

12.0ms
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 3))) (pow.f64 x.im 3))
9.0ms
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
7.0ms
(*.f64 x.im (*.f64 x.re 3))

rewrite53.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
524×log-prod_binary64
305×fma-def_binary64
174×pow1/3_binary64
172×expm1-udef_binary64
172×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
119933
2264233
Stop Event
node limit
Counts
3 → 158
Calls

3 calls:

50.0ms
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 3))) (pow.f64 x.im 3))
50.0ms
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
50.0ms
(*.f64 x.im (*.f64 x.re 3))

simplify47.0ms (1.6%)

Algorithm
egg-herbie
Rules
453×fma-neg_binary64
450×unswap-sqr_binary64
436×distribute-rgt-neg-in_binary64
394×associate-*l*_binary64
390×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014744
138744
295744
3200744
4491744
51825744
63955744
Stop Event
node limit
Counts
230 → 166

prune167.0ms (5.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1606166
Fresh011
Picked011
Done000
Total1608168
Error
0b
Counts
168 → 8
Alt Table
StatusErrorProgram
33.8b
(fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3))) (neg.f64 (pow.f64 x.im 3)))
41.1b
(/.f64 1 (/.f64 (fma.f64 x.re (*.f64 x.im (*.f64 x.re 3)) (pow.f64 x.im 3)) (-.f64 (pow.f64 (*.f64 x.im (*.f64 (*.f64 x.re 3) x.re)) 2) (pow.f64 x.im 6))))
8.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
8.7b
(*.f64 (neg.f64 x.im) (fma.f64 x.im x.im (*.f64 (*.f64 x.re x.re) -3)))
0.2b
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 3))) (pow.f64 x.im 3))
0.6b
(fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (cbrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3))) (neg.f64 (pow.f64 x.im 3)))
33.9b
(fma.f64 (*.f64 (*.f64 x.im x.re) (sqrt.f64 (*.f64 x.re 3))) (sqrt.f64 (*.f64 x.re 3)) (neg.f64 (pow.f64 x.im 3)))
0.2b
(fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))
Compiler

Compiled 3418 to 2351 computations (31.2% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))

series13.0ms (0.4%)

Counts
1 → 24
Calls

1 calls:

12.0ms
(fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))

rewrite83.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
717×log1p-expm1-u_binary64
717×expm1-log1p-u_binary64
333×egg-rr
330×prod-diff_binary64
92×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0916
118714
2225214
Stop Event
node limit
Counts
1 → 333
Calls

1 calls:

73.0ms
(fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))

simplify43.0ms (1.5%)

Algorithm
egg-herbie
Rules
450×unswap-sqr_binary64
428×fma-neg_binary64
404×distribute-rgt-neg-in_binary64
376×fma-def_binary64
361×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012336
132336
287336
3197336
4488336
51724336
63726336
Stop Event
node limit
Counts
357 → 339

prune290.0ms (10%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New3390339
Fresh066
Picked011
Done011
Total3398347
Error
0b
Counts
347 → 8
Alt Table
StatusErrorProgram
33.8b
(fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3))) (neg.f64 (pow.f64 x.im 3)))
41.1b
(/.f64 1 (/.f64 (fma.f64 x.re (*.f64 x.im (*.f64 x.re 3)) (pow.f64 x.im 3)) (-.f64 (pow.f64 (*.f64 x.im (*.f64 (*.f64 x.re 3) x.re)) 2) (pow.f64 x.im 6))))
8.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
8.7b
(*.f64 (neg.f64 x.im) (fma.f64 x.im x.im (*.f64 (*.f64 x.re x.re) -3)))
0.2b
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 3))) (pow.f64 x.im 3))
0.6b
(fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (cbrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3))) (neg.f64 (pow.f64 x.im 3)))
33.9b
(fma.f64 (*.f64 (*.f64 x.im x.re) (sqrt.f64 (*.f64 x.re 3))) (sqrt.f64 (*.f64 x.re 3)) (neg.f64 (pow.f64 x.im 3)))
0.2b
(fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))
Compiler

Compiled 10460 to 5182 computations (50.5% saved)

localize11.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x.im (*.f64 x.re 3))
0.2b
(*.f64 (cbrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3)))
0.5b
(pow.f64 (cbrt.f64 x.re) 2)
0.6b
(cbrt.f64 x.re)

series89.0ms (3.1%)

Counts
3 → 12
Calls

3 calls:

58.0ms
(*.f64 (cbrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3)))
22.0ms
(pow.f64 (cbrt.f64 x.re) 2)
10.0ms
(cbrt.f64 x.re)

rewrite41.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
809×log1p-expm1-u_binary64
809×expm1-log1p-u_binary64
95×add-sqr-sqrt_binary64
94×associate-*r*_binary64
89×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
120421
2231121
Stop Event
node limit
Counts
3 → 56
Calls

3 calls:

40.0ms
(*.f64 (cbrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3)))
40.0ms
(pow.f64 (cbrt.f64 x.re) 2)
40.0ms
(cbrt.f64 x.re)

simplify62.0ms (2.1%)

Algorithm
egg-herbie
Rules
621×sqr-pow_binary64
412×unswap-sqr_binary64
373×pow-sqr_binary64
345×cube-prod_binary64
306×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010144
123144
247144
3102144
4259144
5817144
61172144
71830144
81958144
92138144
102368144
112712144
123169144
133756144
144490144
Stop Event
node limit
Counts
68 → 58

prune100.0ms (3.5%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1021103
Fresh145
Picked011
Done022
Total1038111
Error
0b
Counts
111 → 8
Alt Table
StatusErrorProgram
33.8b
(fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3))) (neg.f64 (pow.f64 x.im 3)))
8.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (cbrt.f64 x.re) (pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 x.re 3))) 3)) (neg.f64 (pow.f64 x.im 3)))
33.9b
(fma.f64 (*.f64 (*.f64 x.im x.re) (sqrt.f64 (*.f64 x.re 3))) (sqrt.f64 (*.f64 x.re 3)) (neg.f64 (pow.f64 x.im 3)))
8.7b
(*.f64 (neg.f64 x.im) (fma.f64 x.im x.im (*.f64 (*.f64 x.re x.re) -3)))
0.2b
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 3))) (pow.f64 x.im 3))
0.6b
(fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (cbrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3))) (neg.f64 (pow.f64 x.im 3)))
0.2b
(fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))
Compiler

Compiled 2353 to 1474 computations (37.4% saved)

localize12.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 x.re) 2)
0.6b
(pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 x.re 3))) 3)
0.6b
(cbrt.f64 x.re)
12.7b
(cbrt.f64 (*.f64 x.im (*.f64 x.re 3)))

series88.0ms (3%)

Counts
2 → 0
Calls

2 calls:

62.0ms
(pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 x.re 3))) 3)
26.0ms
(cbrt.f64 (*.f64 x.im (*.f64 x.re 3)))

rewrite37.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
620×log1p-expm1-u_binary64
620×expm1-log1p-u_binary64
357×log-prod_binary64
123×expm1-udef_binary64
123×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0816
116216
2175116
Stop Event
node limit
Counts
2 → 71
Calls

2 calls:

36.0ms
(pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 x.re 3))) 3)
36.0ms
(cbrt.f64 (*.f64 x.im (*.f64 x.re 3)))

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
71 → 71

prune140.0ms (4.8%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New1350135
Fresh044
Picked011
Done033
Total1358143
Error
0b
Counts
143 → 8
Alt Table
StatusErrorProgram
33.8b
(fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3))) (neg.f64 (pow.f64 x.im 3)))
8.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (cbrt.f64 x.re) (pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 x.re 3))) 3)) (neg.f64 (pow.f64 x.im 3)))
33.9b
(fma.f64 (*.f64 (*.f64 x.im x.re) (sqrt.f64 (*.f64 x.re 3))) (sqrt.f64 (*.f64 x.re 3)) (neg.f64 (pow.f64 x.im 3)))
8.7b
(*.f64 (neg.f64 x.im) (fma.f64 x.im x.im (*.f64 (*.f64 x.re x.re) -3)))
0.2b
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 3))) (pow.f64 x.im 3))
0.6b
(fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (cbrt.f64 x.re) (*.f64 x.im (*.f64 x.re 3))) (neg.f64 (pow.f64 x.im 3)))
0.2b
(fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))
Compiler

Compiled 3389 to 2161 computations (36.2% saved)

regimes164.0ms (5.7%)

Accuracy

Total 0.1b remaining (87.8%)

Threshold costs 0.1b (87.8%)

Counts
56 → 1
Compiler

Compiled 2631 to 1854 computations (29.5% saved)

simplify3.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
0916
11416
21916
32116
42216
Stop Event
saturated

end121.0ms (4.2%)

Compiler

Compiled 163 to 109 computations (33.1% saved)

Profiling

Loading profile data...