Details

Time bar (total: 12.5s)

analyze670.0ms (5.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
25%74.9%0.1%3
25%74.9%0.1%4
37.5%50%12.6%5
37.5%43.7%18.8%6
43.7%34.3%22%7
43.7%31.2%25.1%8
46.8%24.2%29%9
46.8%21.9%31.3%10
48.4%18%33.6%11
48.4%17.2%34.4%12
49.2%15.2%35.6%13
49.2%14.8%36%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample6.2s (49.8%)

Results
1.7s2279×body1024valid
1.3s1120×body1024invalid
1.1s1356×body2048valid
648.0ms1274×body512valid
505.0ms2746×body128valid
391.0ms601×body512invalid
275.0ms1748×body128invalid
195.0ms601×body256valid
96.0ms272×body256invalid
3.0msbody2048invalid
Compiler

Compiled 47 to 35 computations (25.5% saved)

simplify53.0ms (0.4%)

Algorithm
egg-herbie
Rules
436×unswap-sqr_binary64
377×fma-def_binary64
359×sub-neg_binary64
289×unsub-neg_binary64
253×distribute-rgt-neg-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
12019
24119
310219
424819
579019
6211019
7440519
8504819

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 45 to 33 computations (26.7% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.8b
(pow.f64 (+.f64 x 1) (/.f64 1 n))
2.5b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))

series50.0ms (0.4%)

Counts
2 → 48
Calls

2 calls:

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

rewrite45.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
73×unpow-prod-down_binary64
69×*-un-lft-identity_binary64
56×add-sqr-sqrt_binary64
56×prod-diff_binary64
44×add-cube-cbrt_binary64
Counts
2 → 126
Calls

2 calls:

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

simplify201.0ms (1.6%)

Algorithm
egg-herbie
Rules
516×cancel-sign-sub-inv_binary64
389×fma-neg_binary64
279×sub-neg_binary64
201×fma-def_binary64
187×+-commutative_binary64
Counts
174 → 226
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03828655
19346983
232064941
346784941
449924941
548904941

prune392.0ms (3.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2215226
Fresh000
Picked101
Done000
Total2225227
Error
0.3b
Counts
227 → 5
Alt Table
StatusErrorProgram
23.3b
(-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (exp.f64 (/.f64 (log.f64 x) n)))
32.2b
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (fma.f64 1/6 (pow.f64 (/.f64 (log1p.f64 x) n) 3) (/.f64 (log1p.f64 x) n))) (fma.f64 1/6 (pow.f64 (/.f64 (log.f64 x) n) 3) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (/.f64 (log.f64 x) n))))
28.0b
(*.f64 (+.f64 (pow.f64 x (/.f64 1/2 n)) (pow.f64 (+.f64 1 x) (/.f64 1/2 n))) (-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n))))
42.6b
(-.f64 (fma.f64 11/24 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (*.f64 n n) (pow.f64 x 4))) (fma.f64 1/3 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x n))))))) (fma.f64 1/2 (+.f64 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x (*.f64 x n))) (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (*.f64 n (pow.f64 x 3))))) (*.f64 1/4 (+.f64 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (pow.f64 x 4))) (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (pow.f64 n 3) (pow.f64 x 4)))))))
29.0b
(neg.f64 (/.f64 (-.f64 (log.f64 x) (log1p.f64 x)) n))
Compiler

Compiled 9084 to 5949 computations (34.5% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (/.f64 (log1p.f64 x) n))
0.1b
(/.f64 (log1p.f64 x) n)
0.2b
(/.f64 (log.f64 x) n)
2.5b
(-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (exp.f64 (/.f64 (log.f64 x) n)))

series620.0ms (5%)

Counts
4 → 72
Calls

4 calls:

320.0ms
(/.f64 (log1p.f64 x) n)
249.0ms
(/.f64 (log.f64 x) n)
36.0ms
(-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (exp.f64 (/.f64 (log.f64 x) n)))
15.0ms
(exp.f64 (/.f64 (log1p.f64 x) n))

rewrite24.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
38×*-un-lft-identity_binary64
38×add-sqr-sqrt_binary64
36×add-cube-cbrt_binary64
30×times-frac_binary64
13×exp-prod_binary64
Counts
4 → 115
Calls

4 calls:

7.0ms
(-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (exp.f64 (/.f64 (log.f64 x) n)))
3.0ms
(/.f64 (log.f64 x) n)
2.0ms
(exp.f64 (/.f64 (log1p.f64 x) n))
2.0ms
(/.f64 (log1p.f64 x) n)

simplify164.0ms (1.3%)

Algorithm
egg-herbie
Rules
632×fma-neg_binary64
497×cancel-sign-sub-inv_binary64
342×sub-neg_binary64
204×fma-def_binary64
192×neg-sub0_binary64
Counts
187 → 201
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03845025
19704453
232383962
340473962
449153962
549353962

prune206.0ms (1.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2001201
Fresh134
Picked011
Done000
Total2015206
Error
0.3b
Counts
206 → 5
Alt Table
StatusErrorProgram
28.0b
(*.f64 (+.f64 (pow.f64 x (/.f64 1/2 n)) (pow.f64 (+.f64 1 x) (/.f64 1/2 n))) (-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n))))
42.6b
(-.f64 (+.f64 (fma.f64 1/3 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x n)))))) (*.f64 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (pow.f64 x 4)) (-.f64 (/.f64 11/24 (*.f64 n n)) (/.f64 1/4 (pow.f64 n 3))))) (fma.f64 1/2 (+.f64 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x (*.f64 x n))) (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (*.f64 n (pow.f64 x 3))))) (*.f64 1/4 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (pow.f64 x 4))))))
23.3b
(-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (exp.f64 (/.f64 (log.f64 x) n)))
32.2b
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (fma.f64 1/6 (pow.f64 (/.f64 (log1p.f64 x) n) 3) (/.f64 (log1p.f64 x) n))) (fma.f64 1/6 (pow.f64 (/.f64 (log.f64 x) n) 3) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (/.f64 (log.f64 x) n))))
29.0b
(neg.f64 (/.f64 (-.f64 (log.f64 x) (log1p.f64 x)) n))
Compiler

Compiled 6107 to 2552 computations (58.2% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 (pow.f64 x (/.f64 1/2 n)) (pow.f64 (+.f64 1 x) (/.f64 1/2 n))) (-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n))))
1.8b
(pow.f64 (+.f64 1 x) (/.f64 1/2 n))
2.5b
(-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n)))

series146.0ms (1.2%)

Counts
3 → 72
Calls

3 calls:

89.0ms
(*.f64 (+.f64 (pow.f64 x (/.f64 1/2 n)) (pow.f64 (+.f64 1 x) (/.f64 1/2 n))) (-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n))))
40.0ms
(-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n)))
16.0ms
(pow.f64 (+.f64 1 x) (/.f64 1/2 n))

rewrite114.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
197×unpow-prod-down_binary64
178×*-un-lft-identity_binary64
168×prod-diff_binary64
137×add-sqr-sqrt_binary64
111×add-cube-cbrt_binary64
Counts
3 → 297
Calls

3 calls:

47.0ms
(*.f64 (+.f64 (pow.f64 x (/.f64 1/2 n)) (pow.f64 (+.f64 1 x) (/.f64 1/2 n))) (-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n))))
9.0ms
(-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n)))
6.0ms
(pow.f64 (+.f64 1 x) (/.f64 1/2 n))

simplify503.0ms (4%)

Algorithm
egg-herbie
Rules
479×fma-def_binary64
332×distribute-rgt-in_binary64
305×distribute-lft-in_binary64
285×associate-/r*_binary64
192×times-frac_binary64
Counts
369 → 440
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
070322179
1186619684
2464219466
3487619460
4496319460

prune890.0ms (7.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New5060506
Fresh033
Picked011
Done011
Total5065511
Error
0.3b
Counts
511 → 5
Alt Table
StatusErrorProgram
28.0b
(*.f64 (+.f64 (pow.f64 x (/.f64 1/2 n)) (pow.f64 (+.f64 1 x) (/.f64 1/2 n))) (-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n))))
42.6b
(-.f64 (+.f64 (fma.f64 1/3 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x n)))))) (*.f64 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (pow.f64 x 4)) (-.f64 (/.f64 11/24 (*.f64 n n)) (/.f64 1/4 (pow.f64 n 3))))) (fma.f64 1/2 (+.f64 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x (*.f64 x n))) (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (*.f64 n (pow.f64 x 3))))) (*.f64 1/4 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (pow.f64 x 4))))))
23.3b
(-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (exp.f64 (/.f64 (log.f64 x) n)))
32.2b
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (fma.f64 1/6 (pow.f64 (/.f64 (log1p.f64 x) n) 3) (/.f64 (log1p.f64 x) n))) (fma.f64 1/6 (pow.f64 (/.f64 (log.f64 x) n) 3) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (/.f64 (log.f64 x) n))))
29.0b
(neg.f64 (/.f64 (-.f64 (log.f64 x) (log1p.f64 x)) n))
Compiler

Compiled 31174 to 21787 computations (30.1% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 x)
0.1b
(/.f64 (-.f64 (log.f64 x) (log1p.f64 x)) n)
3.1b
(-.f64 (log.f64 x) (log1p.f64 x))

series496.0ms (4%)

Counts
3 → 48
Calls

3 calls:

489.0ms
(/.f64 (-.f64 (log.f64 x) (log1p.f64 x)) n)
3.0ms
(-.f64 (log.f64 x) (log1p.f64 x))
3.0ms
(log1p.f64 x)

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
39×*-un-lft-identity_binary64
34×add-sqr-sqrt_binary64
24×add-cube-cbrt_binary64
18×times-frac_binary64
12×prod-diff_binary64
Counts
3 → 94
Calls

3 calls:

5.0ms
(/.f64 (-.f64 (log.f64 x) (log1p.f64 x)) n)
4.0ms
(-.f64 (log.f64 x) (log1p.f64 x))
0.0ms
(log1p.f64 x)

simplify104.0ms (0.8%)

Algorithm
egg-herbie
Rules
449×fma-def_binary64
433×associate-*l*_binary64
428×fma-neg_binary64
353×associate-*r*_binary64
230×cancel-sign-sub-inv_binary64
Counts
142 → 144
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02122257
14892078
213802014
344562012
449172012

prune130.0ms (1%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1386144
Fresh022
Picked101
Done022
Total13910149
Error
0.0b
Counts
149 → 10
Alt Table
StatusErrorProgram
29.0b
(neg.f64 (/.f64 (-.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log1p.f64 x) (log1p.f64 x))) (*.f64 n (+.f64 (log.f64 x) (log1p.f64 x)))))
23.3b
(-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (exp.f64 (/.f64 (log.f64 x) n)))
28.0b
(*.f64 (+.f64 (pow.f64 x (/.f64 1/2 n)) (pow.f64 (+.f64 1 x) (/.f64 1/2 n))) (-.f64 (pow.f64 (+.f64 1 x) (/.f64 1/2 n)) (pow.f64 x (/.f64 1/2 n))))
42.6b
(-.f64 (+.f64 (fma.f64 1/3 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x n)))))) (*.f64 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (pow.f64 x 4)) (-.f64 (/.f64 11/24 (*.f64 n n)) (/.f64 1/4 (pow.f64 n 3))))) (fma.f64 1/2 (+.f64 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x (*.f64 x n))) (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (*.f64 n (pow.f64 x 3))))) (*.f64 1/4 (/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 n (pow.f64 x 4))))))
38.5b
(neg.f64 (*.f64 (sqrt.f64 (/.f64 (-.f64 (log.f64 x) (log1p.f64 x)) n)) (sqrt.f64 (/.f64 (-.f64 (log.f64 x) (log1p.f64 x)) n))))
32.2b
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (fma.f64 1/6 (pow.f64 (/.f64 (log1p.f64 x) n) 3) (/.f64 (log1p.f64 x) n))) (fma.f64 1/6 (pow.f64 (/.f64 (log.f64 x) n) 3) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (/.f64 (log.f64 x) n))))
29.0b
(neg.f64 (*.f64 (-.f64 (log.f64 x) (log1p.f64 x)) (/.f64 1 n)))
44.7b
(neg.f64 (/.f64 (+.f64 (-.f64 (/.f64 1/2 (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1/3 (pow.f64 x 3)))) (/.f64 1/4 (pow.f64 x 4))) n))
29.1b
(neg.f64 (/.f64 (cbrt.f64 (*.f64 (*.f64 (-.f64 (log.f64 x) (log1p.f64 x)) (-.f64 (log.f64 x) (log1p.f64 x))) (-.f64 (log.f64 x) (log1p.f64 x)))) n))
29.3b
(neg.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (log.f64 x) (log1p.f64 x))) (cbrt.f64 (-.f64 (log.f64 x) (log1p.f64 x)))) (*.f64 (cbrt.f64 n) (cbrt.f64 n))) (/.f64 (cbrt.f64 (-.f64 (log.f64 x) (log1p.f64 x))) (cbrt.f64 n))))
Compiler

Compiled 2824 to 1165 computations (58.7% saved)

regimes1.2s (9.4%)

Accuracy

Total 5.8b remaining (95.5%)

Threshold costs 0b (0%)

Counts
139 → 2
Compiler

Compiled 17751 to 11473 computations (35.4% saved)

bsearch54.0ms (0.4%)

Steps
ItersRangePoint
7
4.067582714997279
98.74080972357508
97.60932735527969
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify3.0ms (0%)

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
01837
12537
23037
33337
43437
53437

end194.0ms (1.5%)

Compiler

Compiled 406 to 224 computations (44.8% saved)

Profiling

Loading profile data...