Details

Time bar (total: 1.7s)

analyze4.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
74.9%25%0.1%3
87.4%12.5%0.1%4
93.7%6.2%0.1%5
96.8%3.1%0.1%6
98.3%1.6%0.1%7
99.1%0.8%0.1%8
99.5%0.4%0.1%9
99.7%0.2%0.1%10
99.8%0.1%0.1%11
99.9%0%0.1%12
99.9%0%0.1%13
99.9%0%0.1%14
Compiler

Compiled 22 to 13 computations (40.9% saved)

sample912.0ms (54.8%)

Results
770.0ms8256×body128valid
Compiler

Compiled 65 to 38 computations (41.5% saved)

simplify104.0ms (6.2%)

Algorithm
egg-herbie
Rules
620×fma-def_binary64
549×sub-neg_binary64
460×distribute-neg-frac_binary64
455×cancel-sign-sub-inv_binary64
430×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
12324
25224
310524
419924
533024
644224
760324
890124
9230424
10338624
11395624
12445424
13473524
14523824

prune3.0ms (0.2%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 76 to 42 computations (44.7% saved)

localize10.0ms (0.6%)

Local error

Found 2 expressions with local error:

NewErrorProgram
4.0b
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
27.9b
(/.f64 (fma.f64 -4 (*.f64 y y) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))

series28.0ms (1.7%)

Counts
2 → 48
Calls

2 calls:

19.0ms
(/.f64 (fma.f64 -4 (*.f64 y y) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))
9.0ms
(fma.f64 -4 (*.f64 y y) (*.f64 x x))

rewrite5.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
2 → 39
Calls

2 calls:

2.0ms
(/.f64 (fma.f64 -4 (*.f64 y y) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))
0.0ms
(fma.f64 -4 (*.f64 y y) (*.f64 x x))

simplify92.0ms (5.5%)

Algorithm
egg-herbie
Rules
623×fma-def_binary64
491×div-sub_binary64
392×fma-neg_binary64
350×cancel-sign-sub-inv_binary64
219×distribute-rgt-in_binary64
Counts
87 → 90
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01042105
12161928
25631916
320541898
444351862
554001862

prune63.0ms (3.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New88290
Fresh000
Picked011
Done000
Total88391
Error
0.2b
Counts
91 → 3
Alt Table
StatusErrorProgram
32.4b
1
30.8b
-1
28.5b
(/.f64 (fma.f64 -4 (*.f64 y y) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))
Compiler

Compiled 2414 to 1210 computations (49.9% saved)

localize0.0ms (0%)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done011
Total033
Error
0.2b
Counts
3 → 3
Alt Table
StatusErrorProgram
32.4b
1
30.8b
-1
28.5b
(/.f64 (fma.f64 -4 (*.f64 y y) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))
Compiler

Compiled 28 to 20 computations (28.6% saved)

localize0.0ms (0%)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done022
Total033
Error
0.2b
Counts
3 → 3
Alt Table
StatusErrorProgram
32.4b
1
30.8b
-1
28.5b
(/.f64 (fma.f64 -4 (*.f64 y y) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))
Compiler

Compiled 25 to 17 computations (32% saved)

regimes189.0ms (11.4%)

Accuracy

Total 13.2b remaining (97.3%)

Threshold costs 0b (0%)

Counts
6 → 5
Compiler

Compiled 592 to 390 computations (34.1% saved)

bsearch110.0ms (6.6%)

Steps
ItersRangePoint
8
4.4054596529273285e+24
2.0883010005617113e+27
1.8953957386349883e+27
9
2.403145270511405e-101
9.649721426706131e-93
4.6768304092466014e-97
6
-2.5498736049933647e-150
-2.6097924204996003e-151
-5.5870126386508446e-151
7
-4.8956506125560647e+55
-2.1531440450525513e+53
-3.915390878948144e+55
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify7.0ms (0.4%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02775
13175
23075

end134.0ms (8.1%)

Compiler

Compiled 135 to 83 computations (38.5% saved)

Profiling

Loading profile data...