Details

Time bar (total: 8.1s)

analyze36.0ms (0.4%)

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

Compiled 14 to 13 computations (7.1% saved)

sample98.0ms (1.2%)

Algorithm
intervals
Results
43.0ms70×body2048valid
18.0ms34×body1024valid
12.0ms120×body128valid
9.0ms26×body512valid
1.0msbody256valid
Compiler

Compiled 28 to 26 computations (7.1% saved)

simplify24.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

prune6.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 45 to 41 computations (8.9% saved)

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series23.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

11.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
6.0ms
(/.f64 1/2 (hypot.f64 1 x))
5.0ms
(hypot.f64 1 x)

rewrite34.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
42×*-un-lft-identity_binary64
35×add-sqr-sqrt_binary64
27×add-cube-cbrt_binary64
21×prod-diff_binary64
20×sqrt-prod_binary64
Counts
3 → 90
Calls

3 calls:

18.0ms
(-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
4.0ms
(/.f64 1/2 (hypot.f64 1 x))
1.0ms
(hypot.f64 1 x)

simplify215.0ms (2.7%)

Algorithm
egg-herbie
Rules
824×fma-neg_binary64
541×fma-def_binary64
371×associate-*l*_binary64
321×associate-*r*_binary64
223×cancel-sign-sub-inv_binary64
Counts
126 → 156
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02322769
15542393
215332083
344842083
450482083

prune301.0ms (3.7%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1533156
Fresh000
Picked101
Done000
Total1543157
Error
0b
Counts
157 → 3
Alt Table
StatusErrorProgram
17.3b
(/.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))))))
18.0b
(*.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
28.7b
(fma.f64 1/8 (*.f64 x x) (fma.f64 69/1024 (pow.f64 x 6) (fma.f64 (pow.f64 x 8) -1843/32768 (*.f64 (pow.f64 x 4) -11/128))))
Compiler

Compiled 3681 to 3271 computations (11.1% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
0.0b
(/.f64 1/2 (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))))))
1.7b
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

series60.0ms (0.7%)

Counts
3 → 36
Calls

3 calls:

45.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))))))
9.0ms
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
5.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

rewrite87.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
116×*-un-lft-identity_binary64
116×add-sqr-sqrt_binary64
80×times-frac_binary64
60×add-cube-cbrt_binary64
39×prod-diff_binary64
Counts
3 → 157
Calls

3 calls:

31.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))))))
14.0ms
(+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))
13.0ms
(-.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

simplify262.0ms (3.2%)

Algorithm
egg-herbie
Rules
565×times-frac_binary64
260×fma-def_binary64
206×associate-*r*_binary64
200×associate-/r*_binary64
184×fma-neg_binary64
Counts
193 → 229
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04488251
112495965
238875923
350505923

prune688.0ms (8.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New3361337
Fresh112
Picked011
Done000
Total3373340
Error
0b
Counts
340 → 3
Alt Table
StatusErrorProgram
17.3b
(/.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))))))
18.0b
(*.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
28.6b
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128)))
Compiler

Compiled 11663 to 10409 computations (10.8% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series48.0ms (0.6%)

Counts
2 → 24
Calls

2 calls:

33.0ms
(sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
14.0ms
(*.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))

rewrite124.0ms (1.5%)

Algorithm
rewrite-expression-head
Rules
100×sqrt-prod_binary64
84×add-sqr-sqrt_binary64
62×*-un-lft-identity_binary64
28×difference-of-squares_binary64
23×swap-sqr_binary64
Counts
2 → 114
Calls

2 calls:

42.0ms
(*.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
17.0ms
(sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))

simplify230.0ms (2.8%)

Algorithm
egg-herbie
Rules
788×fma-def_binary64
575×times-frac_binary64
462×fma-neg_binary64
295×cancel-sign-sub-inv_binary64
172×sub-neg_binary64
Counts
138 → 153
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02364303
15963886
220523740
347073738
449503738

prune990.0ms (12.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New4410441
Fresh011
Picked011
Done011
Total4413444
Error
0b
Counts
444 → 3
Alt Table
StatusErrorProgram
17.3b
(/.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))))))
18.0b
(*.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
28.6b
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128)))
Compiler

Compiled 16840 to 15302 computations (9.1% saved)

localize21.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (pow.f64 x 4) -11/128)
19.0b
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128)))

series19.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

8.0ms
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128)))
6.0ms
(*.f64 (pow.f64 x 4) -11/128)

rewrite12.0ms (0.1%)

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:

7.0ms
(*.f64 (pow.f64 x 4) -11/128)
1.0ms
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128)))

simplify108.0ms (1.3%)

Algorithm
egg-herbie
Rules
920×times-frac_binary64
423×*-commutative_binary64
397×exp-prod_binary64
306×distribute-rgt-in_binary64
301×distribute-lft-in_binary64
Counts
61 → 60
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
078868
1145795
2351777
31225771
43296771
54339771
66379771

prune104.0ms (1.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New60060
Fresh000
Picked011
Done022
Total60363
Error
0b
Counts
63 → 3
Alt Table
StatusErrorProgram
17.3b
(/.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))))))
18.0b
(*.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
28.6b
(fma.f64 (pow.f64 x 6) 69/1024 (fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128)))
Compiler

Compiled 1279 to 945 computations (26.1% saved)

regimes1.4s (17.2%)

Accuracy

Total 0.0b remaining (35.3%)

Threshold costs 0.0b (35.3%)

Counts
94 → 2
Compiler

Compiled 10352 to 9365 computations (9.5% saved)

bsearch5.0ms (0.1%)

Compiler

Compiled 4 to 3 computations (25% saved)

simplify7.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
02657
13457
24157
34357
44457
54257

end2.0ms (0%)

Compiler

Compiled 40 to 33 computations (17.5% saved)

sample3.1s (38.9%)

Algorithm
intervals
Results
1.3s2088×body2048valid
472.0ms995×body1024valid
426.0ms4153×body128valid
168.0ms484×body512valid
60.0ms280×body256valid
Compiler

Compiled 114 to 98 computations (14% saved)

Profiling

Loading profile data...