Details

Time bar (total: 2.8s)

analyze671.0ms (23.6%)

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)

sample1.0s (36.8%)

Symmetry

(sort x y z)

Results
1.0s8256×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)

localize9.0ms (0.3%)

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 (2.8%)

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))

rewrite55.0ms (1.9%)

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

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0834
115624
2169524
3529824
000
100

simplify88.0ms (3.1%)

Algorithm
egg-herbie
Rules
704×cancel-sign-sub-inv_binary64
387×fma-neg_binary64
324×sub-neg_binary64
205×fma-def_binary64
180×distribute-neg-in_binary64
Counts
188 → 175
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02242667
16702361
227972359
349452359
450092359

prune110.0ms (3.9%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 4035 to 2359 computations (41.5% saved)

localize2.0ms (0.1%)

prune1.0ms (0%)

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
28.7b
(hypot.f64 y x)
0.2b
(hypot.f64 x z)
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)

series13.0ms (0.4%)

Counts
1 → 24
Calls

1 calls:

13.0ms
(hypot.f64 y x)

rewrite68.0ms (2.4%)

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

2 calls:

67.0ms
((hypot.f64 y x))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
1794
28694
347304
456654
000
100

simplify51.0ms (1.8%)

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
62 → 68
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
050488
1160470
2495454
32157454
44396454
55012454

prune27.0ms (0.9%)

Pruning

2 alts after pruning (0 fresh and 2 done)

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

Compiled 817 to 454 computations (44.4% saved)

regimes137.0ms (4.8%)

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

end473.0ms (16.6%)

Compiler

Compiled 36 to 24 computations (33.3% saved)

Profiling

Loading profile data...