Details

Time bar (total: 2.9s)

analyze4.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
100%0%0%1
Compiler

Compiled 14 to 13 computations (7.1% saved)

sample61.0ms (2.1%)

Algorithm
intervals
Results
20.0ms61×body2048valid
10.0ms46×body1024valid
6.0ms121×body128valid
3.0ms19×body512valid
1.0msbody256valid
Compiler

Compiled 28 to 26 computations (7.1% saved)

simplify9.0ms (0.3%)

Algorithm
egg-herbie
Rules
sub-neg_binary64
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
associate-+l-_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01018
12215
22715
33515
44215
55215
66015
76915
87215
95315

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
19.9b
Counts
3 → 1
Alt Table
StatusErrorProgram
19.9b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
Compiler

Compiled 45 to 41 computations (8.9% saved)

localize6.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1/2 (hypot.f64 1 x))
0.0b
(hypot.f64 1 x)
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
1.7b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))

series18.0ms (0.6%)

Counts
4 → 48
Calls

4 calls:

6.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
4.0ms
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
4.0ms
(hypot.f64 1 x)
3.0ms
(/.f64 1/2 (hypot.f64 1 x))

rewrite20.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
46×*-un-lft-identity_binary64
43×add-sqr-sqrt_binary64
29×add-cube-cbrt_binary64
24×sqrt-prod_binary64
21×prod-diff_binary64
Counts
4 → 110
Calls

4 calls:

8.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
5.0ms
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
2.0ms
(/.f64 1/2 (hypot.f64 1 x))
0.0ms
(hypot.f64 1 x)

simplify133.0ms (4.5%)

Algorithm
egg-herbie
Rules
661×fma-def_binary64
463×fma-neg_binary64
398×times-frac_binary64
372×associate-*l*_binary64
332×associate-*r*_binary64
Counts
158 → 196
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02613244
16532896
218042575
345602539
448602539
552662539

prune154.0ms (5.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1942196
Fresh000
Picked011
Done000
Total1943197
Error
0.0b
Counts
197 → 3
Alt Table
StatusErrorProgram
29.4b
(*.f64 1/8 (pow.f64 x 2))
19.4b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
19.9b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
Compiler

Compiled 4396 to 3906 computations (11.1% saved)

localize9.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 1 x)
0.0b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
0.0b
(sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))
1.2b
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

series27.0ms (0.9%)

Counts
2 → 24
Calls

2 calls:

24.0ms
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
3.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

rewrite36.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
112×add-sqr-sqrt_binary64
109×*-un-lft-identity_binary64
80×times-frac_binary64
58×add-cube-cbrt_binary64
39×prod-diff_binary64
Counts
2 → 138
Calls

2 calls:

16.0ms
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
7.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

simplify171.0ms (5.8%)

Algorithm
egg-herbie
Rules
545×times-frac_binary64
230×fma-def_binary64
191×associate-*r*_binary64
183×fma-neg_binary64
177×associate-/r*_binary64
Counts
162 → 186
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04077612
111095376
234225334
349845334
449415334

prune306.0ms (10.5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2941295
Fresh101
Picked011
Done011
Total2953298
Error
0b
Counts
298 → 3
Alt Table
StatusErrorProgram
19.4b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
19.9b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
30.1b
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
Compiler

Compiled 10520 to 9368 computations (11% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
0.3b
(*.f64 (pow.f64 x 4) -11/128)

series9.0ms (0.3%)

Counts
2 → 24
Calls

2 calls:

5.0ms
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
3.0ms
(*.f64 (pow.f64 x 4) -11/128)

rewrite5.0ms (0.2%)

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

2 calls:

4.0ms
(*.f64 (pow.f64 x 4) -11/128)
0.0ms
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))

simplify72.0ms (2.5%)

Algorithm
egg-herbie
Rules
461×unsub-neg_binary64
423×*-commutative_binary64
388×distribute-rgt-neg-in_binary64
343×exp-prod_binary64
304×log-prod_binary64
Counts
61 → 63
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
070724
1123683
2317665
31110665
42628659
54199659
65084659

prune38.0ms (1.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New63063
Fresh000
Picked011
Done022
Total63366
Error
0b
Counts
66 → 3
Alt Table
StatusErrorProgram
19.4b
(/.f64 (-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
19.9b
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
30.1b
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
Compiler

Compiled 1025 to 749 computations (26.9% saved)

regimes305.0ms (10.4%)

Accuracy

Total 0.2b remaining (79.3%)

Threshold costs 0.2b (79.3%)

Counts
27 → 2
Compiler

Compiled 6022 to 5442 computations (9.6% saved)

bsearch1.0ms (0%)

Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
distribute-neg-frac_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02150
12950
23650
33850
43950
53750

end1.0ms (0%)

Compiler

Compiled 35 to 29 computations (17.1% saved)

sample1.5s (52.3%)

Algorithm
intervals
Results
666.0ms2099×body2048valid
260.0ms1017×body1024valid
224.0ms4110×body128valid
91.0ms534×body512valid
26.0ms240×body256valid
Compiler

Compiled 91 to 78 computations (14.3% saved)

Profiling

Loading profile data...