Details

Time bar (total: 4.4s)

analyze134.0ms (3%)

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
12.5%87.4%0.1%5
31.2%68.7%0.1%6
50%50%0.1%7
67.1%32.8%0.1%8
74.9%25%0.1%9
83.9%16%0.1%10
87.4%12.5%0.1%11
92%7.9%0.1%12
93.7%6.2%0.1%13
96%3.9%0.1%14
Compiler

Compiled 14 to 10 computations (28.6% saved)

sample857.0ms (19.3%)

Results
846.0ms8255×body128valid
0.0msbody2048valid
Compiler

Compiled 28 to 20 computations (28.6% saved)

preprocess36.0ms (0.8%)

Algorithm
egg-herbie
Rules
762×fma-neg_binary64
509×div-sub_binary64
413×fma-def_binary64
327×cancel-sign-sub-inv_binary64
304×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01532
12832
24328
36528
49528
516528
629228
755728
8111128
9184728
10301428
022
Stop Event
saturated
node limit
Compiler

Compiled 13 to 9 computations (30.8% saved)

simplify28.0ms (0.6%)

Algorithm
egg-herbie
Rules
1119×fma-neg_binary64
675×div-sub_binary64
519×fma-def_binary64
403×associate-/l*_binary64
249×associate-/l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01016
11816
22814
34114
46014
59614
617214
725414
849214
9105314
10177414
11375014
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
Compiler

Compiled 73 to 52 computations (28.8% saved)

localize6.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (*.f64 x y) 2)
0.0b
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
0.0b
(+.f64 1 (/.f64 (*.f64 x y) 2))
6.2b
(/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2)))

series28.0ms (0.6%)

Counts
4 → 96
Calls

24 calls:

2.0ms
(/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2)))
x
-inf
2.0ms
(/.f64 (*.f64 x y) 2)
y
-inf
2.0ms
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
y
-inf
2.0ms
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
y
inf
2.0ms
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
x
0

rewrite112.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
789×prod-diff_binary64
211×egg-rr
202×log1p-udef_binary64
113×add-sqr-sqrt_binary64
110×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01046
123040
2322140
Stop Event
node limit
Counts
4 → 211

simplify55.0ms (1.2%)

Algorithm
egg-herbie
Rules
623×fma-neg_binary64
414×unswap-sqr_binary64
399×distribute-rgt-neg-in_binary64
238×fma-def_binary64
222×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0641372
12101358
26891348
329121335
Stop Event
node limit
Counts
307 → 247

prune206.0ms (4.6%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New2452247
Fresh011
Picked101
Done000
Total2463249
Error
0.0b
Counts
249 → 3
Alt Table
StatusErrorProgram
17.3b
(+.f64 (fma.f64 1 x (neg.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3)))))) (fma.f64 (neg.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (*.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))))))
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (/.f64 y (fma.f64 y (*.f64 1/2 x) 1)))
Compiler

Compiled 7780 to 4640 computations (40.4% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (/.f64 y (fma.f64 y (*.f64 1/2 x) 1)))
6.2b
(/.f64 y (fma.f64 y (*.f64 1/2 x) 1))

series17.0ms (0.4%)

Counts
2 → 48
Calls

12 calls:

2.0ms
(-.f64 x (/.f64 y (fma.f64 y (*.f64 1/2 x) 1)))
y
inf
2.0ms
(-.f64 x (/.f64 y (fma.f64 y (*.f64 1/2 x) 1)))
y
-inf
2.0ms
(-.f64 x (/.f64 y (fma.f64 y (*.f64 1/2 x) 1)))
x
0
2.0ms
(/.f64 y (fma.f64 y (*.f64 1/2 x) 1))
y
-inf
1.0ms
(/.f64 y (fma.f64 y (*.f64 1/2 x) 1))
y
inf

rewrite108.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
532×prod-diff_binary64
459×log-prod_binary64
222×fma-def_binary64
188×egg-rr
172×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
119125
2253425
Stop Event
node limit
Counts
2 → 188

simplify45.0ms (1%)

Algorithm
egg-herbie
Rules
635×fma-neg_binary64
414×unswap-sqr_binary64
402×distribute-rgt-neg-in_binary64
239×fma-def_binary64
219×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0611030
12011016
26761006
32943993
Stop Event
node limit
Counts
236 → 220

prune258.0ms (5.8%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New2191220
Fresh022
Picked101
Done000
Total2203223
Error
0b
Counts
223 → 3
Alt Table
StatusErrorProgram
17.3b
(+.f64 (fma.f64 1 x (neg.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3)))))) (fma.f64 (neg.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (*.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))))))
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1))
Compiler

Compiled 7422 to 4872 computations (34.4% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1))
0.1b
(pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1)
6.1b
(/.f64 (fma.f64 y (*.f64 1/2 x) 1) y)

series26.0ms (0.6%)

Counts
3 → 72
Calls

18 calls:

3.0ms
(-.f64 x (pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1))
x
inf
2.0ms
(-.f64 x (pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1))
y
-inf
2.0ms
(-.f64 x (pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1))
y
inf
2.0ms
(-.f64 x (pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1))
x
0
2.0ms
(pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1)
y
-inf

rewrite85.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
462×prod-diff_binary64
217×egg-rr
215×fma-def_binary64
199×expm1-udef_binary64
199×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01142
123336
2298236
Stop Event
node limit
Counts
3 → 217

simplify47.0ms (1.1%)

Algorithm
egg-herbie
Rules
635×fma-neg_binary64
414×unswap-sqr_binary64
401×distribute-rgt-neg-in_binary64
234×fma-def_binary64
221×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0641234
12051184
26801174
329301161
Stop Event
node limit
Counts
289 → 253

prune314.0ms (7.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2530253
Fresh022
Picked011
Done000
Total2533256
Error
0b
Counts
256 → 3
Alt Table
StatusErrorProgram
17.3b
(+.f64 (fma.f64 1 x (neg.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3)))))) (fma.f64 (neg.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (*.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))))))
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1))
Compiler

Compiled 7961 to 5416 computations (32% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(fma.f64 x -1/2 (/.f64 -1 y))
0.1b
(/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y)))

series22.0ms (0.5%)

Counts
3 → 72
Calls

18 calls:

3.0ms
(/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y)))
x
0
2.0ms
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
y
-inf
2.0ms
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
x
0
2.0ms
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
y
inf
1.0ms
(/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y)))
y
inf

rewrite67.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
535×prod-diff_binary64
204×fma-def_binary64
178×expm1-udef_binary64
178×log1p-udef_binary64
152×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
119833
2258933
Stop Event
node limit
Counts
3 → 149

simplify47.0ms (1.1%)

Algorithm
egg-herbie
Rules
644×fma-neg_binary64
414×unswap-sqr_binary64
236×fma-def_binary64
216×associate-*r*_binary64
210×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0681270
12141220
27041174
329601165
Stop Event
node limit
Counts
221 → 186

prune214.0ms (4.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1860186
Fresh011
Picked011
Done011
Total1863189
Error
0b
Counts
189 → 3
Alt Table
StatusErrorProgram
17.3b
(+.f64 (fma.f64 1 x (neg.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3)))))) (fma.f64 (neg.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (*.f64 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))) (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))))))
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (pow.f64 (/.f64 (fma.f64 y (*.f64 1/2 x) 1) y) -1))
Compiler

Compiled 4221 to 3122 computations (26% saved)

regimes1.6s (36.3%)

Accuracy

Total 0.0b remaining (88.5%)

Threshold costs 0.0b (88.5%)

Counts
320 → 1
Compiler

Compiled 35378 to 25286 computations (28.5% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01243
12241
22841
33141
43241
Stop Event
saturated

end95.0ms (2.1%)

Stop Event
fuel
Compiler

Compiled 177 to 126 computations (28.8% saved)

Profiling

Loading profile data...