Details

Time bar (total: 3.2s)

analyze450.0ms (14.3%)

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
34.3%63.2%2.5%9
40.6%52.7%6.8%10
48.4%42.1%9.5%11
56.2%32.5%11.4%12
59.1%26.9%14%13
63.9%21%15.1%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample886.0ms (28.1%)

Results
792.0ms8256×body128valid
59.0ms602×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify9.0ms (0.3%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0710
1168
2268
3398
4488
5558
6538
7718
8758
9888
10948
11998
121008
13988

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.0b
(+.f64 x (*.f64 y (+.f64 z x)))
0.0b
(fma.f64 y (+.f64 x z) x)
Compiler

Compiled 54 to 30 computations (44.4% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

series6.0ms (0.2%)

Counts
1 → 36
Calls

1 calls:

6.0ms
(fma.f64 y (+.f64 x z) 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
(fma.f64 y (+.f64 x z) x)

simplify87.0ms (2.8%)

Algorithm
egg-herbie
Rules
760×unswap-sqr_binary64
540×distribute-rgt-in_binary64
536×distribute-lft-in_binary64
456×*-commutative_binary64
361×distribute-rgt-out_binary64
Counts
46 → 20
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
026385
142368
296368
3326368
41685368
51904368
62179368
72746368
84060368
94552368
105198368

prune13.0ms (0.4%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New19120
Fresh101
Picked011
Done000
Total20222
Error
0.0b
Counts
22 → 2
Alt Table
StatusErrorProgram
0.0b
(+.f64 (*.f64 y x) (+.f64 (*.f64 y z) x))
0.0b
(fma.f64 y (+.f64 x z) x)
Compiler

Compiled 202 to 60 computations (70.3% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series13.0ms (0.4%)

Counts
2 → 18
Calls

2 calls:

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

rewrite8.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
add-log-exp_binary64
sum-log_binary64
+-commutative_binary64
flip-+_binary64
*-un-lft-identity_binary64
Counts
2 → 30
Calls

2 calls:

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

simplify86.0ms (2.7%)

Algorithm
egg-herbie
Rules
390×sub-neg_binary64
356×fma-def_binary64
325×distribute-rgt-out_binary64
293×*-commutative_binary64
229×fma-neg_binary64
Counts
48 → 56
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
059439
1197405
2597401
32006401
43290401
54728401
64988401
74970401

prune23.0ms (0.7%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New55156
Fresh000
Picked011
Done011
Total55358
Error
0b
Counts
58 → 3
Alt Table
StatusErrorProgram
42.9b
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 (*.f64 y z) x) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x)))))
0.0b
(+.f64 (*.f64 y x) (+.f64 (*.f64 y z) x))
0.0b
(fma.f64 y (+.f64 x z) x)
Compiler

Compiled 907 to 230 computations (74.6% saved)

localize15.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.9b
(*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x))
3.6b
(+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 (*.f64 y z) x) 3))
4.3b
(-.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x)))
41.8b
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 (*.f64 y z) x) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x)))))

series635.0ms (20.1%)

Counts
4 → 144
Calls

4 calls:

546.0ms
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 (*.f64 y z) x) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x)))))
37.0ms
(+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 (*.f64 y z) x) 3))
34.0ms
(-.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x)))
17.0ms
(*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x))

rewrite62.0ms (2%)

Algorithm
rewrite-expression-head
Rules
28×associate-*r/_binary64
28×flip-+_binary64
28×flip3-+_binary64
26×*-un-lft-identity_binary64
16×frac-sub_binary64
Counts
4 → 129
Calls

4 calls:

20.0ms
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 (*.f64 y z) x) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x)))))
11.0ms
(-.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x)))
8.0ms
(+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 (*.f64 y z) x) 3))
5.0ms
(*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x))

simplify246.0ms (7.8%)

Algorithm
egg-herbie
Rules
354×distribute-rgt-in_binary64
278×+-commutative_binary64
235×*-commutative_binary64
228×associate-+r+_binary64
214×cancel-sign-sub-inv_binary64
Counts
273 → 299
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
087618664
1310917282
2502617282

prune354.0ms (11.2%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2990299
Fresh000
Picked011
Done022
Total2993302
Error
0b
Counts
302 → 3
Alt Table
StatusErrorProgram
42.9b
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 (*.f64 y z) x) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (*.f64 (*.f64 y x) (+.f64 (*.f64 y z) x)))))
0.0b
(+.f64 (*.f64 y x) (+.f64 (*.f64 y z) x))
0.0b
(fma.f64 y (+.f64 x z) x)
Compiler

Compiled 28099 to 10544 computations (62.5% saved)

regimes193.0ms (6.1%)

Accuracy

Total 0.0b remaining (53.7%)

Threshold costs 0.0b (53.7%)

Counts
38 → 1
Compiler

Compiled 4236 to 2002 computations (52.7% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
169

end50.0ms (1.6%)

Compiler

Compiled 87 to 39 computations (55.2% saved)

Profiling

Loading profile data...