Details

Time bar (total: 4.8s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
100%0%0%1
Compiler

Compiled 14 to 13 computations (7.1% saved)

sample2.1s (44.9%)

Results
1.1s2156×body2048valid
461.0ms4333×body128valid
372.0ms991×body1024valid
151.0ms529×body512valid
49.0ms247×body256valid
Compiler

Compiled 41 to 38 computations (7.3% saved)

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
sub-neg_binary64
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
associate-+l-_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01018
12215
22715
33515
44215
55215
66015
76915
87215
95315

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
16.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
16.1b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
Compiler

Compiled 45 to 41 computations (8.9% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1/2 (hypot.f64 1 x))
0.0b
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
1.8b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))

series13.0ms (0.3%)

Counts
4 → 48
Calls

4 calls:

5.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
4.0ms
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
3.0ms
(/.f64 1/2 (hypot.f64 1 x))
2.0ms
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

rewrite94.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
466×prod-diff_binary64
406×log-prod_binary64
205×fma-def_binary64
170×expm1-udef_binary64
169×log1p-udef_binary64
Counts
4 → 143
Calls

4 calls:

91.0ms
(/.f64 1/2 (hypot.f64 1 x))
91.0ms
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
91.0ms
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
91.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0944
120044
2240844
3493344
4509444
000
100

simplify56.0ms (1.2%)

Algorithm
egg-herbie
Rules
752×fma-neg_binary64
538×sub-neg_binary64
430×fma-def_binary64
239×associate--l+_binary64
232×cancel-sign-sub-inv_binary64
Counts
191 → 223
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0120934
1399916
21174892
33690892
44978892

prune178.0ms (3.7%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New2203223
Fresh000
Picked101
Done000
Total2213224
Error
0.0b
Counts
224 → 3
Alt Table
StatusErrorProgram
16.4b
(pow.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
33.5b
(fma.f64 1/8 (*.f64 x x) (fma.f64 69/1024 (pow.f64 x 6) (fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128))))
15.6b
(*.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
Compiler

Compiled 4147 to 3682 computations (11.2% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
0.0b
(/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
0.0b
(*.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
1.3b
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

series30.0ms (0.6%)

Counts
3 → 36
Calls

3 calls:

17.0ms
(*.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
10.0ms
(/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
3.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

rewrite71.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
492×prod-diff_binary64
228×expm1-udef_binary64
228×log1p-udef_binary64
132×add-sqr-sqrt_binary64
127×log1p-expm1-u_binary64
Counts
3 → 119
Calls

3 calls:

68.0ms
(/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
68.0ms
(*.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
68.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01255
127343
2341443
3496643
000
100

simplify77.0ms (1.6%)

Algorithm
egg-herbie
Rules
866×fma-def_binary64
507×distribute-rgt-in_binary64
254×times-frac_binary64
248×fma-neg_binary64
204×cancel-sign-sub-inv_binary64
Counts
155 → 182
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02162084
17031778
224221721
349291721
449851721

prune229.0ms (4.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2331234
Fresh112
Picked011
Done000
Total2343237
Error
0b
Counts
237 → 3
Alt Table
StatusErrorProgram
16.4b
(pow.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
33.5b
(fma.f64 x (*.f64 x 1/8) (fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128))))
15.6b
(*.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
Compiler

Compiled 7872 to 7039 computations (10.6% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
0.0b
(sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
0.0b
(pow.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
1.8b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))

series27.0ms (0.6%)

Counts
2 → 24
Calls

2 calls:

15.0ms
(pow.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
11.0ms
(sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))

rewrite61.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
461×log-prod_binary64
387×prod-diff_binary64
224×fma-def_binary64
195×expm1-udef_binary64
194×log1p-udef_binary64
Counts
2 → 75
Calls

2 calls:

59.0ms
(sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
59.0ms
(pow.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01232
124532
2273532
3532732
000
100

simplify46.0ms (1%)

Algorithm
egg-herbie
Rules
705×fma-def_binary64
660×associate-/r*_binary64
610×times-frac_binary64
288×cancel-sign-sub-inv_binary64
241×associate-/l*_binary64
Counts
99 → 116
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01551246
14721071
21694991
35324991

prune179.0ms (3.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2310231
Fresh011
Picked011
Done011
Total2313234
Error
0b
Counts
234 → 3
Alt Table
StatusErrorProgram
16.4b
(pow.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
33.5b
(fma.f64 x (*.f64 x 1/8) (fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128))))
15.6b
(*.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
Compiler

Compiled 5730 to 5208 computations (9.1% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128))
0.1b
(*.f64 (pow.f64 x 4) -11/128)
27.8b
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128)))

series11.0ms (0.2%)

Counts
3 → 36
Calls

3 calls:

4.0ms
(fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128))
4.0ms
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128)))
3.0ms
(*.f64 (pow.f64 x 4) -11/128)

rewrite88.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
476×log-prod_binary64
218×expm1-udef_binary64
218×log1p-udef_binary64
189×pow3_binary64
184×log-pow_binary64
Counts
3 → 78
Calls

3 calls:

86.0ms
(fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128))
86.0ms
(*.f64 (pow.f64 x 4) -11/128)
86.0ms
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01442
129842
2275042
3500042
4479542
000
100

simplify81.0ms (1.7%)

Algorithm
egg-herbie
Rules
730×fma-neg_binary64
591×cancel-sign-sub-inv_binary64
517×unswap-sqr_binary64
369×distribute-rgt-neg-in_binary64
358×*-commutative_binary64
Counts
114 → 89
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
023456
158450
2126420
3352420
41231420
52769420
64572420
74911420

prune81.0ms (1.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New89089
Fresh000
Picked011
Done022
Total89392
Error
0b
Counts
92 → 3
Alt Table
StatusErrorProgram
16.4b
(pow.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) 2)
33.5b
(fma.f64 x (*.f64 x 1/8) (fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128))))
15.6b
(*.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (/.f64 1 (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
Compiler

Compiled 2329 to 1833 computations (21.3% saved)

regimes1.2s (24.3%)

Accuracy

Total 0.0b remaining (39.2%)

Threshold costs 0.0b (39.2%)

Counts
154 → 2
Compiler

Compiled 17203 to 15409 computations (10.4% saved)

bsearch4.0ms (0.1%)

Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
distribute-neg-frac_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03167
13967
24667
34867
44967
54767

end89.0ms (1.9%)

Compiler

Compiled 150 to 126 computations (16% saved)

Profiling

Loading profile data...