Details

Time bar (total: 6.7s)

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.2s (32.8%)

Results
1.1s2184×body2048valid
491.0ms4289×body128valid
397.0ms1020×body1024valid
150.0ms504×body512valid
49.0ms259×body256valid
Compiler

Compiled 41 to 38 computations (7.3% saved)

simplify7.0ms (0.1%)

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%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 45 to 41 computations (8.9% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series16.0ms (0.2%)

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

rewrite23.0ms (0.3%)

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:

10.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)

simplify129.0ms (1.9%)

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
218052575
345602539
448602539
552662539

prune190.0ms (2.8%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1924196
Fresh000
Picked101
Done000
Total1934197
Error
0.0b
Counts
197 → 4
Alt Table
StatusErrorProgram
15.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)))))))
34.0b
(fma.f64 (pow.f64 x 4) -11/128 (*.f64 1/8 (*.f64 x x)))
15.0b
(*.f64 (+.f64 1 (sqrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))) (-.f64 1 (sqrt.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
14.2b
(/.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))))))
Compiler

Compiled 4491 to 3990 computations (11.2% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series32.0ms (0.5%)

Counts
3 → 36
Calls

3 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))))))
5.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)))

rewrite48.0ms (0.7%)

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

simplify155.0ms (2.3%)

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

prune355.0ms (5.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New3352337
Fresh213
Picked011
Done000
Total3374341
Error
0.0b
Counts
341 → 4
Alt Table
StatusErrorProgram
28.9b
(/.f64 (+.f64 (fma.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 1/2)) (cbrt.f64 1/2) (neg.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (hypot.f64 1 x)) (/.f64 (sqrt.f64 1/2) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 1/2) (hypot.f64 1 x))) (/.f64 (sqrt.f64 1/2) 1) (*.f64 (/.f64 (sqrt.f64 1/2) (hypot.f64 1 x)) (/.f64 (sqrt.f64 1/2) 1)))) (+.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x))))))
14.2b
(/.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))))))
15.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)))))))
34.0b
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
Compiler

Compiled 11765 to 10505 computations (10.7% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series6.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

6.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)))))))

rewrite56.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
86×sqrt-prod_binary64
73×add-sqr-sqrt_binary64
53×*-un-lft-identity_binary64
24×difference-of-squares_binary64
23×swap-sqr_binary64
Counts
1 → 90
Calls

1 calls:

44.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)))))))

simplify116.0ms (1.7%)

Algorithm
egg-herbie
Rules
830×fma-neg_binary64
724×cancel-sign-sub-inv_binary64
298×associate-*l*_binary64
255×sub-neg_binary64
254×associate-*r*_binary64
Counts
102 → 109
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01442810
13112556
29492466
329042417
449652417
553232417

prune485.0ms (7.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New4341435
Fresh112
Picked101
Done011
Total4363439
Error
0.0b
Counts
439 → 3
Alt Table
StatusErrorProgram
14.9b
(*.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 (log.f64 (exp.f64 (/.f64 1/2 (hypot.f64 1 x)))))))))
14.2b
(/.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))))))
34.0b
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
Compiler

Compiled 15332 to 13880 computations (9.5% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series15.0ms (0.2%)

Counts
3 → 36
Calls

3 calls:

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

rewrite52.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
68×add-sqr-sqrt_binary64
67×*-un-lft-identity_binary64
59×sqrt-prod_binary64
32×add-cube-cbrt_binary64
24×prod-diff_binary64
Counts
3 → 139
Calls

3 calls:

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

simplify137.0ms (2%)

Algorithm
egg-herbie
Rules
658×fma-neg_binary64
467×fma-def_binary64
416×associate-*l*_binary64
368×associate-*r*_binary64
185×associate-/r*_binary64
Counts
175 → 210
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02944006
15363825
214693709
345693709
449883709

prune406.0ms (6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2742276
Fresh011
Picked101
Done011
Total2754279
Error
0.0b
Counts
279 → 4
Alt Table
StatusErrorProgram
14.9b
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 1 3) (pow.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) 3))) (sqrt.f64 (-.f64 (*.f64 1 1) (*.f64 (sqrt.f64 (+.f64 1/2 (log.f64 (exp.f64 (/.f64 1/2 (hypot.f64 1 x)))))) (sqrt.f64 (+.f64 1/2 (log.f64 (exp.f64 (/.f64 1/2 (hypot.f64 1 x)))))))))) (*.f64 (sqrt.f64 (+.f64 (*.f64 1 1) (+.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))) (sqrt.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)))))))) (sqrt.f64 (+.f64 1 (sqrt.f64 (+.f64 1/2 (log.f64 (exp.f64 (/.f64 1/2 (hypot.f64 1 x))))))))))
14.2b
(/.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.9b
(*.f64 (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (log.f64 (exp.f64 (/.f64 1/2 (hypot.f64 1 x)))))))) (sqrt.f64 (-.f64 1 (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (hypot.f64 1 x)))))))
34.0b
(fma.f64 x (*.f64 x 1/8) (*.f64 (pow.f64 x 4) -11/128))
Compiler

Compiled 11479 to 10487 computations (8.6% saved)

regimes2.0s (29.8%)

Accuracy

Total 0.0b remaining (16.8%)

Threshold costs 0.0b (16.8%)

Counts
200 → 3
Compiler

Compiled 36703 to 33619 computations (8.4% saved)

bsearch52.0ms (0.8%)

Steps
ItersRangePoint
10
2.9044665788828883e-6
1499032.0924529708
0.002254868162487943
10
-0.03470345168262622
-4.4981372541030017e-17
-0.0025715001607349015
Compiler

Compiled 2 to 1 computations (50% 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
03188
14188
25188
35588
45788
55588

end187.0ms (2.8%)

Compiler

Compiled 265 to 233 computations (12.1% saved)

Profiling

Loading profile data...