Details

Time bar (total: 1.8s)

analyze458.0ms (25%)

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
28.1%68.6%3.3%9
40.6%52.3%7.2%10
49.1%42.1%8.7%11
51.5%37.3%11.3%12
59.1%27.1%13.8%13
63.7%21.9%14.4%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample1.0s (55.2%)

Results
850.0ms8256×body128valid
74.0ms698×body128invalid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify25.0ms (1.3%)

Algorithm
egg-herbie
Rules
299×fma-neg_binary64
252×fma-def_binary64
95×cancel-sign-sub-inv_binary64
42×distribute-rgt-neg-in_binary64
41×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0911
11811
22811
33710
45310
57710
611510
717610
834910
951610
1059410
1166510
1267010
1362710

prune5.0ms (0.3%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 63 to 39 computations (38.1% saved)

localize5.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

series7.0ms (0.4%)

Counts
1 → 36
Calls

1 calls:

6.0ms
(fma.f64 x (+.f64 y z) (neg.f64 z))

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

simplify60.0ms (3.3%)

Algorithm
egg-herbie
Rules
639×distribute-rgt-in_binary64
639×neg-mul-1_binary64
617×distribute-lft-in_binary64
453×unsub-neg_binary64
338×distribute-rgt-neg-out_binary64
Counts
46 → 28
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
031471
155450
2130450
3459450
42525450
54192450
65071450

prune17.0ms (0.9%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New28028
Fresh011
Picked011
Done000
Total28230
Error
0b
Counts
30 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 x (+.f64 y z) (neg.f64 z))
0.0b
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
Compiler

Compiled 314 to 86 computations (72.6% saved)

localize6.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series11.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

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

rewrite43.0ms (2.4%)

Algorithm
rewrite-expression-head
Rules
10×add-sqr-sqrt_binary64
associate-*l*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 40
Calls

2 calls:

39.0ms
(*.f64 (-.f64 x 1) z)
3.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))

simplify52.0ms (2.9%)

Algorithm
egg-herbie
Rules
654×associate-+l+_binary64
334×associate-*l*_binary64
269×fma-def_binary64
262×distribute-rgt-in_binary64
249×fma-neg_binary64
Counts
88 → 75
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082898
1212859
2647859
32167856
44970856

prune34.0ms (1.9%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New75075
Fresh000
Picked011
Done011
Total75277
Error
0b
Counts
77 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 x (+.f64 y z) (neg.f64 z))
0.0b
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
Compiler

Compiled 1099 to 503 computations (54.2% saved)

regimes54.0ms (3%)

Accuracy

Total 0.0b remaining (74%)

Threshold costs 0.0b (74%)

Counts
11 → 1
Compiler

Compiled 416 to 278 computations (33.2% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
11411
21511
31311

end40.0ms (2.2%)

Compiler

Compiled 44 to 28 computations (36.4% saved)

Profiling

Loading profile data...