Details

Time bar (total: 5.5s)

analyze6.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%100%0%3
75%25%0%4
87.5%12.5%0%5
93.7%6.2%0%6
96.8%3.1%0%7
98.4%1.6%0%8
99.2%0.8%0%9
99.6%0.4%0%10
99.8%0.2%0%11
99.9%0.1%0%12
99.9%0%0%13
99.9%0%0%14
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample1.7s (30.5%)

Results
700.0ms2102×body1024valid
426.0ms4362×body128valid
260.0ms1082×body512valid
94.0ms499×body256valid
82.0ms211×body2048valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify87.0ms (1.6%)

Algorithm
egg-herbie
Rules
859×fma-neg_binary64
770×fma-def_binary64
322×div-sub_binary64
178×associate-/l*_binary64
150×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11619
22219
33419
45719
59119
617819
727719
864319
978819
10102419
11126519
12124219
13124819
14124619
15124819
16125019
17126019
18126019
19117119

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
29.8b
Counts
2 → 1
Alt Table
StatusErrorProgram
29.8b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
Compiler

Compiled 42 to 30 computations (28.6% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 x 1) (-.f64 x 1))
3.7b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))

series6.0ms (0.1%)

Counts
2 → 24
Calls

2 calls:

3.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
3.0ms
(/.f64 (+.f64 x 1) (-.f64 x 1))

rewrite218.0ms (4%)

Algorithm
rewrite-expression-head
Rules
1304×*-un-lft-identity_binary64
1000×times-frac_binary64
859×add-sqr-sqrt_binary64
612×prod-diff_binary64
523×add-cube-cbrt_binary64
Counts
2 → 748
Calls

2 calls:

43.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
6.0ms
(/.f64 (+.f64 x 1) (-.f64 x 1))

simplify730.0ms (13.3%)

Algorithm
egg-herbie
Rules
552×fma-neg_binary64
418×distribute-rgt-in_binary64
361×unsub-neg_binary64
255×fma-udef_binary64
202×associate-+r-_binary64
Counts
772 → 551
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
052154026
1123430580
2284822272
3449522270
4471822270

prune656.0ms (12%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New5474551
Fresh000
Picked011
Done000
Total5475552
Error
0.0b
Counts
552 → 5
Alt Table
StatusErrorProgram
29.8b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
31.3b
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
31.4b
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (*.f64 3 (/.f64 1 x)) (+.f64 (*.f64 3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 (pow.f64 x 2))))))
47.1b
(+.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1)) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1))))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1))) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1)) (*.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1)) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1)))))
32.7b
(+.f64 1 (fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x)))
Compiler

Compiled 29220 to 21602 computations (26.1% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (*.f64 x x))
0.3b
(/.f64 1 (pow.f64 x 4))
6.5b
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))
9.8b
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))

series11.0ms (0.2%)

Counts
4 → 36
Calls

4 calls:

3.0ms
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
3.0ms
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))
2.0ms
(/.f64 1 (pow.f64 x 4))
2.0ms
(/.f64 1 (*.f64 x x))

rewrite171.0ms (3.1%)

Algorithm
rewrite-expression-head
Rules
512×*-un-lft-identity_binary64
377×add-sqr-sqrt_binary64
332×times-frac_binary64
278×prod-diff_binary64
232×add-cube-cbrt_binary64
Counts
4 → 467
Calls

4 calls:

48.0ms
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
18.0ms
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))
3.0ms
(/.f64 1 (*.f64 x x))
3.0ms
(/.f64 1 (pow.f64 x 4))

simplify462.0ms (8.4%)

Algorithm
egg-herbie
Rules
821×fma-neg_binary64
199×associate-*l*_binary64
191×associate-*r*_binary64
183×sub-neg_binary64
172×exp-prod_binary64
Counts
503 → 470
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
033119401
184315538
2285813558
3431813558
4497613558
5483513558

prune591.0ms (10.8%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New4682470
Fresh123
Picked011
Done011
Total4696475
Error
0b
Counts
475 → 6
Alt Table
StatusErrorProgram
31.4b
(+.f64 (fma.f64 -3 (/.f64 1 x) (neg.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) 1))) (/.f64 -1 (pow.f64 x 4)))
29.8b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
31.3b
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
47.1b
(+.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1)) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1))))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1))) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1)) (*.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1)) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1)))))
32.7b
(+.f64 1 (fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x)))
54.6b
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (/.f64 -3 x) 3) (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) 3)) (pow.f64 x 4)) (*.f64 (+.f64 (*.f64 (/.f64 -3 x) (/.f64 -3 x)) (+.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (*.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))))) 1)) (*.f64 (+.f64 (*.f64 (/.f64 -3 x) (/.f64 -3 x)) (+.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (*.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))))) (pow.f64 x 4)))
Compiler

Compiled 25339 to 18771 computations (25.9% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (*.f64 x x))
0.3b
(/.f64 -1 (pow.f64 x 4))
6.5b
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))
9.8b
(+.f64 (fma.f64 -3 (/.f64 1 x) (neg.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) 1))) (/.f64 -1 (pow.f64 x 4)))

series6.0ms (0.1%)

Counts
2 → 12
Calls

2 calls:

3.0ms
(+.f64 (fma.f64 -3 (/.f64 1 x) (neg.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) 1))) (/.f64 -1 (pow.f64 x 4)))
3.0ms
(/.f64 -1 (pow.f64 x 4))

rewrite15.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
21×times-frac_binary64
21×*-un-lft-identity_binary64
19×add-sqr-sqrt_binary64
19×add-cube-cbrt_binary64
12×unpow-prod-down_binary64
Counts
2 → 65
Calls

2 calls:

9.0ms
(+.f64 (fma.f64 -3 (/.f64 1 x) (neg.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) 1))) (/.f64 -1 (pow.f64 x 4)))
3.0ms
(/.f64 -1 (pow.f64 x 4))

simplify106.0ms (1.9%)

Algorithm
egg-herbie
Rules
530×fma-neg_binary64
504×unsub-neg_binary64
398×div-sub_binary64
252×distribute-rgt-in_binary64
215×distribute-lft-in_binary64
Counts
77 → 99
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01321688
12821524
27171448
328801448
448991448
549851448
649401448

prune157.0ms (2.9%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1720172
Fresh033
Picked011
Done022
Total1726178
Error
0b
Counts
178 → 6
Alt Table
StatusErrorProgram
31.4b
(+.f64 (fma.f64 -3 (/.f64 1 x) (neg.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) 1))) (/.f64 -1 (pow.f64 x 4)))
29.8b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
31.3b
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
47.1b
(+.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1)) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1))))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1))) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1)) (*.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1)) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1)))))
32.7b
(+.f64 1 (fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x)))
54.6b
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (/.f64 -3 x) 3) (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) 3)) (pow.f64 x 4)) (*.f64 (+.f64 (*.f64 (/.f64 -3 x) (/.f64 -3 x)) (+.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (*.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))))) 1)) (*.f64 (+.f64 (*.f64 (/.f64 -3 x) (/.f64 -3 x)) (+.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (*.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))))) (pow.f64 x 4)))
Compiler

Compiled 5969 to 4546 computations (23.8% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (pow.f64 x 3))
7.6b
(fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x))

series6.0ms (0.1%)

Counts
2 → 18
Calls

2 calls:

3.0ms
(fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x))
2.0ms
(+.f64 x (pow.f64 x 3))

rewrite9.0ms (0.2%)

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

2 calls:

7.0ms
(+.f64 x (pow.f64 x 3))
0.0ms
(fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x))

simplify55.0ms (1%)

Algorithm
egg-herbie
Rules
513×fma-neg_binary64
392×*-commutative_binary64
361×associate-+r+_binary64
342×associate-+l+_binary64
289×distribute-rgt-out_binary64
Counts
47 → 52
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
051551
1116497
2361497
31504495
43527494
54794494

prune49.0ms (0.9%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New52052
Fresh022
Picked011
Done033
Total52658
Error
0b
Counts
58 → 6
Alt Table
StatusErrorProgram
31.4b
(+.f64 (fma.f64 -3 (/.f64 1 x) (neg.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) 1))) (/.f64 -1 (pow.f64 x 4)))
29.8b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
31.3b
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
47.1b
(+.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1)) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1))))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1))) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1)) (*.f64 (/.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (sqrt.f64 x) 1)) (/.f64 (sqrt.f64 (+.f64 x 1)) (+.f64 (sqrt.f64 x) 1)))))
32.7b
(+.f64 1 (fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x)))
54.6b
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (/.f64 -3 x) 3) (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) 3)) (pow.f64 x 4)) (*.f64 (+.f64 (*.f64 (/.f64 -3 x) (/.f64 -3 x)) (+.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (*.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))))) 1)) (*.f64 (+.f64 (*.f64 (/.f64 -3 x) (/.f64 -3 x)) (+.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (*.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))))) (pow.f64 x 4)))
Compiler

Compiled 1119 to 739 computations (34% saved)

regimes194.0ms (3.5%)

Accuracy

Total 0.0b remaining (41.1%)

Threshold costs 0.0b (41.1%)

Counts
59 → 3
Compiler

Compiled 4074 to 3070 computations (24.6% saved)

bsearch39.0ms (0.7%)

Steps
ItersRangePoint
10
85.12132175397775
7907210314430.959
2074.932321600268
9
-13138.89396616099
-0.0506589835992668
-2956.959262914682
Compiler

Compiled 2 to 1 computations (50% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02887
14187
25887
37787
48987
59487
69587
79287

end186.0ms (3.4%)

Compiler

Compiled 389 to 288 computations (26% saved)

Profiling

Loading profile data...