Details

Time bar (total: 3.0s)

analyze408.0ms (13.5%)

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
25%74.9%0.1%8
31.2%64%4.8%9
31.2%42.1%26.7%10
35.9%37.1%27.1%11
38.2%32.2%29.6%12
47.8%21.6%30.6%13
50.2%19%30.8%14
Compiler

Compiled 19 to 9 computations (52.6% saved)

sample956.0ms (31.6%)

Symmetry

(sort x y)

Results
866.0ms8256×body128valid
57.0ms514×body128invalid
Compiler

Compiled 56 to 26 computations (53.6% saved)

simplify11.0ms (0.4%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
0920
11715
23411
35411
46811
57211
67011

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (*.f64 z 3) (*.f64 x y))
0.1b
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
Compiler

Compiled 84 to 41 computations (51.2% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z))
0.0b
(+.f64 (*.f64 x y) (*.f64 z z))
0.1b
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z)) (*.f64 z z))

series33.0ms (1.1%)

Counts
3 → 108
Calls

3 calls:

13.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
12.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z))
8.0ms
(+.f64 (*.f64 x y) (*.f64 z z))

rewrite18.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
19×add-log-exp_binary64
10×sum-log_binary64
fma-def_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
Counts
3 → 51
Calls

3 calls:

8.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
5.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z))
3.0ms
(+.f64 (*.f64 x y) (*.f64 z z))

simplify90.0ms (3%)

Algorithm
egg-herbie
Rules
700×fma-neg_binary64
652×fma-def_binary64
387×distribute-rgt-in_binary64
335×distribute-lft-in_binary64
267×associate-*l*_binary64
Counts
159 → 93
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0781788
12461682
27751595
331421591
446401591
551151591

prune62.0ms (2.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New90393
Fresh011
Picked101
Done000
Total91495
Error
0b
Counts
95 → 4
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (*.f64 z 3) (*.f64 x y))
1.0b
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 x y) (*.f64 z z))) (cbrt.f64 (+.f64 (*.f64 x y) (*.f64 z z)))) (cbrt.f64 (+.f64 (*.f64 x y) (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
0.1b
(+.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
18.3b
(fma.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z))) (sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z z)) (*.f64 z z))) (*.f64 z z))
Compiler

Compiled 2151 to 468 computations (78.2% saved)

localize10.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z))
0.0b
(fma.f64 x y (*.f64 z z))
0.1b
(+.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z)) (*.f64 z z))

series39.0ms (1.3%)

Counts
3 → 108
Calls

3 calls:

15.0ms
(+.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
14.0ms
(fma.f64 x y (*.f64 z z))
11.0ms
(+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z))

rewrite13.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
10×add-log-exp_binary64
fma-def_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
3 → 45
Calls

3 calls:

4.0ms
(+.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
2.0ms
(+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z))
0.0ms
(fma.f64 x y (*.f64 z z))

simplify113.0ms (3.7%)

Algorithm
egg-herbie
Rules
374×fma-def_binary64
339×cancel-sign-sub-inv_binary64
338×fma-neg_binary64
322×associate--r+_binary64
296×distribute-rgt-out_binary64
Counts
153 → 86
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0661729
11811584
25131502
320091500
444531500
549161500
648381500

prune42.0ms (1.4%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New84286
Fresh213
Picked011
Done000
Total86490
Error
0b
Counts
90 → 4
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (*.f64 z 3) (*.f64 x y))
1.0b
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
0.1b
(+.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
18.3b
(fma.f64 (sqrt.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z))) (sqrt.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z))) (*.f64 z z))
Compiler

Compiled 1860 to 410 computations (78% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z (*.f64 z 3) (*.f64 x y))

series13.0ms (0.4%)

Counts
1 → 36
Calls

1 calls:

13.0ms
(fma.f64 z (*.f64 z 3) (*.f64 x y))

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
(fma.f64 z (*.f64 z 3) (*.f64 x y))

simplify64.0ms (2.1%)

Algorithm
egg-herbie
Rules
893×fma-def_binary64
483×distribute-rgt-out_binary64
466×distribute-rgt-in_binary64
458×distribute-lft-in_binary64
301×*-commutative_binary64
Counts
46 → 23
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023508
134485
265485
3184485
4750485
52905485
63790485
74921485

prune18.0ms (0.6%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New23023
Fresh022
Picked011
Done011
Total23427
Error
0b
Counts
27 → 4
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (*.f64 z 3) (*.f64 x y))
1.0b
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
0.1b
(+.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
18.3b
(fma.f64 (sqrt.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z))) (sqrt.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z))) (*.f64 z z))
Compiler

Compiled 439 to 191 computations (56.5% saved)

localize12.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
0.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (cbrt.f64 (fma.f64 x y (*.f64 z z))))
0.5b
(*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z))))
2.0b
(cbrt.f64 (fma.f64 x y (*.f64 z z)))

series149.0ms (4.9%)

Counts
4 → 144
Calls

4 calls:

67.0ms
(*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z))))
57.0ms
(cbrt.f64 (fma.f64 x y (*.f64 z z)))
15.0ms
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
9.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (cbrt.f64 (fma.f64 x y (*.f64 z z))))

rewrite33.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
30×pow1_binary64
26×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
16×*-un-lft-identity_binary64
16×add-cube-cbrt_binary64
Counts
4 → 111
Calls

4 calls:

11.0ms
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
7.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (cbrt.f64 (fma.f64 x y (*.f64 z z))))
6.0ms
(*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z))))
1.0ms
(cbrt.f64 (fma.f64 x y (*.f64 z z)))

simplify161.0ms (5.3%)

Algorithm
egg-herbie
Rules
392×unswap-sqr_binary64
361×associate-*r*_binary64
278×associate-*l*_binary64
254×times-frac_binary64
238×associate-/r*_binary64
Counts
255 → 258
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03656883
111396363
239966054
351726054

prune240.0ms (7.9%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New3920392
Fresh011
Picked011
Done022
Total3924396
Error
0b
Counts
396 → 4
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (*.f64 z 3) (*.f64 x y))
1.0b
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z z))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (cbrt.f64 (fma.f64 x y (*.f64 z z)))) (*.f64 z z)) (*.f64 z z))
0.1b
(+.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z)) (*.f64 z z))
18.3b
(fma.f64 (sqrt.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z))) (sqrt.f64 (+.f64 (fma.f64 x y (*.f64 z z)) (*.f64 z z))) (*.f64 z z))
Compiler

Compiled 18786 to 6131 computations (67.4% saved)

regimes449.0ms (14.8%)

Accuracy

Total 0.1b remaining (86%)

Threshold costs 0.1b (86%)

Counts
74 → 1
Compiler

Compiled 10959 to 4841 computations (55.8% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
11020
21020

end75.0ms (2.5%)

Remove

(sort x y)

Compiler

Compiled 159 to 60 computations (62.3% saved)

Profiling

Loading profile data...