Details

Time bar (total: 1.7s)

analyze117.0ms (7%)

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
37.5%62.4%0.1%6
56.2%43.7%0.1%7
65.6%34.3%0.1%8
76.5%23.4%0.1%9
82%18%0.1%10
87.8%12.1%0.1%11
90.7%9.2%0.1%12
93.8%6.1%0.1%13
95.3%4.6%0.1%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample38.0ms (2.3%)

Algorithm
intervals
Symmetry

(sort x y)

Results
9.0ms256×body128valid
Compiler

Compiled 23 to 15 computations (34.8% saved)

simplify7.0ms (0.4%)

Algorithm
egg-herbie
Rules
hypot-def_binary64
fma-def_binary64
+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074
1104
2124
3124

prune5.0ms (0.3%)

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
(hypot.f64 x y)
Compiler

Compiled 23 to 13 computations (43.5% saved)

localize2.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 x y)

series11.0ms (0.7%)

Counts
1 → 24
Calls

1 calls:

11.0ms
(hypot.f64 x y)

rewrite1.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
1 → 10
Calls

1 calls:

1.0ms
(hypot.f64 x y)

simplify59.0ms (3.5%)

Algorithm
egg-herbie
Rules
755×fma-neg_binary64
537×cancel-sign-sub-inv_binary64
354×neg-mul-1_binary64
312×distribute-rgt-neg-in_binary64
310×distribute-lft-neg-in_binary64
Counts
34 → 42
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
063568
1174541
2511525
32175525
44416525
55032525

prune20.0ms (1.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New41142
Fresh000
Picked011
Done000
Total41243
Error
0.0b
Counts
43 → 2
Alt Table
StatusErrorProgram
0.0b
(hypot.f64 x y)
0.5b
(*.f64 (sqrt.f64 (hypot.f64 x y)) (sqrt.f64 (hypot.f64 x y)))
Compiler

Compiled 567 to 337 computations (40.6% saved)

localize4.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 x y)
0.5b
(*.f64 (sqrt.f64 (hypot.f64 x y)) (sqrt.f64 (hypot.f64 x y)))

series13.0ms (0.8%)

Counts
1 → 24
Calls

1 calls:

11.0ms
(*.f64 (sqrt.f64 (hypot.f64 x y)) (sqrt.f64 (hypot.f64 x y)))

rewrite9.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
25×add-sqr-sqrt_binary64
18×sqrt-prod_binary64
16×pow1_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
1 → 53
Calls

1 calls:

5.0ms
(*.f64 (sqrt.f64 (hypot.f64 x y)) (sqrt.f64 (hypot.f64 x y)))

simplify84.0ms (5%)

Algorithm
egg-herbie
Rules
650×fma-neg_binary64
537×cancel-sign-sub-inv_binary64
312×distribute-rgt-neg-in_binary64
262×distribute-neg-frac_binary64
197×associate-*l*_binary64
Counts
77 → 90
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
093991
1222889
2653855
32507839
44786832
54952832
64950832

prune74.0ms (4.4%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1731174
Fresh000
Picked011
Done011
Total1733176
Error
0b
Counts
176 → 3
Alt Table
StatusErrorProgram
0.6b
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (sqrt.f64 (hypot.f64 x y))))
0.0b
(hypot.f64 x y)
0.5b
(*.f64 (sqrt.f64 (hypot.f64 x y)) (sqrt.f64 (hypot.f64 x y)))
Compiler

Compiled 2865 to 1253 computations (56.3% saved)

localize7.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 x y)
0.1b
(sqrt.f64 (sqrt.f64 (hypot.f64 x y)))
0.3b
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (sqrt.f64 (hypot.f64 x y))))
0.4b
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (sqrt.f64 (hypot.f64 x y)))

series98.0ms (5.9%)

Counts
3 → 72
Calls

3 calls:

48.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (sqrt.f64 (hypot.f64 x y)))
38.0ms
(sqrt.f64 (sqrt.f64 (hypot.f64 x y)))
12.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (sqrt.f64 (hypot.f64 x y))))

rewrite32.0ms (1.9%)

Algorithm
rewrite-expression-head
Rules
55×sqrt-pow1_binary64
51×pow1_binary64
47×sqrt-prod_binary64
47×add-sqr-sqrt_binary64
36×pow-prod-up_binary64
Counts
3 → 121
Calls

3 calls:

13.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (sqrt.f64 (hypot.f64 x y))))
6.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (sqrt.f64 (hypot.f64 x y)))
1.0ms
(sqrt.f64 (sqrt.f64 (hypot.f64 x y)))

simplify122.0ms (7.3%)

Algorithm
egg-herbie
Rules
824×fma-def_binary64
376×cancel-sign-sub-inv_binary64
340×fma-neg_binary64
239×associate-*r*_binary64
212×unswap-sqr_binary64
Counts
193 → 230
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02903811
17703518
223113292
346703292
450213292

prune207.0ms (12.4%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New4090409
Fresh000
Picked011
Done022
Total4093412
Error
0b
Counts
412 → 3
Alt Table
StatusErrorProgram
0.6b
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 x y))) (sqrt.f64 (hypot.f64 x y))))
0.0b
(hypot.f64 x y)
0.5b
(*.f64 (sqrt.f64 (hypot.f64 x y)) (sqrt.f64 (hypot.f64 x y)))
Compiler

Compiled 10128 to 4261 computations (57.9% saved)

regimes177.0ms (10.6%)

Accuracy

Total 0.0b remaining (40.7%)

Threshold costs 0.0b (40.7%)

Counts
22 → 1
Compiler

Compiled 1755 to 1073 computations (38.9% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
144

end6.0ms (0.3%)

Remove

(sort x y)

Compiler

Compiled 15 to 9 computations (40% saved)

sample579.0ms (34.6%)

Algorithm
intervals
Results
323.0ms8000×body128valid
Compiler

Compiled 52 to 27 computations (48.1% saved)

Profiling

Loading profile data...