Details

Time bar (total: 11.1s)

analyze1.0ms (0%)

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

Compiled 13 to 11 computations (15.4% saved)

sample1.9s (17.3%)

Results
968.0ms2287×body1024valid
491.0ms4402×body128valid
306.0ms1012×body512valid
109.0ms555×body256valid
Compiler

Compiled 38 to 32 computations (15.8% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
14×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
11417
22017
32817
43617
55417
67917
79617
811317
912317
1012717
1112917
1211517

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
19.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
19.7b
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
Compiler

Compiled 47 to 38 computations (19.1% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 x 1))
0.1b
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
0.2b
(/.f64 1 (sqrt.f64 x))
2.6b
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))

series50.0ms (0.4%)

Counts
4 → 8
Calls

4 calls:

17.0ms
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
14.0ms
(/.f64 1 (sqrt.f64 x))
11.0ms
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
8.0ms
(sqrt.f64 (+.f64 x 1))

rewrite223.0ms (2%)

Algorithm
rewrite-expression-head
Rules
1084×times-frac_binary64
922×*-un-lft-identity_binary64
802×add-sqr-sqrt_binary64
728×add-cube-cbrt_binary64
594×prod-diff_binary64
Counts
4 → 815
Calls

4 calls:

41.0ms
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
7.0ms
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
3.0ms
(/.f64 1 (sqrt.f64 x))
3.0ms
(sqrt.f64 (+.f64 x 1))

simplify854.0ms (7.7%)

Algorithm
egg-herbie
Rules
814×fma-neg_binary64
623×fma-def_binary64
489×cancel-sign-sub-inv_binary64
358×associate-*r*_binary64
241×times-frac_binary64
Counts
823 → 641
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
024236505
150125671
2121018755
3341217853
4442317803
5488417803
6473017803

prune1.3s (12%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New62219641
Fresh000
Picked101
Done000
Total62319642
Error
19.1b
Counts
642 → 19
Alt Table
StatusErrorProgram
62.5b
(+.f64 (fma.f64 (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))) (/.f64 1 (sqrt.f64 (cbrt.f64 x))) (neg.f64 (*.f64 (sqrt.f64 (-.f64 x 1)) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) (*.f64 1 1))))))) (fma.f64 (neg.f64 (sqrt.f64 (-.f64 x 1))) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) (*.f64 1 1)))) (*.f64 (sqrt.f64 (-.f64 x 1)) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) (*.f64 1 1)))))))
30.4b
(/.f64 (+.f64 (/.f64 1 (pow.f64 x 3/2)) (/.f64 -1 (pow.f64 (sqrt.f64 (+.f64 1 x)) 3))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (+.f64 1 x)) (/.f64 1 (*.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 x)))))))
30.4b
(+.f64 (fma.f64 (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))) (/.f64 1 (sqrt.f64 (cbrt.f64 x))) (neg.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1)))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3))))))) (fma.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1))))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1)))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3)))))))
30.1b
(fma.f64 (/.f64 1 (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))) (/.f64 1 (cbrt.f64 (sqrt.f64 x))) (/.f64 -1 (sqrt.f64 (+.f64 1 x))))
62.5b
(+.f64 (fma.f64 1 (/.f64 1 (sqrt.f64 x)) (neg.f64 (*.f64 (sqrt.f64 (-.f64 x 1)) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) (*.f64 1 1))))))) (fma.f64 (neg.f64 (sqrt.f64 (-.f64 x 1))) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) (*.f64 1 1)))) (*.f64 (sqrt.f64 (-.f64 x 1)) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) (*.f64 1 1)))))))
29.7b
(+.f64 (fma.f64 (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))) (/.f64 1 (sqrt.f64 (cbrt.f64 x))) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))))))) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))))) (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (*.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))))))
29.4b
(+.f64 (fma.f64 1 (/.f64 1 (sqrt.f64 x)) (neg.f64 (*.f64 (/.f64 1 (sqrt.f64 (cbrt.f64 (+.f64 x 1)))) (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))))))) (fma.f64 (neg.f64 (/.f64 1 (sqrt.f64 (cbrt.f64 (+.f64 x 1))))) (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1))))) (*.f64 (/.f64 1 (sqrt.f64 (cbrt.f64 (+.f64 x 1)))) (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1))))))))
29.3b
(+.f64 (fma.f64 1 (/.f64 1 (sqrt.f64 x)) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))))))) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))))) (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (*.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (sqrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))))))
29.5b
(+.f64 (fma.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 x))) (/.f64 1 (sqrt.f64 (sqrt.f64 x))) (neg.f64 (*.f64 (/.f64 1 (cbrt.f64 (sqrt.f64 (+.f64 x 1)))) (/.f64 1 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 x 1))) (cbrt.f64 (sqrt.f64 (+.f64 x 1)))))))) (fma.f64 (neg.f64 (/.f64 1 (cbrt.f64 (sqrt.f64 (+.f64 x 1))))) (/.f64 1 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 x 1))) (cbrt.f64 (sqrt.f64 (+.f64 x 1))))) (*.f64 (/.f64 1 (cbrt.f64 (sqrt.f64 (+.f64 x 1)))) (/.f64 1 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 x 1))) (cbrt.f64 (sqrt.f64 (+.f64 x 1))))))))
30.8b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 x))) (cbrt.f64 (/.f64 1 (sqrt.f64 x)))) (cbrt.f64 (/.f64 1 (sqrt.f64 x))) (neg.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1)))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3))))))) (fma.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1))))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1)))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3)))))))
21.8b
(-.f64 (pow.f64 x -1/2) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
29.6b
(fma.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 x))) (sqrt.f64 (/.f64 1 (sqrt.f64 x))) (/.f64 -1 (sqrt.f64 (+.f64 1 x))))
19.7b
(/.f64 (-.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1))))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
29.8b
(fma.f64 (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))) (/.f64 1 (sqrt.f64 (cbrt.f64 x))) (/.f64 -1 (sqrt.f64 (+.f64 1 x))))
30.1b
(+.f64 (fma.f64 1 (/.f64 1 (sqrt.f64 x)) (neg.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1)))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3))))))) (fma.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1))))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1)))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3)))))))
29.6b
(+.f64 (fma.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 x))) (/.f64 1 (sqrt.f64 (sqrt.f64 x))) (neg.f64 (*.f64 (/.f64 1 (sqrt.f64 (cbrt.f64 (+.f64 x 1)))) (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))))))) (fma.f64 (neg.f64 (/.f64 1 (sqrt.f64 (cbrt.f64 (+.f64 x 1))))) (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1))))) (*.f64 (/.f64 1 (sqrt.f64 (cbrt.f64 (+.f64 x 1)))) (/.f64 1 (sqrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1))))))))
29.4b
(+.f64 (fma.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 x))) (/.f64 1 (sqrt.f64 (sqrt.f64 x))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (cbrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))))) (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (cbrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))))) (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (cbrt.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))))))))
62.8b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 x))) (cbrt.f64 (/.f64 1 (sqrt.f64 x)))) (cbrt.f64 (/.f64 1 (sqrt.f64 x))) (neg.f64 (*.f64 (sqrt.f64 (-.f64 x 1)) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) (*.f64 1 1))))))) (fma.f64 (neg.f64 (sqrt.f64 (-.f64 x 1))) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) (*.f64 1 1)))) (*.f64 (sqrt.f64 (-.f64 x 1)) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) (*.f64 1 1)))))))
30.3b
(+.f64 (fma.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 x))) (sqrt.f64 (/.f64 1 (sqrt.f64 x))) (neg.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1)))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3))))))) (fma.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1))))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1)))) (/.f64 1 (sqrt.f64 (+.f64 (pow.f64 x 3) (pow.f64 1 3)))))))
Compiler

Compiled 32243 to 26063 computations (19.2% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
0.3b
(/.f64 (-.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1))))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
0.5b
(*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x)))
2.6b
(-.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))

series65.0ms (0.6%)

Counts
4 → 28
Calls

4 calls:

45.0ms
(/.f64 (-.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1))))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
12.0ms
(*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x)))
5.0ms
(-.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
3.0ms
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1))))

rewrite214.0ms (1.9%)

Algorithm
rewrite-expression-head
Rules
426×times-frac_binary64
387×*-un-lft-identity_binary64
340×add-sqr-sqrt_binary64
208×sqrt-prod_binary64
176×add-cube-cbrt_binary64
Counts
4 → 482
Calls

4 calls:

80.0ms
(/.f64 (-.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1))))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
25.0ms
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
17.0ms
(*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x)))
13.0ms
(-.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))

simplify379.0ms (3.4%)

Algorithm
egg-herbie
Rules
780×fma-def_binary64
531×fma-neg_binary64
301×distribute-rgt-in_binary64
220×cancel-sign-sub-inv_binary64
184×associate-*r*_binary64
Counts
510 → 547
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
034015824
178711543
2248211357
3450011281
4487911281

prune664.0ms (6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New5461547
Fresh17118
Picked011
Done000
Total5633566
Error
6.6b
Counts
566 → 3
Alt Table
StatusErrorProgram
19.7b
(/.f64 (-.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1))))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
6.9b
(/.f64 (/.f64 1 (fma.f64 x x x)) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
21.8b
(-.f64 (pow.f64 x -1/2) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
Compiler

Compiled 24111 to 18045 computations (25.2% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
0.2b
(/.f64 1 (sqrt.f64 x))
0.3b
(/.f64 1 (fma.f64 x x x))
6.5b
(/.f64 (/.f64 1 (fma.f64 x x x)) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))

series57.0ms (0.5%)

Counts
2 → 12
Calls

2 calls:

54.0ms
(/.f64 (/.f64 1 (fma.f64 x x x)) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
3.0ms
(/.f64 1 (fma.f64 x x x))

rewrite100.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
622×times-frac_binary64
577×*-un-lft-identity_binary64
227×add-sqr-sqrt_binary64
227×add-cube-cbrt_binary64
224×distribute-lft-out_binary64
Counts
2 → 292
Calls

2 calls:

32.0ms
(/.f64 (/.f64 1 (fma.f64 x x x)) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
4.0ms
(/.f64 1 (fma.f64 x x x))

simplify262.0ms (2.4%)

Algorithm
egg-herbie
Rules
722×distribute-rgt-in_binary64
669×distribute-lft-in_binary64
620×fma-def_binary64
155×associate-/r*_binary64
146×times-frac_binary64
Counts
304 → 246
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
013510736
132410483
280210360
3204710355
4522510355

prune473.0ms (4.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New3597366
Fresh011
Picked101
Done101
Total3618369
Error
0.0b
Counts
369 → 8
Alt Table
StatusErrorProgram
26.4b
(*.f64 (/.f64 (/.f64 1 (fma.f64 x x x)) (+.f64 (pow.f64 (/.f64 1 (sqrt.f64 x)) 3) (pow.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) 3))) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (-.f64 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))))
6.4b
(/.f64 (*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (/.f64 1 (hypot.f64 x (sqrt.f64 x)))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
7.1b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))) (/.f64 (/.f64 1 (fma.f64 x x x)) (sqrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))))
21.8b
(-.f64 (pow.f64 x -1/2) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
0.3b
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x))))))
0.6b
(*.f64 (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (sqrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))) (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (sqrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))))
1.1b
(*.f64 (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (*.f64 (cbrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x))))) (cbrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x))))))) (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (cbrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))))
6.8b
(/.f64 (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (sqrt.f64 (fma.f64 x x x))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
Compiler

Compiled 11547 to 7504 computations (35% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (hypot.f64 x (sqrt.f64 x)))
0.1b
(/.f64 1 (sqrt.f64 (+.f64 1 x)))
0.2b
(/.f64 1 (sqrt.f64 x))
0.3b
(/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))

series581.0ms (5.2%)

Counts
3 → 6
Calls

3 calls:

545.0ms
(/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))
26.0ms
(/.f64 1 (hypot.f64 x (sqrt.f64 x)))
9.0ms
(/.f64 1 (sqrt.f64 (+.f64 1 x)))

rewrite109.0ms (1%)

Algorithm
rewrite-expression-head
Rules
643×times-frac_binary64
602×*-un-lft-identity_binary64
244×add-sqr-sqrt_binary64
244×add-cube-cbrt_binary64
228×distribute-lft-out_binary64
Counts
3 → 345
Calls

3 calls:

31.0ms
(/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))
5.0ms
(/.f64 1 (sqrt.f64 (+.f64 1 x)))
2.0ms
(/.f64 1 (hypot.f64 x (sqrt.f64 x)))

simplify387.0ms (3.5%)

Algorithm
egg-herbie
Rules
628×div-sub_binary64
625×fma-neg_binary64
514×fma-def_binary64
318×cancel-sign-sub-inv_binary64
316×associate-/l*_binary64
Counts
351 → 271
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
016811756
136011479
277411468
3169111458
4373411458
5452611458
6554011458

prune673.0ms (6.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New3544358
Fresh167
Picked101
Done000
Total35610366
Error
0.0b
Counts
366 → 10
Alt Table
StatusErrorProgram
0.3b
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (+.f64 (/.f64 1 (sqrt.f64 x)) (pow.f64 (+.f64 1 x) -1/2))))
6.4b
(/.f64 (*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (/.f64 1 (hypot.f64 x (sqrt.f64 x)))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))
26.4b
(*.f64 (/.f64 (/.f64 1 (fma.f64 x x x)) (+.f64 (pow.f64 (/.f64 1 (sqrt.f64 x)) 3) (pow.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) 3))) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 x))) (-.f64 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 x 1))) (/.f64 1 (sqrt.f64 (+.f64 x 1)))) (*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1)))))))
0.3b
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (+.f64 (/.f64 1 (sqrt.f64 x)) (*.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 (+.f64 1 x)))) (/.f64 1 (sqrt.f64 (sqrt.f64 (+.f64 1 x))))))))
7.1b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))) (/.f64 (/.f64 1 (fma.f64 x x x)) (sqrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))))
0.5b
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 x (sqrt.f64 x)))) (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 x (sqrt.f64 x)))) (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))))
21.8b
(-.f64 (pow.f64 x -1/2) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
0.6b
(*.f64 (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (sqrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))) (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (sqrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))))
1.1b
(*.f64 (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (*.f64 (cbrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x))))) (cbrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x))))))) (/.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (cbrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x)))))))
0.8b
(*.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))) (*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x)))) (cbrt.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x))))) (*.f64 (cbrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x))))) (cbrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x))))))) (/.f64 (cbrt.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 x)))) (cbrt.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 1 x))))))))
Compiler

Compiled 13386 to 8040 computations (39.9% saved)

regimes2.4s (21.5%)

Accuracy

Total 0.3b remaining (92.8%)

Threshold costs 0.3b (92.8%)

Counts
817 → 1
Compiler

Compiled 57299 to 44492 computations (22.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01439
11939
21739

end321.0ms (2.9%)

Compiler

Compiled 441 to 307 computations (30.4% saved)

Profiling

Loading profile data...