Details

Time bar (total: 3.4s)

analyze7.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%100%0%3
50%50%0%4
75%25%0%5
87.5%12.5%0%6
93.7%6.2%0%7
96.8%3.1%0%8
98.4%1.6%0%9
99.2%0.8%0%10
99.6%0.4%0%11
99.8%0.2%0%12
99.9%0.1%0%13
99.9%0%0%14
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample1.5s (42.8%)

Results
615.0ms2055×body1024valid
439.0ms4454×body128valid
247.0ms1046×body512valid
79.0ms486×body256valid
77.0ms215×body2048valid
Compiler

Compiled 30 to 22 computations (26.7% saved)

preprocess98.0ms (2.9%)

Algorithm
egg-herbie
Rules
859×fma-neg_binary64
764×fma-def_binary64
321×div-sub_binary64
169×associate-/l*_binary64
149×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11619
22219
33419
46019
510019
620519
737719
895119
9212719
10275119
11306219
12387919
13417319
14421519
15421719
16421919
17422919
18422919
011
Stop Event
saturated
saturated
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify61.0ms (1.8%)

Algorithm
egg-herbie
Rules
859×fma-neg_binary64
764×fma-def_binary64
321×div-sub_binary64
169×associate-/l*_binary64
149×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11619
22219
33419
46019
510019
620519
737719
895119
9212719
10275119
11306219
12387919
13417319
14421519
15421719
16421919
17422919
18422919
Stop Event
saturated
Counts
1 → 2

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 55 to 39 computations (29.1% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (+.f64 x 1))
0.0b
(/.f64 (+.f64 x 1) (-.f64 x 1))
3.2b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))

series7.0ms (0.2%)

Counts
3 → 36
Calls

9 calls:

1.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
x
-inf
1.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
x
inf
1.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
x
0
1.0ms
(/.f64 (+.f64 x 1) (-.f64 x 1))
x
-inf
1.0ms
(/.f64 x (+.f64 x 1))
x
0

rewrite76.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
470×fma-def_binary64
286×fma-neg_binary64
267×log-div_binary64
210×egg-rr
174×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0836
119536
2318436
Stop Event
node limit
Counts
3 → 210

simplify31.0ms (0.9%)

Algorithm
egg-herbie
Rules
405×fma-neg_binary64
344×cancel-sign-sub-inv_binary64
288×fma-def_binary64
287×associate-*l*_binary64
233×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
064475
1204443
2627430
31940428
Stop Event
node limit
Counts
246 → 250

prune224.0ms (6.5%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2464250
Fresh000
Picked101
Done000
Total2474251
Error
0.0b
Counts
251 → 4
Alt Table
StatusErrorProgram
30.5b
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1))))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
30.5b
(fma.f64 (cbrt.f64 (-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1)))) (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 x 1) (+.f64 x -1))) 2) (/.f64 (+.f64 x 1) (+.f64 x -1))))
31.0b
(+.f64 (/.f64 -3 x) (+.f64 (/.f64 -1 (*.f64 x x)) (/.f64 -3 (pow.f64 x 3))))
30.5b
(/.f64 1 (/.f64 (+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1))) (-.f64 (pow.f64 (/.f64 x (+.f64 x 1)) 2) (pow.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) 2))))
Compiler

Compiled 6244 to 4601 computations (26.3% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series39.0ms (1.1%)

Counts
4 → 48
Calls

12 calls:

28.0ms
(-.f64 (pow.f64 (/.f64 x (+.f64 x 1)) 2) (pow.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) 2))
x
0
1.0ms
(-.f64 (pow.f64 (/.f64 x (+.f64 x 1)) 2) (pow.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) 2))
x
inf
1.0ms
(-.f64 (pow.f64 (/.f64 x (+.f64 x 1)) 2) (pow.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) 2))
x
-inf
1.0ms
(/.f64 (+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1))) (-.f64 (pow.f64 (/.f64 x (+.f64 x 1)) 2) (pow.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) 2)))
x
-inf
1.0ms
(/.f64 (+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1))) (-.f64 (pow.f64 (/.f64 x (+.f64 x 1)) 2) (pow.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) 2)))
x
inf

rewrite55.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
170×egg-rr
160×log1p-expm1-u_binary64
160×expm1-log1p-u_binary64
159×add-sqr-sqrt_binary64
155×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014100
133176
Stop Event
node limit
Counts
4 → 170

simplify41.0ms (1.2%)

Algorithm
egg-herbie
Rules
739×fma-neg_binary64
358×fma-def_binary64
273×sub-neg_binary64
161×distribute-rgt-neg-in_binary64
159×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0102639
1315603
2948584
33052577
Stop Event
node limit
Counts
218 → 225

prune249.0ms (7.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2241225
Fresh033
Picked011
Done000
Total2245229
Error
0b
Counts
229 → 5
Alt Table
StatusErrorProgram
30.5b
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1))))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
30.5b
(fma.f64 (cbrt.f64 (-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1)))) (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 x 1) (+.f64 x -1))) 2) (/.f64 (+.f64 x 1) (+.f64 x -1))))
31.0b
(+.f64 (/.f64 -3 x) (+.f64 (/.f64 -1 (*.f64 x x)) (/.f64 -3 (pow.f64 x 3))))
30.5b
(/.f64 1 (/.f64 (+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1))) (-.f64 (pow.f64 (/.f64 x (+.f64 x 1)) 2) (pow.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) 2))))
26.4b
(/.f64 1 (fma.f64 x -1/3 1/9))
Compiler

Compiled 8905 to 6800 computations (23.6% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (fma.f64 x -1/3 1/9))
0.2b
(fma.f64 x -1/3 1/9)

series6.0ms (0.2%)

Counts
2 → 24
Calls

6 calls:

3.0ms
(/.f64 1 (fma.f64 x -1/3 1/9))
x
-inf
1.0ms
(/.f64 1 (fma.f64 x -1/3 1/9))
x
inf
1.0ms
(/.f64 1 (fma.f64 x -1/3 1/9))
x
0
1.0ms
(fma.f64 x -1/3 1/9)
x
-inf
1.0ms
(fma.f64 x -1/3 1/9)
x
inf

rewrite36.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
530×log1p-expm1-u_binary64
530×expm1-log1p-u_binary64
278×unpow-prod-down_binary64
233×log-prod_binary64
155×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114113
2148013
Stop Event
node limit
Counts
2 → 72

simplify26.0ms (0.8%)

Algorithm
egg-herbie
Rules
630×fma-neg_binary64
581×times-frac_binary64
359×fma-def_binary64
355×cancel-sign-sub-inv_binary64
226×distribute-neg-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044267
1116253
2303232
3925225
42727225
Stop Event
node limit
Counts
96 → 91

prune48.0ms (1.4%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New91091
Fresh033
Picked011
Done011
Total91596
Error
0b
Counts
96 → 5
Alt Table
StatusErrorProgram
30.5b
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1))))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
30.5b
(fma.f64 (cbrt.f64 (-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1)))) (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 x 1) (+.f64 x -1))) 2) (/.f64 (+.f64 x 1) (+.f64 x -1))))
31.0b
(+.f64 (/.f64 -3 x) (+.f64 (/.f64 -1 (*.f64 x x)) (/.f64 -3 (pow.f64 x 3))))
30.5b
(/.f64 1 (/.f64 (+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1))) (-.f64 (pow.f64 (/.f64 x (+.f64 x 1)) 2) (pow.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) 2))))
26.4b
(/.f64 1 (fma.f64 x -1/3 1/9))
Compiler

Compiled 1282 to 1087 computations (15.2% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1))))
0.5b
(expm1.f64 (/.f64 x (+.f64 x 1)))
1.3b
(log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1)))))
3.2b
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1))))) (/.f64 (+.f64 x 1) (-.f64 x 1)))

series15.0ms (0.4%)

Counts
4 → 48
Calls

12 calls:

2.0ms
(+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1))))
x
inf
2.0ms
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1))))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
x
inf
2.0ms
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1))))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
x
-inf
1.0ms
(log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1)))))
x
inf
1.0ms
(log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1)))))
x
-inf

rewrite84.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
567×fma-def_binary64
350×fma-neg_binary64
255×egg-rr
209×expm1-udef_binary64
208×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01144
124344
2366344
Stop Event
node limit
Counts
4 → 255

simplify38.0ms (1.1%)

Algorithm
egg-herbie
Rules
431×cancel-sign-sub-inv_binary64
425×fma-neg_binary64
289×fma-def_binary64
279×sub-neg_binary64
214×associate-/r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
085696
1255659
2713616
32297607
Stop Event
node limit
Counts
303 → 309

prune280.0ms (8.2%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New3090309
Fresh022
Picked011
Done022
Total3095314
Error
0b
Counts
314 → 5
Alt Table
StatusErrorProgram
30.5b
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (/.f64 x (+.f64 x 1))))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
30.5b
(fma.f64 (cbrt.f64 (-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1)))) (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 x 1) (+.f64 x -1))) 2) (/.f64 (+.f64 x 1) (+.f64 x -1))))
31.0b
(+.f64 (/.f64 -3 x) (+.f64 (/.f64 -1 (*.f64 x x)) (/.f64 -3 (pow.f64 x 3))))
30.5b
(/.f64 1 (/.f64 (+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (+.f64 x -1))) (-.f64 (pow.f64 (/.f64 x (+.f64 x 1)) 2) (pow.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) 2))))
26.4b
(/.f64 1 (fma.f64 x -1/3 1/9))
Compiler

Compiled 7709 to 5756 computations (25.3% saved)

regimes336.0ms (9.8%)

Accuracy

Total 0.0b remaining (45.7%)

Threshold costs 0.0b (45.7%)

Counts
131 → 3
Compiler

Compiled 4444 to 3374 computations (24.1% saved)

bsearch40.0ms (1.2%)

Algorithm
binary-search
Calls

2 calls:

19.0ms
x
17.0ms
x
Steps
ItersPointRange
443381.0077497065
∈ [
114.16695661632089
,
8.702577025547048e+20
]
-10731.07214304758
∈ [
-129912705.965539
,
-48.08906437878235
]
Compiler

Compiled 2 to 1 computations (50% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03496
14596
25396
36196
46596
56696
Stop Event
saturated

end126.0ms (3.7%)

Stop Event
fuel
Compiler

Compiled 266 to 201 computations (24.4% saved)

Profiling

Loading profile data...