Details

Time bar (total: 4.4s)

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

Results
801.0ms2322×body1024valid
451.0ms4334×body128valid
278.0ms1068×body512valid
95.0ms532×body256valid
Compiler

Compiled 38 to 32 computations (15.8% saved)

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
15×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
11417
22017
32817
43817
55617
69317
712717
817417
921017
1023617
1123817
Stop Event
saturated
Counts
1 → 2

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
23.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
23.4b
(-.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.3b
(/.f64 1 (sqrt.f64 x))
2.8b
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))

series31.0ms (0.7%)

Counts
4 → 8
Calls

4 calls:

9.0ms
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))
9.0ms
(/.f64 1 (sqrt.f64 x))
7.0ms
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
5.0ms
(sqrt.f64 (+.f64 x 1))

rewrite58.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
776×prod-diff_binary64
205×fma-neg_binary64
170×log1p-udef_binary64
169×expm1-udef_binary64
148×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0938
120830
2291330
Stop Event
node limit
Counts
4 → 148
Calls

4 calls:

54.0ms
(sqrt.f64 (+.f64 x 1))
54.0ms
(/.f64 1 (sqrt.f64 (+.f64 x 1)))
54.0ms
(/.f64 1 (sqrt.f64 x))
54.0ms
(-.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 1 (sqrt.f64 (+.f64 x 1))))

simplify23.0ms (0.5%)

Algorithm
egg-herbie
Rules
914×fma-neg_binary64
744×cancel-sign-sub-inv_binary64
439×fma-def_binary64
222×distribute-rgt-neg-in_binary64
202×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02794
18086
222076
375764
4243164
Stop Event
node limit
Counts
156 → 161

prune215.0ms (4.9%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New15011161
Fresh000
Picked101
Done000
Total15111162
Error
22.8b
Counts
162 → 11
Alt Table
StatusErrorProgram
31.9b
(fma.f64 (cbrt.f64 (pow.f64 x -1/2)) (cbrt.f64 (/.f64 1 x)) (neg.f64 (pow.f64 (+.f64 1 x) -1/2)))
33.3b
(/.f64 (+.f64 (pow.f64 (sqrt.f64 x) -3) (pow.f64 (neg.f64 (pow.f64 (+.f64 1 x) -1/2)) 3)) (+.f64 (/.f64 1 x) (-.f64 (*.f64 (neg.f64 (pow.f64 (+.f64 1 x) -1/2)) (neg.f64 (pow.f64 (+.f64 1 x) -1/2))) (*.f64 (pow.f64 x -1/2) (neg.f64 (pow.f64 (+.f64 1 x) -1/2))))))
31.4b
(+.f64 (fma.f64 (sqrt.f64 (pow.f64 x -1/2)) (sqrt.f64 (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))))
31.2b
(+.f64 (fma.f64 -1 (/.f64 1 (neg.f64 (sqrt.f64 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))))
23.5b
(/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (+.f64 1 x))) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
26.9b
(-.f64 (/.f64 1 (sqrt.f64 x)) (pow.f64 (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2) 2))
31.2b
(+.f64 (-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (fma.f64 (neg.f64 (pow.f64 (pow.f64 (+.f64 1 x) 1/4) -1)) (pow.f64 (pow.f64 (+.f64 1 x) 1/4) -1) (pow.f64 (+.f64 1 x) -1/2)))
30.9b
(+.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)))
25.8b
(*.f64 (+.f64 (sqrt.f64 (pow.f64 x -1/2)) (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2)) (-.f64 (sqrt.f64 (pow.f64 x -1/2)) (pow.f64 (sqrt.f64 (+.f64 1 x)) -1/2)))
31.9b
(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)))
31.5b
(fma.f64 (sqrt.f64 (pow.f64 x -1/2)) (sqrt.f64 (pow.f64 x -1/2)) (neg.f64 (pow.f64 (+.f64 1 x) -1/2)))
Compiler

Compiled 3615 to 2900 computations (19.8% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (+.f64 1 x) -1/2)
0.0b
(/.f64 1 (+.f64 1 x))
0.2b
(/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (+.f64 1 x))) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
2.8b
(-.f64 (/.f64 1 x) (/.f64 1 (+.f64 1 x)))

series23.0ms (0.5%)

Counts
4 → 48
Calls

4 calls:

11.0ms
(/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (+.f64 1 x))) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
6.0ms
(pow.f64 (+.f64 1 x) -1/2)
4.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (+.f64 1 x)))
2.0ms
(/.f64 1 (+.f64 1 x))

rewrite70.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
243×expm1-udef_binary64
243×log1p-udef_binary64
147×log1p-expm1-u_binary64
147×expm1-log1p-u_binary64
146×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01255
129840
2453640
Stop Event
node limit
Counts
4 → 146
Calls

4 calls:

67.0ms
(pow.f64 (+.f64 1 x) -1/2)
67.0ms
(/.f64 1 (+.f64 1 x))
67.0ms
(/.f64 (-.f64 (/.f64 1 x) (/.f64 1 (+.f64 1 x))) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
67.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (+.f64 1 x)))

simplify41.0ms (0.9%)

Algorithm
egg-herbie
Rules
376×fma-def_binary64
311×associate-+l+_binary64
280×associate--l+_binary64
266×associate-/r*_binary64
177×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01531464
14761399
214421232
Stop Event
node limit
Counts
194 → 217

prune234.0ms (5.3%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2125217
Fresh10010
Picked101
Done000
Total2235228
Error
5.3b
Counts
228 → 5
Alt Table
StatusErrorProgram
23.1b
(/.f64 (/.f64 (-.f64 (+.f64 -1 (neg.f64 x)) (*.f64 x -1)) (*.f64 x (+.f64 -1 (neg.f64 x)))) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
43.1b
(fma.f64 1/2 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 5))) -3/8))
23.3b
(-.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))
5.6b
(/.f64 (/.f64 (/.f64 (+.f64 1 (-.f64 x x)) x) (+.f64 1 x)) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
36.1b
(/.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2))) (/.f64 1 (pow.f64 x 3))) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
Compiler

Compiled 5795 to 4364 computations (24.7% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))
0.0b
(pow.f64 (+.f64 1 x) -1/2)
0.1b
(/.f64 (/.f64 (+.f64 1 (-.f64 x x)) x) (+.f64 1 x))
5.6b
(/.f64 (/.f64 (/.f64 (+.f64 1 (-.f64 x x)) x) (+.f64 1 x)) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))

series27.0ms (0.6%)

Counts
3 → 36
Calls

3 calls:

20.0ms
(/.f64 (/.f64 (/.f64 (+.f64 1 (-.f64 x x)) x) (+.f64 1 x)) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
5.0ms
(+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))
2.0ms
(/.f64 (/.f64 (+.f64 1 (-.f64 x x)) x) (+.f64 1 x))

rewrite71.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
934×prod-diff_binary64
137×log1p-expm1-u_binary64
137×expm1-log1p-u_binary64
135×add-sqr-sqrt_binary64
130×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01348
133248
2412948
Stop Event
node limit
Counts
3 → 112
Calls

3 calls:

68.0ms
(+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))
68.0ms
(/.f64 (/.f64 (+.f64 1 (-.f64 x x)) x) (+.f64 1 x))
68.0ms
(/.f64 (/.f64 (/.f64 (+.f64 1 (-.f64 x x)) x) (+.f64 1 x)) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))

simplify38.0ms (0.9%)

Algorithm
egg-herbie
Rules
569×fma-def_binary64
361×associate--l+_binary64
357×associate-/r*_binary64
255×times-frac_binary64
209×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01621554
15201360
216851181
Stop Event
node limit
Counts
148 → 174

prune239.0ms (5.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2097216
Fresh404
Picked101
Done000
Total2147221
Error
0b
Counts
221 → 7
Alt Table
StatusErrorProgram
1.2b
(*.f64 (/.f64 (/.f64 1 x) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))) 2)) (/.f64 (/.f64 1 (+.f64 1 x)) (cbrt.f64 (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))))
0.1b
(*.f64 (/.f64 (pow.f64 x -1/2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))) (/.f64 (pow.f64 x -1/2) (+.f64 1 x)))
1.2b
(*.f64 (/.f64 (pow.f64 (/.f64 1 (cbrt.f64 x)) 2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))) (/.f64 (/.f64 1 (cbrt.f64 x)) (+.f64 1 x)))
5.9b
(/.f64 (pow.f64 (pow.f64 (*.f64 x (+.f64 1 x)) -1/2) 2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
0.4b
(*.f64 (/.f64 1 x) (/.f64 1 (*.f64 (+.f64 1 x) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))))
5.6b
(neg.f64 (/.f64 (/.f64 (/.f64 1 x) (+.f64 1 x)) (neg.f64 (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))))
6.0b
(pow.f64 (*.f64 (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)) (*.f64 x (+.f64 1 x))) -1)
Compiler

Compiled 6645 to 5059 computations (23.9% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (+.f64 1 x) -1/2)
0.0b
(/.f64 (pow.f64 x -1/2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
0.0b
(*.f64 (/.f64 (pow.f64 x -1/2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))) (/.f64 (pow.f64 x -1/2) (+.f64 1 x)))
0.1b
(/.f64 (pow.f64 x -1/2) (+.f64 1 x))

series61.0ms (1.4%)

Counts
3 → 8
Calls

3 calls:

29.0ms
(/.f64 (pow.f64 x -1/2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
23.0ms
(*.f64 (/.f64 (pow.f64 x -1/2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))) (/.f64 (pow.f64 x -1/2) (+.f64 1 x)))
8.0ms
(/.f64 (pow.f64 x -1/2) (+.f64 1 x))

rewrite65.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
782×prod-diff_binary64
127×add-sqr-sqrt_binary64
125×log1p-expm1-u_binary64
125×expm1-log1p-u_binary64
124×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01160
126054
2386254
Stop Event
node limit
Counts
3 → 124
Calls

3 calls:

62.0ms
(/.f64 (pow.f64 x -1/2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2)))
62.0ms
(*.f64 (/.f64 (pow.f64 x -1/2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))) (/.f64 (pow.f64 x -1/2) (+.f64 1 x)))
62.0ms
(/.f64 (pow.f64 x -1/2) (+.f64 1 x))

simplify27.0ms (0.6%)

Algorithm
egg-herbie
Rules
495×associate-+l+_binary64
386×associate-+r+_binary64
376×fma-def_binary64
270×associate--l+_binary64
211×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
097683
1313503
21023466
Stop Event
node limit
Counts
132 → 139

prune237.0ms (5.3%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1765181
Fresh606
Picked101
Done000
Total1835188
Error
0b
Counts
188 → 5
Alt Table
StatusErrorProgram
0.4b
(/.f64 (pow.f64 x -1) (*.f64 (+.f64 x 1) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 x 1) -1/2))))
0.5b
(*.f64 (/.f64 (pow.f64 x -1/2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))) (pow.f64 (/.f64 (pow.f64 x -1/4) (sqrt.f64 (+.f64 x 1))) 2))
0.1b
(*.f64 (/.f64 (pow.f64 x -1/2) (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 1 x) -1/2))) (*.f64 (pow.f64 x -1/2) (/.f64 1 (+.f64 x 1))))
0.5b
(*.f64 (pow.f64 (/.f64 (pow.f64 x -1/4) (hypot.f64 (pow.f64 x -1/4) (pow.f64 (+.f64 x 1) -1/4))) 2) (/.f64 (pow.f64 x -1/2) (+.f64 1 x)))
0.1b
(/.f64 (neg.f64 (pow.f64 x -1/2)) (*.f64 (/.f64 (+.f64 (pow.f64 x -1/2) (pow.f64 (+.f64 x 1) -1/2)) (pow.f64 x -1/2)) (+.f64 (neg.f64 x) -1)))
Compiler

Compiled 5262 to 4148 computations (21.2% saved)

regimes1.1s (25.6%)

Accuracy

Total 0.1b remaining (87%)

Threshold costs 0.1b (87%)

Counts
271 → 1
Compiler

Compiled 10852 to 8784 computations (19.1% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01535
12733
23433
33833
43933
Stop Event
saturated

end123.0ms (2.8%)

Compiler

Compiled 161 to 127 computations (21.1% saved)

Profiling

Loading profile data...