Details

Time bar (total: 3.8s)

analyze6.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%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 13 to 11 computations (15.4% saved)

sample1.4s (35.4%)

Results
479.0ms1993×body512valid
467.0ms4765×body128valid
250.0ms1093×body256valid
121.0ms405×body1024valid
Compiler

Compiled 38 to 32 computations (15.8% saved)

simplify12.0ms (0.3%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
14×cancel-sign-sub-inv_binary64
13×sub-neg_binary64
10×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0816
11616
22116
32916
43716
55516
68016
79716
811416
912416
1012816
1113016
1211616

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
12.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
12.1b
(-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 1 (-.f64 x 1)))
Compiler

Compiled 47 to 39 computations (17% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series8.0ms (0.2%)

Counts
3 → 36
Calls

3 calls:

4.0ms
(-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 1 (-.f64 x 1)))
2.0ms
(/.f64 1 (-.f64 x 1))
2.0ms
(/.f64 1 (+.f64 x 1))

rewrite160.0ms (4.2%)

Algorithm
rewrite-expression-head
Rules
870×*-un-lft-identity_binary64
804×times-frac_binary64
733×add-sqr-sqrt_binary64
486×prod-diff_binary64
465×add-cube-cbrt_binary64
Counts
3 → 661
Calls

3 calls:

35.0ms
(-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 1 (-.f64 x 1)))
5.0ms
(/.f64 1 (+.f64 x 1))
4.0ms
(/.f64 1 (-.f64 x 1))

simplify581.0ms (15.2%)

Algorithm
egg-herbie
Rules
947×fma-neg_binary64
335×times-frac_binary64
236×distribute-rgt-in_binary64
231×div-sub_binary64
202×associate-/l*_binary64
Counts
697 → 531
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027227782
163218403
2177213759
3394512706
4497212706
5498912706
6490912706

prune556.0ms (14.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New5292531
Fresh000
Picked011
Done000
Total5293532
Error
0.4b
Counts
532 → 3
Alt Table
StatusErrorProgram
11.7b
(/.f64 (-.f64 x (+.f64 2 x)) (fma.f64 x x -1))
34.4b
(-.f64 (/.f64 -2 (pow.f64 x 4)) (+.f64 (/.f64 2 (pow.f64 x 6)) (+.f64 (/.f64 2 (*.f64 x x)) (/.f64 2 (pow.f64 x 8)))))
12.1b
(-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 1 (-.f64 x 1)))
Compiler

Compiled 23103 to 19180 computations (17% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 x (+.f64 2 x)) (fma.f64 x x -1))
1.5b
(-.f64 x (+.f64 2 x))

series5.0ms (0.1%)

Counts
2 → 24
Calls

2 calls:

4.0ms
(/.f64 (-.f64 x (+.f64 2 x)) (fma.f64 x x -1))
1.0ms
(-.f64 x (+.f64 2 x))

rewrite17.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
55×*-un-lft-identity_binary64
32×add-sqr-sqrt_binary64
22×add-cube-cbrt_binary64
18×times-frac_binary64
12×prod-diff_binary64
Counts
2 → 81
Calls

2 calls:

7.0ms
(/.f64 (-.f64 x (+.f64 2 x)) (fma.f64 x x -1))
5.0ms
(-.f64 x (+.f64 2 x))

simplify73.0ms (1.9%)

Algorithm
egg-herbie
Rules
512×fma-def_binary64
468×associate-*r*_binary64
325×distribute-rgt-in_binary64
280×distribute-lft-in_binary64
260×div-sub_binary64
Counts
105 → 127
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01561716
13711547
211431129
344081129
448771129

prune76.0ms (2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1243127
Fresh101
Picked101
Done101
Total1273130
Error
0.4b
Counts
130 → 3
Alt Table
StatusErrorProgram
34.4b
(/.f64 (/.f64 -2 (sqrt.f64 (fma.f64 x x -1))) (sqrt.f64 (fma.f64 x x -1)))
1.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1)))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))
0.4b
(/.f64 -2 (fma.f64 x x -1))
Compiler

Compiled 2421 to 1667 computations (31.1% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.4b
(/.f64 -2 (fma.f64 x x -1))

series3.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

3.0ms
(/.f64 -2 (fma.f64 x x -1))

rewrite3.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
times-frac_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
associate-/r*_binary64
Counts
1 → 29
Calls

1 calls:

2.0ms
(/.f64 -2 (fma.f64 x x -1))

simplify59.0ms (1.6%)

Algorithm
egg-herbie
Rules
741×fma-def_binary64
662×fma-neg_binary64
373×unswap-sqr_binary64
363×associate-*l*_binary64
341×associate-/r*_binary64
Counts
41 → 48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
089680
1194628
2483625
31288622
44089622
55299622

prune26.0ms (0.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New48048
Fresh022
Picked011
Done000
Total48351
Error
0.4b
Counts
51 → 3
Alt Table
StatusErrorProgram
34.4b
(/.f64 (/.f64 -2 (sqrt.f64 (fma.f64 x x -1))) (sqrt.f64 (fma.f64 x x -1)))
1.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1)))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))
0.4b
(/.f64 -2 (fma.f64 x x -1))
Compiler

Compiled 713 to 543 computations (23.8% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1)))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))
0.2b
(*.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))
0.4b
(/.f64 -2 (fma.f64 x x -1))
15.8b
(cbrt.f64 (/.f64 -2 (fma.f64 x x -1)))

series82.0ms (2.1%)

Counts
3 → 36
Calls

3 calls:

36.0ms
(*.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))
29.0ms
(cbrt.f64 (/.f64 -2 (fma.f64 x x -1)))
17.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1)))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))

rewrite44.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
92×cbrt-prod_binary64
78×add-sqr-sqrt_binary64
61×times-frac_binary64
50×*-un-lft-identity_binary64
50×add-cube-cbrt_binary64
Counts
3 → 160
Calls

3 calls:

14.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1)))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))
11.0ms
(*.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))
2.0ms
(cbrt.f64 (/.f64 -2 (fma.f64 x x -1)))

simplify160.0ms (4.2%)

Algorithm
egg-herbie
Rules
733×fma-def_binary64
238×associate-*l*_binary64
226×associate-*r*_binary64
223×associate-/l*_binary64
200×fma-neg_binary64
Counts
196 → 264
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02815265
16035015
218134593
344564520
449144520
549104520

prune418.0ms (10.9%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New4991500
Fresh011
Picked011
Done011
Total4994503
Error
0.4b
Counts
503 → 4
Alt Table
StatusErrorProgram
7.5b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) 6) 1/3) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))
34.4b
(/.f64 (/.f64 -2 (sqrt.f64 (fma.f64 x x -1))) (sqrt.f64 (fma.f64 x x -1)))
1.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1)))) (cbrt.f64 (/.f64 -2 (fma.f64 x x -1))))
0.4b
(/.f64 -2 (fma.f64 x x -1))
Compiler

Compiled 15751 to 12287 computations (22% saved)

regimes86.0ms (2.2%)

Accuracy

Total 0.0b remaining (12.5%)

Threshold costs 0.0b (12.5%)

Counts
45 → 1
Compiler

Compiled 1520 to 1192 computations (21.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
168

end68.0ms (1.8%)

Compiler

Compiled 79 to 59 computations (25.3% saved)

Profiling

Loading profile data...