Details

Time bar (total: 1.6s)

analyze96.0ms (5.9%)

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%74.9%0.1%5
37.5%62.4%0.1%6
50%37.5%12.6%7
56.2%31.2%12.6%8
62.4%18.7%18.8%9
65.6%15.6%18.8%10
68.7%9.4%22%11
70.2%7.8%22%12
71.8%4.7%23.5%13
72.6%3.9%23.5%14
Compiler

Compiled 10 to 7 computations (30% saved)

sample731.0ms (45.1%)

Results
664.0ms8256×body128valid
16.0ms172×body128invalid
Compiler

Compiled 29 to 20 computations (31% saved)

simplify18.0ms (1.1%)

Algorithm
egg-herbie
Rules
601×fma-def_binary64
148×fma-neg_binary64
84×distribute-rgt-in_binary64
51×cancel-sign-sub-inv_binary64
50×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11510
23810
38510
419410
529210
644910
769210
8132610
9140210
10143810
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.2%)

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
6.6b
(*.f64 x (fma.f64 y (neg.f64 y) y))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
Compiler

Compiled 52 to 31 computations (40.4% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))

series6.0ms (0.4%)

Counts
1 → 24
Calls

1 calls:

6.0ms
(*.f64 (*.f64 x y) (-.f64 1 y))

rewrite36.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
692×log1p-expm1-u_binary64
692×expm1-log1p-u_binary64
132×prod-diff_binary64
128×expm1-udef_binary64
127×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
114510
2183410
Stop Event
node limit
Counts
1 → 21
Calls

1 calls:

35.0ms
(*.f64 (*.f64 x y) (-.f64 1 y))

simplify33.0ms (2%)

Algorithm
egg-herbie
Rules
423×fma-neg_binary64
330×associate-*r*_binary64
269×distribute-rgt-in_binary64
231×cancel-sign-sub-inv_binary64
223×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016232
141232
287232
3203232
4631232
51929232
64328232
Stop Event
node limit
Counts
45 → 28

prune17.0ms (1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New26228
Fresh011
Picked011
Done000
Total26430
Error
0.0b
Counts
30 → 4
Alt Table
StatusErrorProgram
30.7b
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)
11.8b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
6.6b
(*.f64 x (fma.f64 y (neg.f64 y) y))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
Compiler

Compiled 366 to 224 computations (38.8% saved)

localize4.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.1b
(*.f64 x (fma.f64 y (neg.f64 y) y))

series9.0ms (0.5%)

Counts
1 → 24
Calls

1 calls:

9.0ms
(*.f64 x (fma.f64 y (neg.f64 y) y))

rewrite28.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
461×log1p-expm1-u_binary64
461×expm1-log1p-u_binary64
340×unpow-prod-down_binary64
256×log-prod_binary64
184×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0610
11228
215468
Stop Event
node limit
Counts
1 → 21
Calls

1 calls:

28.0ms
(*.f64 x (fma.f64 y (neg.f64 y) y))

simplify31.0ms (1.9%)

Algorithm
egg-herbie
Rules
360×fma-neg_binary64
266×distribute-rgt-in_binary64
261×associate-*l*_binary64
250×unswap-sqr_binary64
233×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012232
130232
263232
3151232
4451232
51675232
63890232
Stop Event
node limit
Counts
45 → 27

prune13.0ms (0.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New27027
Fresh022
Picked011
Done011
Total27431
Error
0.0b
Counts
31 → 4
Alt Table
StatusErrorProgram
30.7b
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)
11.8b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
6.6b
(*.f64 x (fma.f64 y (neg.f64 y) y))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
Compiler

Compiled 327 to 134 computations (59% saved)

localize9.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y))
10.3b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))

series62.0ms (3.8%)

Counts
2 → 48
Calls

2 calls:

48.0ms
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
14.0ms
(*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y))

rewrite56.0ms (3.5%)

Algorithm
batch-egg-rewrite
Rules
557×prod-diff_binary64
227×log1p-udef_binary64
129×add-sqr-sqrt_binary64
123×log1p-expm1-u_binary64
123×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01236
126636
2364436
Stop Event
node limit
Counts
2 → 71
Calls

2 calls:

55.0ms
(*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y))
55.0ms
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))

simplify32.0ms (2%)

Algorithm
egg-herbie
Rules
735×fma-def_binary64
372×associate-*l*_binary64
292×associate-*r*_binary64
290×distribute-rgt-in_binary64
268×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027608
181584
2201584
3543584
42348584
Stop Event
node limit
Counts
119 → 85

prune58.0ms (3.5%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New84185
Fresh011
Picked011
Done022
Total84589
Error
0.0b
Counts
89 → 5
Alt Table
StatusErrorProgram
12.6b
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))))
30.7b
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)
11.8b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
6.6b
(*.f64 x (fma.f64 y (neg.f64 y) y))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
Compiler

Compiled 1853 to 1058 computations (42.9% saved)

localize8.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 y (pow.f64 y 4))
6.1b
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))))
12.2b
(/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y)))

series52.0ms (3.2%)

Counts
3 → 39
Calls

3 calls:

46.0ms
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))))
4.0ms
(/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y)))
2.0ms
(-.f64 y (pow.f64 y 4))

rewrite60.0ms (3.7%)

Algorithm
batch-egg-rewrite
Rules
383×fma-def_binary64
217×expm1-udef_binary64
217×log1p-udef_binary64
215×fma-neg_binary64
161×egg-rr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01144
125044
2349844
Stop Event
node limit
Counts
3 → 161
Calls

3 calls:

57.0ms
(-.f64 y (pow.f64 y 4))
57.0ms
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))))
57.0ms
(/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y)))

simplify34.0ms (2.1%)

Algorithm
egg-herbie
Rules
365×fma-neg_binary64
364×fma-def_binary64
287×cancel-sign-sub-inv_binary64
254×unsub-neg_binary64
204×unswap-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
021465
151441
2113441
3306441
41071441
53312441
Stop Event
node limit
Counts
200 → 175

prune116.0ms (7.2%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New1750175
Fresh011
Picked011
Done033
Total1755180
Error
0.0b
Counts
180 → 5
Alt Table
StatusErrorProgram
12.6b
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))))
30.7b
(pow.f64 (sqrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)
11.8b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
6.6b
(*.f64 x (fma.f64 y (neg.f64 y) y))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
Compiler

Compiled 3862 to 2217 computations (42.6% saved)

regimes40.0ms (2.4%)

Accuracy

Total 0.1b remaining (64.7%)

Threshold costs 0.1b (64.7%)

Counts
12 → 1
Compiler

Compiled 405 to 266 computations (34.3% saved)

simplify2.0ms (0.1%)

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
0710
11310
21710
31910
42010
Stop Event
saturated

end65.0ms (4%)

Compiler

Compiled 82 to 54 computations (34.1% saved)

Profiling

Loading profile data...