Details

Time bar (total: 5.2s)

analyze7.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
75%25%0%4
87.5%12.5%0%5
93.7%6.2%0%6
96.8%3.1%0%7
98.4%1.6%0%8
99.2%0.8%0%9
99.6%0.4%0%10
99.8%0.2%0%11
99.9%0.1%0%12
99.9%0%0%13
99.9%0%0.1%14
Compiler

Compiled 10 to 8 computations (20% saved)

sample1.4s (26.6%)

Results
1.1s8256×body128valid
Compiler

Compiled 29 to 23 computations (20.7% saved)

simplify121.0ms (2.3%)

Algorithm
egg-herbie
Rules
1333×fma-def_binary64
773×distribute-rgt-out_binary64
559×hypot-def_binary64
453×associate-*l*_binary64
451×count-2_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
069
1124
2254
3464
4984
52454
67634
713824
826734
934504
1041444
1144824
1243954
1347664
1449934
1547424

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.1b
(hypot.f64 x x)
Compiler

Compiled 20 to 12 computations (40% saved)

localize2.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(hypot.f64 x x)

series4.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

4.0ms
(hypot.f64 x x)

rewrite69.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
40×egg-rr
Counts
1 → 40
Calls

2 calls:

68.0ms
((hypot.f64 x x))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034
1604
26604
347454
454284
000
100

simplify11.0ms (0.2%)

Algorithm
egg-herbie
Rules
38×fma-def_binary64
sub-neg_binary64
+-commutative_binary64
*-commutative_binary64
distribute-lft-in_binary64
Counts
52 → 43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0780
11280
22480
32580
42980
54780
65880
76380
87580
97280
105880

prune24.0ms (0.5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New38543
Fresh000
Picked011
Done000
Total38644
Error
0.0b
Counts
44 → 6
Alt Table
StatusErrorProgram
0.1b
(hypot.f64 x x)
0.6b
(pow.f64 (sqrt.f64 (hypot.f64 x x)) 2)
1.7b
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (hypot.f64 x x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (hypot.f64 x x))) 3))
32.9b
(*.f64 (sqrt.f64 x) (pow.f64 (+.f64 x x) 1/2))
30.8b
(neg.f64 (*.f64 (sqrt.f64 2) x))
32.2b
(*.f64 (sqrt.f64 2) x)
Compiler

Compiled 469 to 228 computations (51.4% saved)

localize4.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(hypot.f64 x x)
0.1b
(sqrt.f64 (hypot.f64 x x))
0.5b
(pow.f64 (sqrt.f64 (hypot.f64 x x)) 2)

series28.0ms (0.5%)

Counts
2 → 0
Calls

2 calls:

16.0ms
(pow.f64 (sqrt.f64 (hypot.f64 x x)) 2)
11.0ms
(sqrt.f64 (hypot.f64 x x))

rewrite77.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
88×egg-rr
Counts
2 → 88
Calls

2 calls:

75.0ms
((pow.f64 (sqrt.f64 (hypot.f64 x x)) 2) (sqrt.f64 (hypot.f64 x x)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
110610
2103210
3450910
4554710
000
100

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Counts
88 → 88
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune66.0ms (1.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1292131
Fresh134
Picked101
Done011
Total1316137
Error
0.0b
Counts
137 → 6
Alt Table
StatusErrorProgram
1.0b
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 x x) 1/4) 2) 2)
30.8b
(neg.f64 (*.f64 (sqrt.f64 2) x))
0.1b
(hypot.f64 x x)
23.6b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x x)) 5) 1/2) (pow.f64 (hypot.f64 x x) 1/6))
32.9b
(*.f64 (sqrt.f64 x) (pow.f64 (+.f64 x x) 1/2))
32.2b
(*.f64 (sqrt.f64 2) x)
Compiler

Compiled 1539 to 838 computations (45.5% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(pow.f64 (hypot.f64 x x) 1/4)
0.1b
(hypot.f64 x x)
0.5b
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 x x) 1/4) 2) 2)
0.5b
(pow.f64 (pow.f64 (hypot.f64 x x) 1/4) 2)

series1.0s (19.8%)

Counts
3 → 36
Calls

3 calls:

495.0ms
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 x x) 1/4) 2) 2)
317.0ms
(pow.f64 (pow.f64 (hypot.f64 x x) 1/4) 2)
208.0ms
(pow.f64 (hypot.f64 x x) 1/4)

rewrite60.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
159×egg-rr
Counts
3 → 159
Calls

2 calls:

57.0ms
((pow.f64 (pow.f64 (hypot.f64 x x) 1/4) 2) (pow.f64 (pow.f64 (pow.f64 (hypot.f64 x x) 1/4) 2) 2) (pow.f64 (hypot.f64 x x) 1/4))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0824
117417
2141217
3522717
000
100

simplify74.0ms (1.4%)

Algorithm
egg-herbie
Rules
845×fma-neg_binary64
483×fma-def_binary64
395×associate-+l+_binary64
393×*-commutative_binary64
342×associate-+r+_binary64
Counts
195 → 173
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
029648
168648
2114564
3379348
41568312
53697312
64996312
74896312

prune130.0ms (2.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2160216
Fresh044
Picked011
Done011
Total2166222
Error
0.0b
Counts
222 → 6
Alt Table
StatusErrorProgram
1.0b
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 x x) 1/4) 2) 2)
30.8b
(neg.f64 (*.f64 (sqrt.f64 2) x))
0.1b
(hypot.f64 x x)
23.6b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x x)) 5) 1/2) (pow.f64 (hypot.f64 x x) 1/6))
32.9b
(*.f64 (sqrt.f64 x) (pow.f64 (+.f64 x x) 1/2))
32.2b
(*.f64 (sqrt.f64 2) x)
Compiler

Compiled 3213 to 1870 computations (41.8% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (hypot.f64 x x))
0.6b
(pow.f64 (cbrt.f64 (hypot.f64 x x)) 5)
4.0b
(pow.f64 (hypot.f64 x x) 1/6)
21.2b
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x x)) 5) 1/2)

series1.6s (31.1%)

Counts
4 → 48
Calls

4 calls:

942.0ms
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x x)) 5) 1/2)
232.0ms
(pow.f64 (cbrt.f64 (hypot.f64 x x)) 5)
215.0ms
(pow.f64 (hypot.f64 x x) 1/6)
214.0ms
(cbrt.f64 (hypot.f64 x x))

rewrite51.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
86×egg-rr
Counts
4 → 86
Calls

2 calls:

49.0ms
((pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x x)) 5) 1/2) (pow.f64 (hypot.f64 x x) 1/6) (pow.f64 (cbrt.f64 (hypot.f64 x x)) 5) (cbrt.f64 (hypot.f64 x x)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01031
121427
2203027
3486427
000
100

simplify97.0ms (1.9%)

Algorithm
egg-herbie
Rules
390×fma-def_binary64
232×distribute-rgt-in_binary64
211×associate-*l*_binary64
205×exp-diff_binary64
196×associate-*r*_binary64
Counts
134 → 103
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
036828
182828
2124672
3293480
4732480
52070476
64494476
74814476
84992476
94815476

prune53.0ms (1%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1021103
Fresh033
Picked011
Done022
Total1027109
Error
0b
Counts
109 → 7
Alt Table
StatusErrorProgram
0.1b
(hypot.f64 x x)
41.3b
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 x x)) 10))) (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 x x) 5/3)))) (pow.f64 (hypot.f64 x x) 1/6))
1.0b
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 x x) 1/4) 2) 2)
30.8b
(neg.f64 (*.f64 (sqrt.f64 2) x))
23.6b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x x)) 5) 1/2) (pow.f64 (hypot.f64 x x) 1/6))
32.9b
(*.f64 (sqrt.f64 x) (pow.f64 (+.f64 x x) 1/2))
32.2b
(*.f64 (sqrt.f64 2) x)
Compiler

Compiled 1947 to 1147 computations (41.1% saved)

regimes177.0ms (3.4%)

Accuracy

Total 0.1b remaining (70.6%)

Threshold costs 0.1b (70.6%)

Counts
53 → 1
Compiler

Compiled 2214 to 1666 computations (24.8% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034
134

end82.0ms (1.6%)

Compiler

Compiled 80 to 54 computations (32.5% saved)

Profiling

Loading profile data...