Details

Time bar (total: 2.6s)

analyze643.0ms (25%)

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
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
18.7%81.1%0.1%8
28.1%71.8%0.1%9
42.1%57.7%0.1%10
49.1%50.7%0.1%11
57.3%42.5%0.1%12
66.9%33%0.1%13
71.7%28.2%0.1%14
Compiler

Compiled 16 to 10 computations (37.5% saved)

sample978.0ms (37.9%)

Symmetry

(sort x y z)

Results
935.0ms8256×body128valid
0.0msbody128invalid
Compiler

Compiled 47 to 29 computations (38.3% saved)

simplify6.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01016
11514
22514
32914
42914

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
39.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
39.7b
(sqrt.f64 (fma.f64 z z (fma.f64 x x (*.f64 y y))))
Compiler

Compiled 51 to 26 computations (49% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x x (*.f64 y y))
0.0b
(fma.f64 z z (fma.f64 x x (*.f64 y y)))
36.8b
(sqrt.f64 (fma.f64 z z (fma.f64 x x (*.f64 y y))))

series79.0ms (3%)

Counts
3 → 96
Calls

3 calls:

58.0ms
(sqrt.f64 (fma.f64 z z (fma.f64 x x (*.f64 y y))))
15.0ms
(fma.f64 z z (fma.f64 x x (*.f64 y y)))
6.0ms
(fma.f64 x x (*.f64 y y))

rewrite3.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
pow1_binary64
sqrt-prod_binary64
Counts
3 → 35
Calls

3 calls:

1.0ms
(sqrt.f64 (fma.f64 z z (fma.f64 x x (*.f64 y y))))
0.0ms
(fma.f64 z z (fma.f64 x x (*.f64 y y)))
0.0ms
(fma.f64 x x (*.f64 y y))

simplify95.0ms (3.7%)

Algorithm
egg-herbie
Rules
704×cancel-sign-sub-inv_binary64
335×fma-neg_binary64
324×sub-neg_binary64
203×fma-def_binary64
180×distribute-neg-in_binary64
Counts
131 → 140
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02603034
17032846
228902844
349642844
449752844

prune90.0ms (3.5%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New1382140
Fresh000
Picked101
Done000
Total1392141
Error
0.0b
Counts
141 → 2
Alt Table
StatusErrorProgram
0.2b
(hypot.f64 x z)
28.7b
(hypot.f64 y x)
Compiler

Compiled 3738 to 2010 computations (46.2% saved)

localize2.0ms (0.1%)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done000
Total022
Error
0.0b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.2b
(hypot.f64 x z)
28.7b
(hypot.f64 y x)
Compiler

Compiled 18 to 12 computations (33.3% saved)

localize2.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 y x)

series12.0ms (0.5%)

Counts
1 → 24
Calls

1 calls:

12.0ms
(hypot.f64 y x)

rewrite1.0ms (0%)

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:

0.0ms
(hypot.f64 y x)

simplify53.0ms (2.1%)

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

prune18.0ms (0.7%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New42042
Fresh000
Picked011
Done011
Total42244
Error
0.0b
Counts
44 → 2
Alt Table
StatusErrorProgram
0.2b
(hypot.f64 x z)
28.7b
(hypot.f64 y x)
Compiler

Compiled 553 to 333 computations (39.8% saved)

regimes132.0ms (5.1%)

Accuracy

Total 0.3b remaining (50.2%)

Threshold costs 0.3b (50.2%)

Counts
10 → 1
Compiler

Compiled 1256 to 852 computations (32.2% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
144

end452.0ms (17.5%)

Compiler

Compiled 36 to 24 computations (33.3% saved)

Profiling

Loading profile data...