Details

Time bar (total: 2.9s)

analyze93.0ms (3.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
25%74.9%0.1%5
25%50%25.1%6
25%31.2%43.8%7
31.2%25%43.8%8
39%17.2%43.8%9
42.9%13.3%43.8%10
47.2%9%43.8%11
49.4%6.8%43.8%12
51.6%4.6%43.8%13
52.7%3.5%43.8%14
Compiler

Compiled 18 to 8 computations (55.6% saved)

sample929.0ms (32.2%)

Results
898.0ms8256×body128valid
1.0msbody128invalid
Compiler

Compiled 53 to 23 computations (56.6% saved)

simplify8.0ms (0.3%)

Algorithm
egg-herbie
Rules
28×fma-def_binary64
*-commutative_binary64
associate-+l+_binary64
associate-*r*_binary64
+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0820
11515
23011
34911
46311
56711
66511

prune3.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.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
0.2b
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
Compiler

Compiled 79 to 36 computations (54.4% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))

series7.0ms (0.2%)

Counts
1 → 24
Calls

1 calls:

7.0ms
(fma.f64 y (*.f64 y 3) (*.f64 x x))

rewrite70.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
571×log1p-expm1-u_binary64
571×expm1-log1p-u_binary64
303×log-prod_binary64
302×fma-def_binary64
121×expm1-udef_binary64
Counts
1 → 30
Calls

1 calls:

69.0ms
(fma.f64 y (*.f64 y 3) (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
114011
2150711
3490311
4511411
000
100

simplify149.0ms (5.2%)

Algorithm
egg-herbie
Rules
1238×sqr-pow_binary64
688×fabs-mul_binary64
666×cube-prod_binary64
611×associate-*l*_binary64
532×pow-sqr_binary64
Counts
54 → 36
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09231
120231
233231
361231
4130231
5322231
61004231
71111231
81273231
91486231
101757231
112105231
122536231
132980231
143730231
154019231
164362231
174495231
184546231
194574231
205448231

prune27.0ms (0.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New33336
Fresh011
Picked011
Done000
Total33538
Error
0.0b
Counts
38 → 5
Alt Table
StatusErrorProgram
38.7b
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x)) 3))
0.3b
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
1.1b
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) 3)
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
0.2b
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
Compiler

Compiled 582 to 334 computations (42.6% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))
0.0b
(+.f64 (*.f64 x x) (*.f64 y y))
0.2b
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))

series23.0ms (0.8%)

Counts
3 → 72
Calls

3 calls:

8.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
8.0ms
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))
7.0ms
(+.f64 (*.f64 x x) (*.f64 y y))

rewrite93.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
752×fma-def_binary64
308×fma-neg_binary64
239×egg-rr
173×expm1-udef_binary64
173×log1p-udef_binary64
Counts
3 → 239
Calls

3 calls:

69.0ms
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y))
69.0ms
(+.f64 (*.f64 x x) (*.f64 y y))
69.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0842
119030
2263930
3502130
000
100

simplify178.0ms (6.2%)

Algorithm
egg-herbie
Rules
1078×sqr-pow_binary64
786×cube-prod_binary64
770×fabs-mul_binary64
484×unswap-sqr_binary64
392×pow-sqr_binary64
Counts
311 → 251
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
012666
127630
248630
386630
4185630
5457630
6673630
71140630
81207630
91399630
101604630
111894630
122170630
132589630
143220630
153532630
163884630
174038630
184106630
194148630
204945630
214917630

prune160.0ms (5.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2483251
Fresh033
Picked101
Done011
Total2497256
Error
0.0b
Counts
256 → 7
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y (+.f64 y y) (pow.f64 (hypot.f64 x y) 2))
38.7b
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x)) 3))
0.2b
(fma.f64 y y (pow.f64 (hypot.f64 y (hypot.f64 x y)) 2))
0.3b
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
1.1b
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) 3)
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
30.3b
(+.f64 (+.f64 (fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y) (*.f64 x x)) (*.f64 y y)) (*.f64 y y))
Compiler

Compiled 4798 to 2035 computations (57.6% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (hypot.f64 x y) 2)
0.1b
(fma.f64 y (+.f64 y y) (pow.f64 (hypot.f64 x y) 2))

series84.0ms (2.9%)

Counts
2 → 48
Calls

2 calls:

43.0ms
(fma.f64 y (+.f64 y y) (pow.f64 (hypot.f64 x y) 2))
40.0ms
(pow.f64 (hypot.f64 x y) 2)

rewrite45.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
754×prod-diff_binary64
679×log1p-expm1-u_binary64
679×expm1-log1p-u_binary64
84×add-sqr-sqrt_binary64
79×add-log-exp_binary64
Counts
2 → 46
Calls

2 calls:

44.0ms
(pow.f64 (hypot.f64 x y) 2)
44.0ms
(fma.f64 y (+.f64 y y) (pow.f64 (hypot.f64 x y) 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
117120
2175220
3543920
000
100

simplify161.0ms (5.6%)

Algorithm
egg-herbie
Rules
1238×sqr-pow_binary64
688×fabs-mul_binary64
666×cube-prod_binary64
611×associate-*l*_binary64
532×pow-sqr_binary64
Counts
94 → 55
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
010435
122399
237399
365399
4138399
5334399
61024399
71159399
81321399
91534399
101805399
112151399
122582399
133022399
143772399
154061399
164404399
174537399
184588399
194616399
205490399

prune38.0ms (1.3%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New55055
Fresh055
Picked011
Done011
Total55762
Error
0.0b
Counts
62 → 7
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y (+.f64 y y) (pow.f64 (hypot.f64 x y) 2))
38.7b
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x)) 3))
0.2b
(fma.f64 y y (pow.f64 (hypot.f64 y (hypot.f64 x y)) 2))
0.3b
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
1.1b
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) 3)
0.1b
(fma.f64 y (*.f64 y 3) (*.f64 x x))
30.3b
(+.f64 (+.f64 (fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y) (*.f64 x x)) (*.f64 y y)) (*.f64 y y))
Compiler

Compiled 912 to 396 computations (56.6% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(hypot.f64 y (hypot.f64 x y))
0.1b
(fma.f64 y y (pow.f64 (hypot.f64 y (hypot.f64 x y)) 2))
0.3b
(pow.f64 (hypot.f64 y (hypot.f64 x y)) 2)

series208.0ms (7.2%)

Counts
3 → 72
Calls

3 calls:

97.0ms
(fma.f64 y y (pow.f64 (hypot.f64 y (hypot.f64 x y)) 2))
92.0ms
(pow.f64 (hypot.f64 y (hypot.f64 x y)) 2)
19.0ms
(hypot.f64 y (hypot.f64 x y))

rewrite101.0ms (3.5%)

Algorithm
batch-egg-rewrite
Rules
632×log1p-expm1-u_binary64
632×expm1-log1p-u_binary64
179×prod-diff_binary64
178×fma-udef_binary64
136×expm1-udef_binary64
Counts
3 → 87
Calls

3 calls:

99.0ms
(hypot.f64 y (hypot.f64 x y))
99.0ms
(fma.f64 y y (pow.f64 (hypot.f64 y (hypot.f64 x y)) 2))
99.0ms
(pow.f64 (hypot.f64 y (hypot.f64 x y)) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0831
116330
2165730
3492230
4493030
5495430
000
100

simplify59.0ms (2%)

Algorithm
egg-herbie
Rules
992×fma-neg_binary64
611×times-frac_binary64
333×unswap-sqr_binary64
250×associate-/l*_binary64
239×associate-/r*_binary64
Counts
159 → 130
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0691139
12211095
26641065
336231065
450681065

prune96.0ms (3.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1291130
Fresh134
Picked011
Done112
Total1316137
Error
0.0b
Counts
137 → 6
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y (+.f64 y y) (pow.f64 (hypot.f64 x y) 2))
38.7b
(cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x)) 3))
0.2b
(fma.f64 y y (pow.f64 (hypot.f64 y (hypot.f64 x y)) 2))
0.3b
(pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 3)))) 2)
0.5b
(fma.f64 y y (+.f64 (*.f64 (pow.f64 y 2) (pow.f64 (sqrt.f64 2) 2)) (pow.f64 x 2)))
1.1b
(pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y 3) (*.f64 x x))) 3)
Compiler

Compiled 2287 to 1130 computations (50.6% saved)

regimes235.0ms (8.2%)

Accuracy

Total 0.0b remaining (84.2%)

Threshold costs 0.0b (84.2%)

Counts
47 → 1
Compiler

Compiled 3473 to 2206 computations (36.5% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
1814

end92.0ms (3.2%)

Compiler

Compiled 103 to 68 computations (34% saved)

Profiling

Loading profile data...