Details

Time bar (total: 3.9s)

analyze1.0ms (0%)

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

Compiled 14 to 13 computations (7.1% saved)

sample2.1s (54.5%)

Results
1.1s2167×body2048valid
459.0ms4313×body128valid
390.0ms1046×body1024valid
146.0ms502×body512valid
43.0ms228×body256valid
Compiler

Compiled 41 to 38 computations (7.3% saved)

simplify8.0ms (0.2%)

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
13.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
13.2b
(-.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.1%)

Local error

Found 4 expressions with local error:

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

series15.0ms (0.4%)

Counts
4 → 48
Calls

4 calls:

5.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)
2.0ms
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))

rewrite22.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
41×*-un-lft-identity_binary64
36×add-sqr-sqrt_binary64
24×sqrt-prod_binary64
22×add-cube-cbrt_binary64
21×prod-diff_binary64
Counts
4 → 98
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))))
4.0ms
(+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))
0.0ms
(hypot.f64 1 x)

simplify119.0ms (3%)

Algorithm
egg-herbie
Rules
671×fma-def_binary64
495×associate-*l*_binary64
429×fma-neg_binary64
427×associate-*r*_binary64
268×cancel-sign-sub-inv_binary64
Counts
146 → 181
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02263114
16072734
217332412
348502412
449722412

prune176.0ms (4.5%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1783181
Fresh000
Picked101
Done000
Total1793182
Error
0.0b
Counts
182 → 3
Alt Table
StatusErrorProgram
12.7b
(/.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))))))
32.1b
(fma.f64 (pow.f64 x 4) -11/128 (fma.f64 1/8 (*.f64 x x) (*.f64 69/1024 (pow.f64 x 6))))
13.2b
(log1p.f64 (expm1.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
Compiler

Compiled 4140 to 3674 computations (11.3% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series27.0ms (0.7%)

Counts
3 → 36
Calls

3 calls:

19.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))))))
4.0ms
(+.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)))

rewrite44.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:

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

simplify159.0ms (4%)

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

prune298.0ms (7.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2701271
Fresh022
Picked011
Done000
Total2704274
Error
0b
Counts
274 → 4
Alt Table
StatusErrorProgram
12.7b
(/.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))))))
32.1b
(fma.f64 (pow.f64 x 4) -11/128 (fma.f64 1/8 (*.f64 x x) (*.f64 69/1024 (pow.f64 x 6))))
32.4b
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
13.2b
(log1p.f64 (expm1.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
Compiler

Compiled 10067 to 8998 computations (10.6% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series16.0ms (0.4%)

Counts
2 → 24
Calls

2 calls:

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

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
log1p-expm1-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 22
Calls

2 calls:

0.0ms
(expm1.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
0.0ms
(log1p.f64 (expm1.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))

simplify68.0ms (1.7%)

Algorithm
egg-herbie
Rules
554×fma-def_binary64
447×associate-/r*_binary64
447×fma-neg_binary64
370×times-frac_binary64
298×associate-*l*_binary64
Counts
46 → 71
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01491459
14251327
214581228
348931228
451701228

prune169.0ms (4.3%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1810181
Fresh022
Picked011
Done011
Total1814185
Error
0b
Counts
185 → 4
Alt Table
StatusErrorProgram
12.7b
(/.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))))))
32.1b
(fma.f64 (pow.f64 x 4) -11/128 (fma.f64 1/8 (*.f64 x x) (*.f64 69/1024 (pow.f64 x 6))))
32.4b
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
13.2b
(log1p.f64 (expm1.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
Compiler

Compiled 4962 to 4465 computations (10% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series15.0ms (0.4%)

Counts
3 → 24
Calls

3 calls:

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

rewrite6.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt_binary64
add-exp-log_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
3 → 47
Calls

3 calls:

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

simplify54.0ms (1.4%)

Algorithm
egg-herbie
Rules
454×distribute-rgt-in_binary64
453×distribute-lft-in_binary64
425×fma-def_binary64
392×unswap-sqr_binary64
362×associate-*l*_binary64
Counts
71 → 73
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0901126
11591024
2366992
31593992
45137992

prune55.0ms (1.4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New73073
Fresh011
Picked011
Done022
Total73477
Error
0b
Counts
77 → 4
Alt Table
StatusErrorProgram
12.7b
(/.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))))))
32.1b
(fma.f64 (pow.f64 x 4) -11/128 (fma.f64 1/8 (*.f64 x x) (*.f64 69/1024 (pow.f64 x 6))))
32.4b
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
13.2b
(log1p.f64 (expm1.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
Compiler

Compiled 1554 to 1090 computations (29.9% saved)

regimes402.0ms (10.2%)

Accuracy

Total 0.0b remaining (58.8%)

Threshold costs 0.0b (58.8%)

Counts
49 → 2
Compiler

Compiled 5825 to 5209 computations (10.6% saved)

bsearch2.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
02657
13357
24057
34257
44357
54157

end101.0ms (2.6%)

Compiler

Compiled 139 to 115 computations (17.3% saved)

Profiling

Loading profile data...