Details

Time bar (total: 7.1s)

analyze2.4s (33.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%48.6%51.4%0
0%48.6%51.4%1
0%48.6%51.4%2
0%48.6%51.4%3
0%48.6%51.4%4
6.1%42.6%51.4%5
12.2%36.5%51.4%6
15.2%33.4%51.4%7
18.2%30.4%51.4%8
19.8%28.9%51.4%9
21.2%27.5%51.4%10
21.2%27.4%51.4%11
22%26.6%51.4%12
22.2%26.5%51.4%13
22.5%26.1%51.4%14
Compiler

Compiled 28 to 20 computations (28.6% saved)

sample2.1s (29.9%)

Results
951.0ms6298×body128valid
549.0ms822×body2048valid
247.0ms484×body1024valid
212.0ms278×body4096valid
94.0ms247×body512valid
33.0ms127×body256valid
Compiler

Compiled 75 to 54 computations (28% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
associate-/l*_binary64
distribute-lft-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01524
13124
23922
34522
44722
54922
65022
74722

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
12.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
12.7b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
Compiler

Compiled 68 to 48 computations (29.4% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x x (*.f64 p (*.f64 4 p)))
0.0b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
0.3b
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2)
14.6b
(sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))

series82.0ms (1.2%)

Counts
4 → 96
Calls

4 calls:

30.0ms
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
26.0ms
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2)
15.0ms
(sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))
11.0ms
(fma.f64 x x (*.f64 p (*.f64 4 p)))

rewrite4.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
sqrt-prod_binary64
add-cube-cbrt_binary64
pow1_binary64
Counts
4 → 50
Calls

4 calls:

1.0ms
(sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))
1.0ms
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
0.0ms
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2)
0.0ms
(fma.f64 x x (*.f64 p (*.f64 4 p)))

simplify77.0ms (1.1%)

Algorithm
egg-herbie
Rules
586×associate-/l*_binary64
524×associate-/r*_binary64
455×fma-def_binary64
304×cancel-sign-sub-inv_binary64
210×fma-neg_binary64
Counts
146 → 172
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02043011
15562866
217762773
349642773

prune146.0ms (2.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1684172
Fresh000
Picked011
Done000
Total1685173
Error
2.6b
Counts
173 → 5
Alt Table
StatusErrorProgram
51.2b
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
12.7b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
57.2b
(sqrt.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 (/.f64 p x) (/.f64 p x) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (*.f64 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) -35)))))
51.3b
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))
33.5b
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (/.f64 (*.f64 p p) x))))
Compiler

Compiled 3877 to 2662 computations (31.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(/.f64 1/64 (sqrt.f64 1/2))
2.2b
(/.f64 (*.f64 p p) x)
2.3b
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (/.f64 (*.f64 p p) x))))
3.8b
(/.f64 x (/.f64 (*.f64 p p) x))

series78.0ms (1.1%)

Counts
4 → 72
Calls

4 calls:

37.0ms
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (/.f64 (*.f64 p p) x))))
31.0ms
(/.f64 x (/.f64 (*.f64 p p) x))
10.0ms
(/.f64 (*.f64 p p) x)
0.0ms
(/.f64 1/64 (sqrt.f64 1/2))

rewrite23.0ms (0.3%)

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

4 calls:

5.0ms
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (/.f64 (*.f64 p p) x))))
5.0ms
(/.f64 x (/.f64 (*.f64 p p) x))
3.0ms
(/.f64 (*.f64 p p) x)
3.0ms
(/.f64 1/64 (sqrt.f64 1/2))

simplify152.0ms (2.1%)

Algorithm
egg-herbie
Rules
802×times-frac_binary64
480×associate-/r/_binary64
475×associate-/l/_binary64
238×fma-def_binary64
219×exp-prod_binary64
Counts
207 → 204
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02323814
14813515
214763188
344383164
449823164
549033164

prune154.0ms (2.2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2040204
Fresh033
Picked011
Done011
Total2045209
Error
2.6b
Counts
209 → 5
Alt Table
StatusErrorProgram
51.2b
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
12.7b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
57.2b
(sqrt.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 (/.f64 p x) (/.f64 p x) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (*.f64 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) -35)))))
51.3b
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))
33.5b
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (/.f64 (*.f64 p p) x))))
Compiler

Compiled 6310 to 4049 computations (35.8% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 3/2 (pow.f64 (/.f64 p x) 3))
0.2b
(pow.f64 (/.f64 p x) 3)
4.3b
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))

series96.0ms (1.4%)

Counts
3 → 72
Calls

3 calls:

43.0ms
(*.f64 3/2 (pow.f64 (/.f64 p x) 3))
35.0ms
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
17.0ms
(pow.f64 (/.f64 p x) 3)

rewrite34.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
61×add-sqr-sqrt_binary64
56×times-frac_binary64
48×*-un-lft-identity_binary64
48×add-cube-cbrt_binary64
32×associate-*r*_binary64
Counts
3 → 146
Calls

3 calls:

9.0ms
(*.f64 3/2 (pow.f64 (/.f64 p x) 3))
8.0ms
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
3.0ms
(pow.f64 (/.f64 p x) 3)

simplify111.0ms (1.6%)

Algorithm
egg-herbie
Rules
470×fma-def_binary64
420×log-prod_binary64
412×unswap-sqr_binary64
388×exp-prod_binary64
198×log-div_binary64
Counts
218 → 158
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02353055
16452716
221202598
340752598
450042598

prune74.0ms (1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New1580158
Fresh022
Picked011
Done022
Total1585163
Error
2.6b
Counts
163 → 5
Alt Table
StatusErrorProgram
51.2b
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
12.7b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
57.2b
(sqrt.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 (/.f64 p x) (/.f64 p x) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (*.f64 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) -35)))))
51.3b
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))
33.5b
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (/.f64 (*.f64 p p) x))))
Compiler

Compiled 3338 to 1565 computations (53.1% saved)

localize5.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 p (/.f64 (*.f64 x x) p))
0.2b
(/.f64 (*.f64 x x) p)
22.3b
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))

series45.0ms (0.6%)

Counts
3 → 72
Calls

3 calls:

28.0ms
(/.f64 p (/.f64 (*.f64 x x) p))
11.0ms
(/.f64 (*.f64 x x) p)
6.0ms
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))

rewrite20.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
69×times-frac_binary64
40×add-sqr-sqrt_binary64
35×*-un-lft-identity_binary64
35×add-cube-cbrt_binary64
26×sqrt-prod_binary64
Counts
3 → 114
Calls

3 calls:

5.0ms
(sqrt.f64 (/.f64 p (/.f64 (*.f64 x x) p)))
5.0ms
(/.f64 p (/.f64 (*.f64 x x) p))
3.0ms
(/.f64 (*.f64 x x) p)

simplify143.0ms (2%)

Algorithm
egg-herbie
Rules
676×times-frac_binary64
393×associate-/l*_binary64
381×associate-/l/_binary64
365×unswap-sqr_binary64
334×fma-neg_binary64
Counts
186 → 192
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01702504
13002325
28532121
330292022
442001918
549631918
649931918

prune70.0ms (1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1911192
Fresh101
Picked101
Done033
Total1934197
Error
0b
Counts
197 → 4
Alt Table
StatusErrorProgram
51.2b
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
12.7b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
54.1b
(/.f64 p x)
33.5b
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (/.f64 (*.f64 p p) x))))
Compiler

Compiled 2776 to 785 computations (71.7% saved)

regimes1.1s (15.8%)

Accuracy

Total 7.0b remaining (99.3%)

Threshold costs 0b (0%)

Counts
101 → 2
Compiler

Compiled 9534 to 6914 computations (27.5% saved)

bsearch2.0ms (0%)

Compiler

Compiled 14 to 9 computations (35.7% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02565
13565
24165
34565
44865
54965
64865

end76.0ms (1.1%)

Compiler

Compiled 150 to 100 computations (33.3% saved)

Profiling

Loading profile data...