Details

Time bar (total: 3.5s)

analyze421.0ms (12.2%)

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.3%11.6%12
59.1%26.6%14.3%13
63.9%20.9%15.3%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample962.0ms (27.8%)

Results
812.0ms8256×body128valid
56.0ms631×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify24.0ms (0.7%)

Algorithm
egg-herbie
Rules
278×fma-def_binary64
251×fma-neg_binary64
71×cancel-sign-sub-inv_binary64
55×distribute-rgt-in_binary64
41×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0710
1118
2248
3468
4818
51398
62128
73458
84878
96018
106618
116688
126258

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 34 to 17 computations (50% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

series7.0ms (0.2%)

Counts
1 → 36
Calls

1 calls:

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

simplify66.0ms (1.9%)

Algorithm
egg-herbie
Rules
694×neg-mul-1_binary64
479×distribute-rgt-neg-out_binary64
433×distribute-lft-neg-out_binary64
343×distribute-rgt-in_binary64
336×distribute-lft-in_binary64
Counts
46 → 21
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
031472
166374
2137374
3363374
41693374
53955374
65046374

prune14.0ms (0.4%)

Pruning

2 alts after pruning (1 fresh and 1 done)

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

Compiled 212 to 68 computations (67.9% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series12.0ms (0.3%)

Counts
2 → 18
Calls

2 calls:

7.0ms
(-.f64 (+.f64 (*.f64 y z) x) (*.f64 y x))
5.0ms
(+.f64 (*.f64 y z) x)

rewrite10.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
add-log-exp_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
fma-neg_binary64
Counts
2 → 36
Calls

2 calls:

5.0ms
(-.f64 (+.f64 (*.f64 y z) x) (*.f64 y x))
4.0ms
(+.f64 (*.f64 y z) x)

simplify59.0ms (1.7%)

Algorithm
egg-herbie
Rules
353×fma-def_binary64
306×associate-*l*_binary64
262×times-frac_binary64
256×associate-*r*_binary64
245×fma-neg_binary64
Counts
54 → 68
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
075629
1213515
2624493
32379492
44147492
55031492

prune35.0ms (1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New67168
Fresh000
Picked011
Done011
Total67370
Error
0b
Counts
70 → 3
Alt Table
StatusErrorProgram
40.9b
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 y z) x) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (+.f64 (*.f64 y z) x) (*.f64 y x)))))
0.0b
(fma.f64 y (-.f64 z x) x)
0.0b
(-.f64 (+.f64 (*.f64 y z) x) (*.f64 y x))
Compiler

Compiled 1123 to 253 computations (77.5% saved)

localize18.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.5b
(+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (+.f64 (*.f64 y z) x) (*.f64 y x)))
3.2b
(+.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (+.f64 (*.f64 y z) x) (*.f64 y x))))
3.8b
(-.f64 (pow.f64 (+.f64 (*.f64 y z) x) 3) (pow.f64 (*.f64 y x) 3))
39.6b
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 y z) x) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (+.f64 (*.f64 y z) x) (*.f64 y x)))))

series630.0ms (18.2%)

Counts
4 → 144
Calls

4 calls:

506.0ms
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 y z) x) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (+.f64 (*.f64 y z) x) (*.f64 y x)))))
45.0ms
(+.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (+.f64 (*.f64 y z) x) (*.f64 y x))))
41.0ms
(-.f64 (pow.f64 (+.f64 (*.f64 y z) x) 3) (pow.f64 (*.f64 y x) 3))
37.0ms
(+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (+.f64 (*.f64 y z) x) (*.f64 y x)))

rewrite114.0ms (3.3%)

Algorithm
rewrite-expression-head
Rules
112×add-sqr-sqrt_binary64
96×prod-diff_binary64
72×*-un-lft-identity_binary64
62×add-cube-cbrt_binary64
52×sqr-pow_binary64
Counts
4 → 278
Calls

4 calls:

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

simplify456.0ms (13.2%)

Algorithm
egg-herbie
Rules
383×distribute-rgt-in_binary64
247×+-commutative_binary64
236×*-commutative_binary64
187×associate-+r+_binary64
175×fma-def_binary64
Counts
422 → 460
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
094128242
1305226470
2495226470
3501126470

prune493.0ms (14.2%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New4600460
Fresh000
Picked011
Done022
Total4603463
Error
0b
Counts
463 → 3
Alt Table
StatusErrorProgram
40.9b
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 y z) x) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 (+.f64 (*.f64 y z) x) (+.f64 (*.f64 y z) x)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (+.f64 (*.f64 y z) x) (*.f64 y x)))))
0.0b
(fma.f64 y (-.f64 z x) x)
0.0b
(-.f64 (+.f64 (*.f64 y z) x) (*.f64 y x))
Compiler

Compiled 42468 to 13132 computations (69.1% saved)

regimes67.0ms (1.9%)

Accuracy

Total 0.0b remaining (70.4%)

Threshold costs 0.0b (70.4%)

Counts
16 → 1
Compiler

Compiled 1320 to 606 computations (54.1% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
068
188
2138
3158
4168
5168

end60.0ms (1.7%)

Compiler

Compiled 85 to 39 computations (54.1% saved)

Profiling

Loading profile data...