Details

Time bar (total: 14.3s)

analyze1.1s (7.6%)

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)

sample8.4s (58.6%)

Results
2.2s2786×body1024valid
2.1s1842×body1024invalid
1.6s1817×body2048valid
735.0ms978×body512invalid
701.0ms1253×body512valid
347.0ms1819×body128valid
242.0ms569×body256invalid
207.0ms1207×body128invalid
202.0ms581×body256valid
14.0msbody2048invalid
Compiler

Compiled 47 to 35 computations (25.5% saved)

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
436×unswap-sqr_binary64
377×fma-def_binary64
235×distribute-rgt-in_binary64
219×distribute-lft-in_binary64
212×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
12019
24219
310419
434019
5111119
6339319
Stop Event
node limit
Counts
1 → 1

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 45 to 33 computations (26.7% saved)

localize6.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (+.f64 x 1) (/.f64 1 n))
0.0b
(pow.f64 x (/.f64 1 n))
1.4b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))

series90.0ms (0.6%)

Counts
3 → 72
Calls

3 calls:

40.0ms
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))
39.0ms
(pow.f64 x (/.f64 1 n))
10.0ms
(pow.f64 (+.f64 x 1) (/.f64 1 n))

rewrite73.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
547×prod-diff_binary64
294×fma-def_binary64
178×log1p-udef_binary64
177×expm1-udef_binary64
155×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0936
120732
2282932
Stop Event
node limit
Counts
3 → 145
Calls

3 calls:

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

simplify58.0ms (0.4%)

Algorithm
egg-herbie
Rules
880×fma-def_binary64
569×associate-/l*_binary64
379×cancel-sign-sub-inv_binary64
229×sub-neg_binary64
156×+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02072805
16842796
225502288
Stop Event
node limit
Counts
217 → 206

prune225.0ms (1.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2024206
Fresh000
Picked011
Done000
Total2025207
Error
1.2b
Counts
207 → 5
Alt Table
StatusErrorProgram
18.8b
(/.f64 (-.f64 (log1p.f64 x) (log.f64 x)) n)
29.6b
(/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x n))
54.5b
(+.f64 (/.f64 x n) (-.f64 1 (exp.f64 (/.f64 (log.f64 x) n))))
24.1b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 2) (pow.f64 n 2))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 3) (pow.f64 n 3))) (/.f64 (log.f64 (+.f64 1 x)) n))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 (log.f64 x) 3) (pow.f64 n 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (pow.f64 n 2))) (/.f64 (log.f64 x) n))))
33.6b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))
Compiler

Compiled 6779 to 4061 computations (40.1% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

series390.0ms (2.7%)

Counts
2 → 36
Calls

2 calls:

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

rewrite86.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
884×expm1-log1p-u_binary64
576×prod-diff_binary64
228×egg-rr
80×add-sqr-sqrt_binary64
77×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
115419
2226819
Stop Event
node limit
Counts
2 → 228
Calls

2 calls:

77.0ms
(/.f64 (-.f64 (log1p.f64 x) (log.f64 x)) n)
77.0ms
(-.f64 (log1p.f64 x) (log.f64 x))

simplify31.0ms (0.2%)

Algorithm
egg-herbie
Rules
446×associate-/r*_binary64
433×fma-def_binary64
243×cancel-sign-sub-inv_binary64
207×associate-*l*_binary64
206×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
070598
1192590
2505590
31463563
Stop Event
node limit
Counts
264 → 260

prune202.0ms (1.4%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New2528260
Fresh033
Picked101
Done011
Total25312265
Error
0.0b
Counts
265 → 12
Alt Table
StatusErrorProgram
18.8b
(*.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (/.f64 1 n))
38.9b
(/.f64 (/.f64 1 x) n)
31.2b
(pow.f64 (sqrt.f64 (/.f64 (-.f64 (log1p.f64 x) (log.f64 x)) n)) 2)
29.6b
(/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x n))
39.1b
(+.f64 (fma.f64 (log1p.f64 x) (/.f64 1 n) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (log.f64 x)) (cbrt.f64 n)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 x)) 2) (pow.f64 (cbrt.f64 n) 2))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (log.f64 x)) (cbrt.f64 n))) (/.f64 (pow.f64 (cbrt.f64 (log.f64 x)) 2) (pow.f64 (cbrt.f64 n) 2)) (*.f64 (/.f64 (cbrt.f64 (log.f64 x)) (cbrt.f64 n)) (/.f64 (pow.f64 (cbrt.f64 (log.f64 x)) 2) (pow.f64 (cbrt.f64 n) 2)))))
54.5b
(+.f64 (/.f64 x n) (-.f64 1 (exp.f64 (/.f64 (log.f64 x) n))))
18.9b
(/.f64 (/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log.f64 x) 3)) (+.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 (log.f64 x) (+.f64 (log1p.f64 x) (log.f64 x))))) n)
18.9b
(*.f64 (sqrt.f64 (-.f64 (log1p.f64 x) (log.f64 x))) (*.f64 (sqrt.f64 (-.f64 (log1p.f64 x) (log.f64 x))) (/.f64 1 n)))
61.3b
(/.f64 (+.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (fma.f64 (neg.f64 (sqrt.f64 (log.f64 x))) (sqrt.f64 (log.f64 x)) (log.f64 x))) n)
18.8b
(pow.f64 (/.f64 n (-.f64 (log1p.f64 x) (log.f64 x))) -1)
24.1b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 2) (pow.f64 n 2))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 3) (pow.f64 n 3))) (/.f64 (log.f64 (+.f64 1 x)) n))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 (log.f64 x) 3) (pow.f64 n 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (pow.f64 n 2))) (/.f64 (log.f64 x) n))))
33.6b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))
Compiler

Compiled 9283 to 3038 computations (67.3% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (/.f64 1 n))
2.2b
(-.f64 (log1p.f64 x) (log.f64 x))

series371.0ms (2.6%)

Counts
1 → 24
Calls

1 calls:

371.0ms
(*.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (/.f64 1 n))

rewrite42.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
895×expm1-log1p-u_binary64
894×log1p-expm1-u_binary64
403×prod-diff_binary64
92×add-sqr-sqrt_binary64
86×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0911
118711
2246111
Stop Event
node limit
Counts
1 → 41
Calls

1 calls:

41.0ms
(*.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (/.f64 1 n))

simplify32.0ms (0.2%)

Algorithm
egg-herbie
Rules
940×fma-neg_binary64
380×associate-/r*_binary64
226×sub-neg_binary64
213×fma-def_binary64
175×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
050408
1138406
2344406
3960382
43761378
Stop Event
node limit
Counts
65 → 58

prune119.0ms (0.8%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1183121
Fresh3710
Picked011
Done011
Total12112133
Error
0.0b
Counts
133 → 12
Alt Table
StatusErrorProgram
18.9b
(*.f64 (pow.f64 (sqrt.f64 (-.f64 (log1p.f64 x) (log.f64 x))) 2) (/.f64 1 n))
19.1b
(/.f64 (-.f64 (pow.f64 (log1p.f64 x) 2) (pow.f64 (log.f64 x) 2)) (*.f64 n (+.f64 (log1p.f64 x) (log.f64 x))))
18.9b
(/.f64 (/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log.f64 x) 3)) (+.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 (log.f64 x) (+.f64 (log1p.f64 x) (log.f64 x))))) n)
18.8b
(*.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (/.f64 1 n))
38.9b
(/.f64 (/.f64 1 x) n)
61.3b
(/.f64 (+.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (fma.f64 (neg.f64 (sqrt.f64 (log.f64 x))) (sqrt.f64 (log.f64 x)) (log.f64 x))) n)
18.8b
(pow.f64 (/.f64 n (-.f64 (log1p.f64 x) (log.f64 x))) -1)
29.6b
(/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x n))
54.5b
(+.f64 (/.f64 x n) (-.f64 1 (exp.f64 (/.f64 (log.f64 x) n))))
19.2b
(/.f64 (/.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (pow.f64 (cbrt.f64 n) 2)) (cbrt.f64 n))
24.1b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 2) (pow.f64 n 2))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 3) (pow.f64 n 3))) (/.f64 (log.f64 (+.f64 1 x)) n))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 (log.f64 x) 3) (pow.f64 n 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (pow.f64 n 2))) (/.f64 (log.f64 x) n))))
33.6b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))
Compiler

Compiled 2392 to 1208 computations (49.5% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 n (-.f64 (log1p.f64 x) (log.f64 x)))
0.2b
(pow.f64 (/.f64 n (-.f64 (log1p.f64 x) (log.f64 x))) -1)
2.2b
(-.f64 (log1p.f64 x) (log.f64 x))

series765.0ms (5.3%)

Counts
2 → 48
Calls

2 calls:

391.0ms
(pow.f64 (/.f64 n (-.f64 (log1p.f64 x) (log.f64 x))) -1)
373.0ms
(/.f64 n (-.f64 (log1p.f64 x) (log.f64 x)))

rewrite47.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
459×log-prod_binary64
412×prod-diff_binary64
182×fma-def_binary64
170×expm1-udef_binary64
170×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0925
119322
2259822
Stop Event
node limit
Counts
2 → 86
Calls

2 calls:

45.0ms
(/.f64 n (-.f64 (log1p.f64 x) (log.f64 x)))
45.0ms
(pow.f64 (/.f64 n (-.f64 (log1p.f64 x) (log.f64 x))) -1)

simplify38.0ms (0.3%)

Algorithm
egg-herbie
Rules
356×sub-neg_binary64
234×times-frac_binary64
232×fma-def_binary64
210×associate-/r*_binary64
210×distribute-neg-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
084848
1254838
2776802
33283767
Stop Event
node limit
Counts
134 → 120

prune155.0ms (1.1%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New1821183
Fresh189
Picked011
Done022
Total18312195
Error
0.0b
Counts
195 → 12
Alt Table
StatusErrorProgram
19.1b
(/.f64 (-.f64 (pow.f64 (log1p.f64 x) 2) (pow.f64 (log.f64 x) 2)) (*.f64 n (+.f64 (log1p.f64 x) (log.f64 x))))
18.9b
(/.f64 (/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log.f64 x) 3)) (+.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 (log.f64 x) (+.f64 (log1p.f64 x) (log.f64 x))))) n)
18.8b
(*.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (/.f64 1 n))
38.9b
(/.f64 (/.f64 1 x) n)
18.9b
(pow.f64 (*.f64 n (/.f64 1 (-.f64 (log1p.f64 x) (log.f64 x)))) -1)
33.6b
(-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n)))
61.3b
(/.f64 (+.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (fma.f64 (neg.f64 (sqrt.f64 (log.f64 x))) (sqrt.f64 (log.f64 x)) (log.f64 x))) n)
18.8b
(pow.f64 (/.f64 n (-.f64 (log1p.f64 x) (log.f64 x))) -1)
29.6b
(/.f64 (exp.f64 (/.f64 (log.f64 x) n)) (*.f64 x n))
54.5b
(+.f64 (/.f64 x n) (-.f64 1 (exp.f64 (/.f64 (log.f64 x) n))))
19.2b
(/.f64 (/.f64 (-.f64 (log1p.f64 x) (log.f64 x)) (pow.f64 (cbrt.f64 n) 2)) (cbrt.f64 n))
24.1b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 2) (pow.f64 n 2))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 3) (pow.f64 n 3))) (/.f64 (log.f64 (+.f64 1 x)) n))) (+.f64 (*.f64 1/6 (/.f64 (pow.f64 (log.f64 x) 3) (pow.f64 n 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (pow.f64 n 2))) (/.f64 (log.f64 x) n))))
Compiler

Compiled 3226 to 1434 computations (55.5% saved)

regimes1.5s (10.5%)

Accuracy

Total 7.0b remaining (93.4%)

Threshold costs 0b (0%)

Counts
167 → 4
Compiler

Compiled 13957 to 9241 computations (33.8% saved)

bsearch377.0ms (2.6%)

Steps
ItersRangePoint
8
322.39857272076483
821964.8675784155
9705.140304668308
9
3.5877296784984715e-265
3.8181448191002346e-260
1.2988131937612738e-262
8
4.426187162211178e-290
8.384146739215936e-286
1.3156010340719408e-288
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify7.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
046129
154129
260129
364129
466129
Stop Event
saturated

end185.0ms (1.3%)

Compiler

Compiled 397 to 245 computations (38.3% saved)

Profiling

Loading profile data...