Details

Time bar (total: 13.5s)

analyze965.0ms (7.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%62.4%12.6%5
25%56.2%18.8%6
28.1%46.8%25.1%7
28.1%43.7%28.2%8
29.7%34.3%36%9
29.7%31.6%38.7%10
31.1%25.8%43.1%11
31.1%24.6%44.3%12
31.5%21.9%46.6%13
31.5%21%47.5%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample9.2s (68.6%)

Symmetry

(sort x n)

Results
2.4s2833×body1024valid
2.3s1696×body1024invalid
1.8s1736×body2048valid
821.0ms1254×body512valid
791.0ms998×body512invalid
408.0ms1850×body128valid
242.0ms583×body256valid
239.0ms511×body256invalid
199.0ms1109×body128invalid
7.0msbody2048invalid
Compiler

Compiled 47 to 35 computations (25.5% saved)

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Rules
237×fma-neg_binary64
161×rules-42_binary64
152×rules-40_binary64
134×rules-41_binary64
134×rules-43_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
15019
211719
329519
459319
5719

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
49.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
49.7b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))
Compiler

Compiled 45 to 33 computations (26.7% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.6b
(pow.f64 (+.f64 x 1) (/.f64 1 n))
0.6b
(pow.f64 x (/.f64 1 n))
1.3b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))

series82.0ms (0.6%)

Counts
3 → 72
Calls

3 calls:

35.0ms
(pow.f64 x (/.f64 1 n))
32.0ms
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))
14.0ms
(pow.f64 (+.f64 x 1) (/.f64 1 n))

rewrite114.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
790×fma-neg_binary64
525×prod-diff_binary64
164×expm1-udef_binary64
164×log1p-udef_binary64
137×egg-rr
Counts
3 → 137
Calls

3 calls:

111.0ms
(pow.f64 (+.f64 x 1) (/.f64 1 n))
111.0ms
(pow.f64 x (/.f64 1 n))
111.0ms
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
121532
2267932
3481832
4504232
000
100

simplify127.0ms (0.9%)

Algorithm
egg-herbie
Rules
509×fma-def_binary64
402×fma-neg_binary64
401×rules-21_binary64
391×rules-13_binary64
385×rules-40_binary64
Counts
209 → 206
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02073039
115723033
259283033

prune301.0ms (2.2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2015206
Fresh000
Picked101
Done000
Total2025207
Error
22.5b
Counts
207 → 5
Alt Table
StatusErrorProgram
49.4b
(pow.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3) 1/3)
50.9b
(/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 x n))
51.3b
(-.f64 (fma.f64 11/24 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 n n) (pow.f64 x 4))) (fma.f64 1/3 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 x n))))))) (fma.f64 1/4 (+.f64 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (pow.f64 x 4))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 n 3) (pow.f64 x 4)))) (*.f64 1/2 (+.f64 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (*.f64 x x))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 n n) (pow.f64 x 3)))))))
45.6b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) 1)
47.4b
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (/.f64 (log1p.f64 x) n)) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (/.f64 (log.f64 x) n)))
Compiler

Compiled 7213 to 4371 computations (39.4% saved)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.5b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) 1)
0.6b
(pow.f64 (+.f64 x 1) (/.f64 1 n))

series25.0ms (0.2%)

Counts
1 → 24
Calls

1 calls:

25.0ms
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) 1)

rewrite50.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
795×log1p-expm1-u_binary64
795×expm1-log1p-u_binary64
300×prod-diff_binary64
81×add-sqr-sqrt_binary64
75×add-log-exp_binary64
Counts
1 → 33
Calls

1 calls:

49.0ms
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) 1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
11908
223088
357488
000
100

simplify39.0ms (0.3%)

Algorithm
egg-herbie
Rules
371×rules-7-rev_binary64
323×fma-def_binary64
258×rules-21_binary64
257×fma-neg_binary64
247×rules-41_binary64
Counts
57 → 65
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01391152
110551099
249171099

prune115.0ms (0.9%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1202122
Fresh044
Picked101
Done000
Total1216127
Error
20.2b
Counts
127 → 6
Alt Table
StatusErrorProgram
49.4b
(pow.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3) 1/3)
50.9b
(/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 x n))
51.3b
(-.f64 (fma.f64 11/24 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 n n) (pow.f64 x 4))) (fma.f64 1/3 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 x n))))))) (fma.f64 1/4 (+.f64 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (pow.f64 x 4))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 n 3) (pow.f64 x 4)))) (*.f64 1/2 (+.f64 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (*.f64 x x))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 n n) (pow.f64 x 3)))))))
44.0b
(-.f64 (+.f64 1 (/.f64 x n)) 1)
56.2b
(/.f64 x n)
47.4b
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (/.f64 (log1p.f64 x) n)) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (/.f64 (log.f64 x) n)))
Compiler

Compiled 3806 to 2298 computations (39.6% saved)

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.3b
(-.f64 (+.f64 1 (/.f64 x n)) 1)

series5.0ms (0%)

Counts
1 → 24
Calls

1 calls:

5.0ms
(-.f64 (+.f64 1 (/.f64 x n)) 1)

rewrite44.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
648×log1p-expm1-u_binary64
648×expm1-log1p-u_binary64
334×prod-diff_binary64
110×log1p-udef_binary64
65×add-sqr-sqrt_binary64
Counts
1 → 45
Calls

1 calls:

43.0ms
(-.f64 (+.f64 1 (/.f64 x n)) 1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074
11504
218304
350034
000
100

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Rules
121×fma-neg_binary64
98×rules-42_binary64
93×rules-40_binary64
85×rules-41_binary64
85×rules-43_binary64
Counts
69 → 45
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0496
12296
25796
316196
431096
5796

prune44.0ms (0.3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New39645
Fresh145
Picked101
Done000
Total411051
Error
17.7b
Counts
51 → 10
Alt Table
StatusErrorProgram
49.4b
(pow.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3) 1/3)
50.9b
(/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 x n))
44.3b
(log.f64 (exp.f64 (/.f64 x n)))
56.2b
(/.f64 (/.f64 x (sqrt.f64 n)) (sqrt.f64 n))
44.0b
(/.f64 (-.f64 (+.f64 x n) n) n)
56.2b
(*.f64 (cbrt.f64 (/.f64 x n)) (pow.f64 (cbrt.f64 (/.f64 x n)) 2))
51.3b
(-.f64 (fma.f64 11/24 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 n n) (pow.f64 x 4))) (fma.f64 1/3 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 x n))))))) (fma.f64 1/4 (+.f64 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (pow.f64 x 4))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 n 3) (pow.f64 x 4)))) (*.f64 1/2 (+.f64 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (*.f64 x x))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 n n) (pow.f64 x 3)))))))
56.2b
(pow.f64 (cbrt.f64 (/.f64 x n)) 3)
47.4b
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (/.f64 (log1p.f64 x) n)) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (/.f64 (log.f64 x) n)))
45.8b
(/.f64 (/.f64 x (cbrt.f64 (*.f64 n n))) (cbrt.f64 n))
Compiler

Compiled 1044 to 574 computations (45% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.3b
(-.f64 (+.f64 x n) n)

series2.0ms (0%)

Counts
1 → 24
Calls

1 calls:

2.0ms
(-.f64 (+.f64 x n) n)

rewrite57.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
886×prod-diff_binary64
679×log1p-expm1-u_binary64
679×expm1-log1p-u_binary64
113×egg-rr
61×add-sqr-sqrt_binary64
Counts
1 → 113
Calls

1 calls:

54.0ms
(-.f64 (+.f64 x n) n)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11297
218567
359277
000
100

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
39×fma-neg_binary64
31×rules-13_binary64
28×rules-40_binary64
28×rules-41_binary64
28×rules-42_binary64
Counts
137 → 114
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0124
1824
22724
34524
48124
511324
613324
714824
815224
916024
10624

prune91.0ms (0.7%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New1086114
Fresh189
Picked101
Done000
Total11014124
Error
17.7b
Counts
124 → 14
Alt Table
StatusErrorProgram
61.0b
(/.f64 (+.f64 (fma.f64 (cbrt.f64 (+.f64 x n)) (pow.f64 (cbrt.f64 (+.f64 x n)) 2) (neg.f64 n)) (fma.f64 (neg.f64 (cbrt.f64 n)) (cbrt.f64 (*.f64 n n)) n)) n)
56.2b
(*.f64 (cbrt.f64 (/.f64 x n)) (pow.f64 (cbrt.f64 (/.f64 x n)) 2))
62.6b
(/.f64 (fma.f64 (cbrt.f64 (*.f64 n n)) (cbrt.f64 n) (neg.f64 (-.f64 n x))) n)
51.3b
(-.f64 (fma.f64 11/24 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 n n) (pow.f64 x 4))) (fma.f64 1/3 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 x n))))))) (fma.f64 1/4 (+.f64 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (pow.f64 x 4))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (pow.f64 n 3) (pow.f64 x 4)))) (*.f64 1/2 (+.f64 (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 n (*.f64 x x))) (/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 (*.f64 n n) (pow.f64 x 3)))))))
59.4b
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 x n) 3) (pow.f64 n 3)) (+.f64 (pow.f64 (+.f64 x n) 2) (fma.f64 n n (*.f64 n (+.f64 x n))))) n)
50.9b
(/.f64 (exp.f64 (*.f64 -1 (/.f64 (neg.f64 (log.f64 x)) n))) (*.f64 x n))
49.4b
(pow.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3) 1/3)
51.6b
(/.f64 (*.f64 (sqrt.f64 n) (-.f64 (/.f64 (+.f64 x n) (sqrt.f64 n)) (sqrt.f64 n))) n)
56.2b
(/.f64 (/.f64 x (sqrt.f64 n)) (sqrt.f64 n))
56.2b
(pow.f64 (cbrt.f64 (/.f64 x n)) 3)
61.8b
(/.f64 (+.f64 (-.f64 (+.f64 x n) n) (fma.f64 (neg.f64 (sqrt.f64 (-.f64 n x))) (sqrt.f64 (-.f64 n x)) (-.f64 n x))) n)
44.3b
(/.f64 (cbrt.f64 (pow.f64 (-.f64 (+.f64 x n) n) 3)) n)
47.4b
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (/.f64 (log1p.f64 x) n)) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (/.f64 (log.f64 x) n)))
45.8b
(/.f64 (/.f64 x (cbrt.f64 (*.f64 n n))) (cbrt.f64 n))
Compiler

Compiled 2987 to 757 computations (74.7% saved)

regimes1.3s (9.8%)

Accuracy

Total 16.9b remaining (95.3%)

Threshold costs 0b (0%)

Counts
110 → 6
Compiler

Compiled 9763 to 6419 computations (34.3% saved)

bsearch449.0ms (3.3%)

Steps
ItersRangePoint
8
1.7424341242985129
70727.76808463357
808.4781327219058
7
4.531968664496922e-189
2.9898986117449096e-187
4.616680033797104e-189
8
3.9306263417124936e-240
1.285159858984882e-236
1.2179570994719419e-236
2
-5.394928300655637e-308
1.6663979454733958e-307
1.846802285931436e-308
1
-2.9019362550020532e+193
-2.533081757676757e+192
-2.9019362550020532e+193
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
097383
198383
297383

end325.0ms (2.4%)

Remove

(sort x n)

Compiler

Compiled 1385 to 785 computations (43.3% saved)

Profiling

Loading profile data...