Details

Time bar (total: 4.2s)

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.8s (43.8%)

Results
860.0ms2250×body1024valid
482.0ms4417×body128valid
281.0ms1054×body512valid
95.0ms535×body256valid
Compiler

Compiled 38 to 32 computations (15.8% saved)

simplify88.0ms (2.1%)

Algorithm
egg-herbie
Rules
534×rules-10-rev_binary64
423×rules-20_binary64
415×cube-div_binary64
350×fma-def_binary64
331×rules-5-rev_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
12017
22617
35117
413817
544417
6144817
7406917
8436417
9481417
10515017

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 47 to 38 computations (19.1% saved)

localize7.0ms (0.2%)

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))
5.1b
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))

series46.0ms (1.1%)

Counts
4 → 8
Calls

4 calls:

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

rewrite104.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
826×fma-neg_binary64
607×prod-diff_binary64
171×egg-rr
161×expm1-udef_binary64
161×log1p-udef_binary64
Counts
4 → 171
Calls

4 calls:

102.0ms
(sqrt.f64 (+.f64 x 1))
102.0ms
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
102.0ms
(/.f64 1 (sqrt.f64 x))
102.0ms
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
121730
2272630
3493930
4491330
000
100

simplify65.0ms (1.6%)

Algorithm
egg-herbie
Rules
529×fma-neg_binary64
444×rules-11_binary64
398×fma-def_binary64
391×rules-21_binary64
279×rules-20_binary64
Counts
179 → 183
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02794
18084
229181
3108676
4472876
5498676
6493276

prune234.0ms (5.6%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New16914183
Fresh000
Picked101
Done000
Total17014184
Error
20.6b
Counts
184 → 14
Alt Table
StatusErrorProgram
31.6b
(fma.f64 (cbrt.f64 (pow.f64 x -1/2)) (cbrt.f64 (/.f64 1 x)) (neg.f64 (pow.f64 (+.f64 1 x) -1/2)))
24.6b
(/.f64 (/.f64 (-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))) (cbrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))
31.7b
(fma.f64 (pow.f64 (cbrt.f64 x) -1) (pow.f64 (cbrt.f64 (sqrt.f64 x)) -1) (neg.f64 (pow.f64 (+.f64 1 x) -1/2)))
30.5b
(+.f64 (fma.f64 (cbrt.f64 (pow.f64 x -1/2)) (cbrt.f64 (/.f64 1 x)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1)) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1) (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1))))
31.1b
(fma.f64 (pow.f64 (sqrt.f64 x) -1/2) (pow.f64 (sqrt.f64 x) -1/2) (neg.f64 (pow.f64 (+.f64 1 x) -1/2)))
31.0b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2)) (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2) (pow.f64 (+.f64 1 x) -1/2)))
31.0b
(/.f64 (/.f64 (fma.f64 (pow.f64 x -1/2) (sqrt.f64 (+.f64 1 x)) -1) (pow.f64 (+.f64 1 x) 1/4)) (pow.f64 (+.f64 1 x) 1/4))
30.8b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (+.f64 1 x) -1/2))) (cbrt.f64 (/.f64 1 (+.f64 1 x))) (pow.f64 (+.f64 1 x) -1/2)))
31.1b
(/.f64 (/.f64 (fma.f64 (pow.f64 x -1/2) (sqrt.f64 (+.f64 1 x)) -1) (cbrt.f64 (+.f64 1 x))) (cbrt.f64 (sqrt.f64 (+.f64 1 x))))
31.0b
(/.f64 (fma.f64 (pow.f64 x -1/2) (sqrt.f64 (+.f64 1 x)) -1) (sqrt.f64 (+.f64 1 x)))
24.3b
(/.f64 (-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))) (sqrt.f64 x))
32.0b
(/.f64 (-.f64 (pow.f64 (sqrt.f64 x) -3) (pow.f64 (sqrt.f64 (+.f64 1 x)) -3)) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (+.f64 1 x)) (/.f64 (pow.f64 x -1/2) (sqrt.f64 (+.f64 1 x))))))
31.1b
(+.f64 (fma.f64 (pow.f64 (sqrt.f64 x) -1/2) (pow.f64 (sqrt.f64 x) -1/2) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1)) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1) (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1))))
30.9b
(+.f64 (fma.f64 1 (pow.f64 x -1/2) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1)) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1) (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 1 x))) -1) (pow.f64 (cbrt.f64 (+.f64 1 x)) -1))))
Compiler

Compiled 3973 to 3174 computations (20.1% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (+.f64 1 x) -1/2)
0.2b
(/.f64 (-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))) (sqrt.f64 x))
0.2b
(*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))
13.8b
(-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2)))

series48.0ms (1.1%)

Counts
4 → 22
Calls

4 calls:

18.0ms
(/.f64 (-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))) (sqrt.f64 x))
14.0ms
(*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))
12.0ms
(-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2)))
4.0ms
(pow.f64 (+.f64 1 x) -1/2)

rewrite92.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
807×fma-neg_binary64
592×prod-diff_binary64
237×egg-rr
173×expm1-udef_binary64
173×log1p-udef_binary64
Counts
4 → 237
Calls

4 calls:

87.0ms
(pow.f64 (+.f64 1 x) -1/2)
87.0ms
(/.f64 (-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))) (sqrt.f64 x))
87.0ms
(*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))
87.0ms
(-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01054
123847
2281047
3512147
000
100

simplify53.0ms (1.3%)

Algorithm
egg-herbie
Rules
869×fma-def_binary64
292×fma-neg_binary64
242×rules-4_binary64
219×rules-11_binary64
204×rules-15-rev_binary64
Counts
259 → 270
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076489
1225477
2934396
34476379
45303379

prune233.0ms (5.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2691270
Fresh12113
Picked011
Done000
Total2813284
Error
0.1b
Counts
284 → 3
Alt Table
StatusErrorProgram
24.3b
(/.f64 (-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))) (sqrt.f64 x))
30.8b
(/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))
31.0b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2)) (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2) (pow.f64 (+.f64 1 x) -1/2)))
Compiler

Compiled 6729 to 4751 computations (29.4% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))
0.2b
(/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))
0.4b
(/.f64 3/8 (*.f64 x x))

series21.0ms (0.5%)

Counts
3 → 24
Calls

3 calls:

15.0ms
(/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))
3.0ms
(-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))
2.0ms
(/.f64 3/8 (*.f64 x x))

rewrite71.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
745×fma-neg_binary64
432×prod-diff_binary64
184×expm1-udef_binary64
184×log1p-udef_binary64
116×egg-rr
Counts
3 → 116
Calls

3 calls:

68.0ms
(-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))
68.0ms
(/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))
68.0ms
(/.f64 3/8 (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
124338
2298938
3487838
000
100

simplify87.0ms (2.1%)

Algorithm
egg-herbie
Rules
593×fma-neg_binary64
518×rules-20_binary64
483×fma-def_binary64
335×rules-15-rev_binary64
154×fma-udef_binary64
Counts
140 → 123
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
016216
132216
271216
3234189
4863189
51867189
64693189
74898189
84994189
94952189

prune97.0ms (2.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1158123
Fresh011
Picked101
Done011
Total11610126
Error
0.0b
Counts
126 → 10
Alt Table
StatusErrorProgram
31.2b
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) 3) (sqrt.f64 x))
30.8b
(*.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (/.f64 1 (sqrt.f64 x)))
31.0b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2)) (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2) (pow.f64 (+.f64 1 x) -1/2)))
31.2b
(/.f64 (/.f64 (/.f64 (-.f64 1/2 (*.f64 x (/.f64 3/8 (*.f64 x x)))) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) (sqrt.f64 x))
24.3b
(/.f64 (-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))) (sqrt.f64 x))
50.3b
(/.f64 (/.f64 (-.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 27/512 (pow.f64 (*.f64 x x) 3))) (+.f64 (pow.f64 (/.f64 1/2 x) 2) (+.f64 (pow.f64 (/.f64 3/8 (*.f64 x x)) 2) (*.f64 (/.f64 3/8 (*.f64 x x)) (/.f64 1/2 x))))) (sqrt.f64 x))
31.1b
(pow.f64 (sqrt.f64 (/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))) 2)
31.1b
(*.f64 (sqrt.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) (/.f64 (sqrt.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) (sqrt.f64 x)))
31.2b
(*.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))) 2))
30.2b
(/.f64 (fabs.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) (sqrt.f64 x))
Compiler

Compiled 2723 to 1687 computations (38% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))
0.2b
(/.f64 (fabs.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) (sqrt.f64 x))
0.4b
(/.f64 3/8 (*.f64 x x))

series27.0ms (0.7%)

Counts
1 → 0
Calls

1 calls:

27.0ms
(/.f64 (fabs.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) (sqrt.f64 x))

rewrite63.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
750×fma-neg_binary64
433×prod-diff_binary64
186×expm1-udef_binary64
186×log1p-udef_binary64
114×add-sqr-sqrt_binary64
Counts
1 → 34
Calls

1 calls:

62.0ms
(/.f64 (fabs.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) (sqrt.f64 x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
126618
2301918
3488918
000
100

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Counts
34 → 34
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune101.0ms (2.4%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1230123
Fresh088
Picked011
Done011
Total12310133
Error
0.0b
Counts
133 → 10
Alt Table
StatusErrorProgram
31.2b
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) 3) (sqrt.f64 x))
30.8b
(*.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (/.f64 1 (sqrt.f64 x)))
31.0b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2)) (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2) (pow.f64 (+.f64 1 x) -1/2)))
31.2b
(/.f64 (/.f64 (/.f64 (-.f64 1/2 (*.f64 x (/.f64 3/8 (*.f64 x x)))) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) (sqrt.f64 x))
24.3b
(/.f64 (-.f64 1 (*.f64 (sqrt.f64 x) (pow.f64 (+.f64 1 x) -1/2))) (sqrt.f64 x))
50.3b
(/.f64 (/.f64 (-.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 27/512 (pow.f64 (*.f64 x x) 3))) (+.f64 (pow.f64 (/.f64 1/2 x) 2) (+.f64 (pow.f64 (/.f64 3/8 (*.f64 x x)) 2) (*.f64 (/.f64 3/8 (*.f64 x x)) (/.f64 1/2 x))))) (sqrt.f64 x))
31.1b
(pow.f64 (sqrt.f64 (/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))) 2)
31.1b
(*.f64 (sqrt.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) (/.f64 (sqrt.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) (sqrt.f64 x)))
31.2b
(*.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x))) (sqrt.f64 x))) 2))
30.2b
(/.f64 (fabs.f64 (-.f64 (/.f64 1/2 x) (/.f64 3/8 (*.f64 x x)))) (sqrt.f64 x))
Compiler

Compiled 2604 to 1626 computations (37.6% saved)

regimes682.0ms (16.3%)

Accuracy

Total 0.2b remaining (63.5%)

Threshold costs 0.2b (63.5%)

Counts
229 → 2
Compiler

Compiled 8082 to 6532 computations (19.2% saved)

bsearch7.0ms (0.2%)

Compiler

Compiled 12 to 10 computations (16.7% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03389
13589
23489

end185.0ms (4.4%)

Compiler

Compiled 342 to 254 computations (25.7% saved)

Profiling

Loading profile data...