Details

Time bar (total: 1.7s)

analyze101.0ms (5.8%)

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%50%12.6%6
43.7%40.6%15.7%7
56.2%23.4%20.4%8
57.8%21.1%21.2%9
64%12.5%23.5%10
64.8%10.7%24.5%11
67.9%6.4%25.7%12
68.3%5.4%26.3%13
69.9%3.3%26.9%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample859.0ms (49.1%)

Results
778.0ms8256×body128valid
16.0ms158×body128invalid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify30.0ms (1.7%)

Algorithm
egg-herbie
Rules
388×fma-def_binary64
286×fma-neg_binary64
71×distribute-rgt-in_binary64
70×associate-*l*_binary64
69×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11810
24010
38810
415410
521710
638610
751110
865710
972710
1077710
1172410

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
Compiler

Compiled 40 to 25 computations (37.5% saved)

localize5.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
0.0b
(-.f64 (*.f64 x x) (*.f64 x y))

series16.0ms (0.9%)

Counts
2 → 48
Calls

2 calls:

11.0ms
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
6.0ms
(-.f64 (*.f64 x x) (*.f64 x y))

rewrite10.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 46
Calls

2 calls:

5.0ms
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
3.0ms
(-.f64 (*.f64 x x) (*.f64 x y))

simplify72.0ms (4.1%)

Algorithm
egg-herbie
Rules
522×fma-neg_binary64
500×associate-*l*_binary64
430×associate-*r*_binary64
208×fma-def_binary64
177×distribute-rgt-neg-out_binary64
Counts
94 → 87
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0871026
1193954
2582936
32421936
44654936
54890936

prune79.0ms (4.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New85287
Fresh000
Picked011
Done000
Total85388
Error
0b
Counts
88 → 3
Alt Table
StatusErrorProgram
18.1b
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 x (-.f64 x y))) (sqrt.f64 (*.f64 x (-.f64 x y)))))
0.0b
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
0.0b
(*.f64 x (*.f64 2 (-.f64 x y)))
Compiler

Compiled 1304 to 481 computations (63.1% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (*.f64 2 (-.f64 x y)))

series10.0ms (0.6%)

Counts
1 → 24
Calls

1 calls:

10.0ms
(*.f64 x (*.f64 2 (-.f64 x y)))

rewrite15.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
52×distribute-lft-in_binary64
52×distribute-rgt-in_binary64
36×prod-diff_binary64
30×*-un-lft-identity_binary64
30×add-sqr-sqrt_binary64
Counts
1 → 74
Calls

1 calls:

7.0ms
(*.f64 x (*.f64 2 (-.f64 x y)))

simplify91.0ms (5.2%)

Algorithm
egg-herbie
Rules
510×fma-neg_binary64
381×*-commutative_binary64
334×exp-prod_binary64
295×distribute-lft-neg-out_binary64
290×distribute-rgt-neg-out_binary64
Counts
98 → 84
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01911726
12601429
27901213
321921105
445661105
548911105

prune48.0ms (2.7%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New84084
Fresh011
Picked011
Done011
Total84387
Error
0b
Counts
87 → 3
Alt Table
StatusErrorProgram
18.1b
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 x (-.f64 x y))) (sqrt.f64 (*.f64 x (-.f64 x y)))))
0.0b
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
0.0b
(*.f64 x (*.f64 2 (-.f64 x y)))
Compiler

Compiled 1850 to 735 computations (60.3% saved)

localize6.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (-.f64 x y))
0.1b
(*.f64 (sqrt.f64 (*.f64 x (-.f64 x y))) (sqrt.f64 (*.f64 x (-.f64 x y))))
7.0b
(sqrt.f64 (*.f64 x (-.f64 x y)))

series38.0ms (2.2%)

Counts
3 → 60
Calls

3 calls:

24.0ms
(sqrt.f64 (*.f64 x (-.f64 x y)))
8.0ms
(*.f64 x (-.f64 x y))
5.0ms
(*.f64 (sqrt.f64 (*.f64 x (-.f64 x y))) (sqrt.f64 (*.f64 x (-.f64 x y))))

rewrite32.0ms (1.9%)

Algorithm
rewrite-expression-head
Rules
57×pow1_binary64
30×sqrt-pow1_binary64
29×add-sqr-sqrt_binary64
25×*-un-lft-identity_binary64
23×add-cube-cbrt_binary64
Counts
3 → 124
Calls

3 calls:

10.0ms
(*.f64 (sqrt.f64 (*.f64 x (-.f64 x y))) (sqrt.f64 (*.f64 x (-.f64 x y))))
6.0ms
(sqrt.f64 (*.f64 x (-.f64 x y)))
5.0ms
(*.f64 x (-.f64 x y))

simplify100.0ms (5.7%)

Algorithm
egg-herbie
Rules
730×times-frac_binary64
693×unswap-sqr_binary64
463×fma-def_binary64
433×fma-neg_binary64
318×*-commutative_binary64
Counts
184 → 144
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01882285
13011934
211081828
337701734
448021734

prune101.0ms (5.8%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2180218
Fresh000
Picked011
Done022
Total2183221
Error
0b
Counts
221 → 3
Alt Table
StatusErrorProgram
18.1b
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 x (-.f64 x y))) (sqrt.f64 (*.f64 x (-.f64 x y)))))
0.0b
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
0.0b
(*.f64 x (*.f64 2 (-.f64 x y)))
Compiler

Compiled 5164 to 1503 computations (70.9% saved)

regimes75.0ms (4.3%)

Accuracy

Total 0.0b remaining (75.9%)

Threshold costs 0.0b (75.9%)

Counts
19 → 1
Compiler

Compiled 976 to 636 computations (34.8% saved)

simplify3.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
11513
22513
33113
43513
53613
63613

end51.0ms (2.9%)

Compiler

Compiled 59 to 35 computations (40.7% saved)

Profiling

Loading profile data...