Details

Time bar (total: 3.2s)

analyze6.0ms (0.2%)

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

Compiled 15 to 11 computations (26.7% saved)

sample1.6s (49.4%)

Results
653.0ms2073×body1024valid
439.0ms4439×body128valid
231.0ms995×body512valid
90.0ms218×body2048valid
87.0ms531×body256valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify62.0ms (1.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
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
31.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
31.7b
(-.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))
2.7b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))

series7.0ms (0.2%)

Counts
3 → 36
Calls

3 calls:

3.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
2.0ms
(/.f64 (+.f64 x 1) (-.f64 x 1))
2.0ms
(/.f64 x (+.f64 x 1))

rewrite74.0ms (2.3%)

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
Calls

3 calls:

70.0ms
(/.f64 x (+.f64 x 1))
70.0ms
(/.f64 (+.f64 x 1) (-.f64 x 1))
70.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))

simplify33.0ms (1%)

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

prune223.0ms (7%)

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
29.5b
(+.f64 (/.f64 -1 (*.f64 x x)) (+.f64 (/.f64 -3 (pow.f64 x 3)) (+.f64 (/.f64 -3 x) (/.f64 -1 (pow.f64 x 4)))))
31.3b
(/.f64 (-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1)) (*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1))))
31.7b
(-.f64 (log.f64 (exp.f64 (/.f64 x (+.f64 x 1)))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
34.7b
(+.f64 1 (+.f64 (pow.f64 x 2) (+.f64 (*.f64 3 x) (*.f64 3 (pow.f64 x 3)))))
Compiler

Compiled 6160 to 4539 computations (26.3% saved)

localize13.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 -3 (pow.f64 x 3))
0.3b
(/.f64 -1 (pow.f64 x 4))
0.3b
(/.f64 -1 (*.f64 x x))
10.5b
(+.f64 (/.f64 -3 (pow.f64 x 3)) (+.f64 (/.f64 -3 x) (/.f64 -1 (pow.f64 x 4))))

series11.0ms (0.3%)

Counts
4 → 24
Calls

4 calls:

3.0ms
(+.f64 (/.f64 -3 (pow.f64 x 3)) (+.f64 (/.f64 -3 x) (/.f64 -1 (pow.f64 x 4))))
3.0ms
(/.f64 -1 (pow.f64 x 4))
3.0ms
(/.f64 -3 (pow.f64 x 3))
2.0ms
(/.f64 -1 (*.f64 x x))

rewrite46.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
164×log1p-expm1-u_binary64
164×expm1-log1p-u_binary64
163×add-sqr-sqrt_binary64
162×add-cbrt-cube_binary64
156×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01543
135337
Stop Event
node limit
Counts
4 → 125
Calls

4 calls:

43.0ms
(/.f64 -3 (pow.f64 x 3))
43.0ms
(/.f64 -1 (pow.f64 x 4))
43.0ms
(/.f64 -1 (*.f64 x x))
43.0ms
(+.f64 (/.f64 -3 (pow.f64 x 3)) (+.f64 (/.f64 -3 x) (/.f64 -1 (pow.f64 x 4))))

simplify29.0ms (0.9%)

Algorithm
egg-herbie
Rules
657×times-frac_binary64
389×fma-neg_binary64
326×associate-/l/_binary64
310×associate-*l/_binary64
297×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025291
165273
2170273
3425273
41319273
Stop Event
node limit
Counts
149 → 135

prune116.0ms (3.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1341135
Fresh033
Picked011
Done000
Total1345139
Error
0.0b
Counts
139 → 5
Alt Table
StatusErrorProgram
29.5b
(+.f64 (/.f64 -1 (*.f64 x x)) (+.f64 (/.f64 -3 (pow.f64 x 3)) (+.f64 (/.f64 -3 x) (/.f64 -1 (pow.f64 x 4)))))
31.3b
(/.f64 (-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1)) (*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1))))
45.1b
(+.f64 (/.f64 -1 (*.f64 x x)) (*.f64 (-.f64 (/.f64 9 (pow.f64 x 6)) (pow.f64 (fma.f64 -1 (pow.f64 x -4) (/.f64 -3 x)) 2)) (/.f64 1 (-.f64 (*.f64 -3 (pow.f64 x -3)) (fma.f64 -1 (pow.f64 x -4) (/.f64 -3 x))))))
31.7b
(-.f64 (log.f64 (exp.f64 (/.f64 x (+.f64 x 1)))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
34.7b
(+.f64 1 (+.f64 (pow.f64 x 2) (+.f64 (*.f64 3 x) (*.f64 3 (pow.f64 x 3)))))
Compiler

Compiled 4105 to 3082 computations (24.9% saved)

localize13.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1)))
0.0b
(*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1)))
0.0b
(/.f64 (-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1)) (*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1))))
2.2b
(-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1))

series12.0ms (0.4%)

Counts
4 → 48
Calls

4 calls:

4.0ms
(*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1)))
3.0ms
(/.f64 (-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1)) (*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1))))
3.0ms
(-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1))
2.0ms
(*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1)))

rewrite47.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
179×egg-rr
153×add-sqr-sqrt_binary64
147×log1p-expm1-u_binary64
147×expm1-log1p-u_binary64
144×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01495
134053
Stop Event
node limit
Counts
4 → 179
Calls

4 calls:

43.0ms
(*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1)))
43.0ms
(*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1)))
43.0ms
(/.f64 (-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1)) (*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1))))
43.0ms
(-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1))

simplify31.0ms (1%)

Algorithm
egg-herbie
Rules
415×fma-neg_binary64
351×cancel-sign-sub-inv_binary64
288×fma-def_binary64
270×associate-*l*_binary64
241×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062502
1201475
2595457
31871456
Stop Event
node limit
Counts
227 → 220

prune178.0ms (5.5%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2200220
Fresh033
Picked011
Done011
Total2205225
Error
0.0b
Counts
225 → 5
Alt Table
StatusErrorProgram
29.5b
(+.f64 (/.f64 -1 (*.f64 x x)) (+.f64 (/.f64 -3 (pow.f64 x 3)) (+.f64 (/.f64 -3 x) (/.f64 -1 (pow.f64 x 4)))))
31.3b
(/.f64 (-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1)) (*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1))))
45.1b
(+.f64 (/.f64 -1 (*.f64 x x)) (*.f64 (-.f64 (/.f64 9 (pow.f64 x 6)) (pow.f64 (fma.f64 -1 (pow.f64 x -4) (/.f64 -3 x)) 2)) (/.f64 1 (-.f64 (*.f64 -3 (pow.f64 x -3)) (fma.f64 -1 (pow.f64 x -4) (/.f64 -3 x))))))
31.7b
(-.f64 (log.f64 (exp.f64 (/.f64 x (+.f64 x 1)))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
34.7b
(+.f64 1 (+.f64 (pow.f64 x 2) (+.f64 (*.f64 3 x) (*.f64 3 (pow.f64 x 3)))))
Compiler

Compiled 6419 to 4703 computations (26.7% saved)

localize9.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (/.f64 x (+.f64 x 1)))
0.0b
(/.f64 (+.f64 x 1) (-.f64 x 1))
2.7b
(-.f64 (log.f64 (exp.f64 (/.f64 x (+.f64 x 1)))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
2.8b
(log.f64 (exp.f64 (/.f64 x (+.f64 x 1))))

series11.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

6.0ms
(exp.f64 (/.f64 x (+.f64 x 1)))
3.0ms
(-.f64 (log.f64 (exp.f64 (/.f64 x (+.f64 x 1)))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
2.0ms
(log.f64 (exp.f64 (/.f64 x (+.f64 x 1))))

rewrite70.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
427×fma-def_binary64
281×fma-neg_binary64
242×log-div_binary64
203×egg-rr
184×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01035
121335
2319735
Stop Event
node limit
Counts
3 → 203
Calls

3 calls:

66.0ms
(exp.f64 (/.f64 x (+.f64 x 1)))
66.0ms
(-.f64 (log.f64 (exp.f64 (/.f64 x (+.f64 x 1)))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
66.0ms
(log.f64 (exp.f64 (/.f64 x (+.f64 x 1))))

simplify36.0ms (1.1%)

Algorithm
egg-herbie
Rules
325×fma-neg_binary64
311×cancel-sign-sub-inv_binary64
233×associate-*l*_binary64
216×associate-/r*_binary64
212×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
064502
1186471
2563448
31833443
Stop Event
node limit
Counts
239 → 244

prune203.0ms (6.4%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2901291
Fresh112
Picked011
Done022
Total2915296
Error
0.0b
Counts
296 → 5
Alt Table
StatusErrorProgram
34.7b
(fma.f64 x (+.f64 x 3) (fma.f64 3 (pow.f64 x 3) 1))
29.5b
(+.f64 (/.f64 -1 (*.f64 x x)) (+.f64 (/.f64 -3 (pow.f64 x 3)) (+.f64 (/.f64 -3 x) (/.f64 -1 (pow.f64 x 4)))))
31.3b
(/.f64 (-.f64 (*.f64 (neg.f64 x) (/.f64 (+.f64 x -1) (+.f64 x 1))) (*.f64 (fma.f64 -1 x -1) 1)) (*.f64 (fma.f64 -1 x -1) (/.f64 (+.f64 x -1) (+.f64 x 1))))
45.1b
(+.f64 (/.f64 -1 (*.f64 x x)) (*.f64 (-.f64 (/.f64 9 (pow.f64 x 6)) (pow.f64 (fma.f64 -1 (pow.f64 x -4) (/.f64 -3 x)) 2)) (/.f64 1 (-.f64 (*.f64 -3 (pow.f64 x -3)) (fma.f64 -1 (pow.f64 x -4) (/.f64 -3 x))))))
31.7b
(-.f64 (log.f64 (exp.f64 (/.f64 x (+.f64 x 1)))) (/.f64 (+.f64 x 1) (-.f64 x 1)))
Compiler

Compiled 6904 to 5144 computations (25.5% saved)

regimes197.0ms (6.2%)

Accuracy

Total 0.0b remaining (33.5%)

Threshold costs 0.0b (33.5%)

Counts
70 → 3
Compiler

Compiled 2566 to 1934 computations (24.6% saved)

bsearch38.0ms (1.2%)

Steps
ItersRangePoint
8
51.30456041676415
34216.05202029802
2060.25424106069
10
-467743497.6302302
-0.00010000226361996492
-2722.4750697981704
Compiler

Compiled 2 to 1 computations (50% saved)

simplify5.0ms (0.2%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
03496
15696
27596
39394
410594
511194
611394
Stop Event
saturated

end140.0ms (4.4%)

Compiler

Compiled 251 to 188 computations (25.1% saved)

Profiling

Loading profile data...