Details

Time bar (total: 1.6s)

analyze97.0ms (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%74.9%0.1%5
25%56.2%18.8%6
25%40.6%34.4%7
31.2%31.2%37.6%8
39%21.1%39.9%9
42.9%16%41.1%10
47.2%10.7%42%11
49.4%8.1%42.5%12
51.6%5.4%43%13
52.7%4.1%43.2%14
Compiler

Compiled 10 to 5 computations (50% saved)

sample658.0ms (40.8%)

Symmetry

(sort x y)

Results
617.0ms8256×body128valid
8.0ms108×body128invalid
Compiler

Compiled 29 to 14 computations (51.7% saved)

simplify12.0ms (0.7%)

Algorithm
egg-herbie
Rules
70×fma-def_binary64
24×associate-+l+_binary64
18×associate-+r+_binary64
10×distribute-rgt-in_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0510
11210
22910
36710
411010
514010
616010
717710
817910
Stop Event
saturated
Counts
1 → 1

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 (+.f64 x y) (+.f64 x y))
Compiler

Compiled 27 to 12 computations (55.6% saved)

localize3.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 x y) (+.f64 x y))

series5.0ms (0.3%)

Counts
1 → 24
Calls

1 calls:

5.0ms
(*.f64 (+.f64 x y) (+.f64 x y))

rewrite36.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
682×prod-diff_binary64
618×log1p-expm1-u_binary64
618×expm1-log1p-u_binary64
60×add-sqr-sqrt_binary64
58×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11157
217197
Stop Event
node limit
Counts
1 → 29
Calls

1 calls:

35.0ms
(*.f64 (+.f64 x y) (+.f64 x y))

simplify69.0ms (4.3%)

Algorithm
egg-herbie
Rules
613×fma-def_binary64
391×sqr-pow_binary64
374×*-commutative_binary64
372×unswap-sqr_binary64
362×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
012294
132267
269222
3151216
4412216
51498216
62779216
73051216
83237216
93481216
103784216
114175216
124682216
Stop Event
node limit
Counts
53 → 39

prune28.0ms (1.8%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New37239
Fresh000
Picked101
Done000
Total38240
Error
0b
Counts
40 → 2
Alt Table
StatusErrorProgram
0.0b
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
0.0b
(fma.f64 x (+.f64 x y) (*.f64 y (+.f64 x y)))
Compiler

Compiled 550 to 210 computations (61.8% saved)

localize5.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x (+.f64 x y) (*.f64 y (+.f64 x y)))
0.0b
(*.f64 y (+.f64 x y))

series13.0ms (0.8%)

Counts
2 → 48
Calls

2 calls:

7.0ms
(*.f64 y (+.f64 x y))
6.0ms
(fma.f64 x (+.f64 x y) (*.f64 y (+.f64 x y)))

rewrite46.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
808×prod-diff_binary64
690×log1p-expm1-u_binary64
690×expm1-log1p-u_binary64
69×add-sqr-sqrt_binary64
65×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0621
113314
2192714
Stop Event
node limit
Counts
2 → 62
Calls

2 calls:

44.0ms
(fma.f64 x (+.f64 x y) (*.f64 y (+.f64 x y)))
44.0ms
(*.f64 y (+.f64 x y))

simplify68.0ms (4.2%)

Algorithm
egg-herbie
Rules
822×fma-def_binary64
391×sqr-pow_binary64
379×associate-*l*_binary64
372×unswap-sqr_binary64
308×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
013462
135417
279372
3169366
4461366
51649366
63082366
73426366
83616366
93864366
104168366
114561366
Stop Event
node limit
Counts
110 → 75

prune38.0ms (2.3%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New74175
Fresh101
Picked011
Done000
Total75277
Error
0b
Counts
77 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 y y (*.f64 x (fma.f64 y 2 x)))
0.0b
(fma.f64 x (+.f64 x y) (*.f64 y (+.f64 x y)))
Compiler

Compiled 1065 to 357 computations (66.5% saved)

localize7.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y y (*.f64 x (fma.f64 y 2 x)))
0.0b
(*.f64 x (fma.f64 y 2 x))

series11.0ms (0.7%)

Counts
2 → 48
Calls

2 calls:

6.0ms
(fma.f64 y y (*.f64 x (fma.f64 y 2 x)))
5.0ms
(*.f64 x (fma.f64 y 2 x))

rewrite40.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
600×log1p-expm1-u_binary64
600×expm1-log1p-u_binary64
312×log-prod_binary64
180×prod-diff_binary64
126×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
114020
2161720
Stop Event
node limit
Counts
2 → 51
Calls

2 calls:

39.0ms
(fma.f64 y y (*.f64 x (fma.f64 y 2 x)))
39.0ms
(*.f64 x (fma.f64 y 2 x))

simplify77.0ms (4.8%)

Algorithm
egg-herbie
Rules
613×fma-def_binary64
391×sqr-pow_binary64
372×unswap-sqr_binary64
366×*-commutative_binary64
362×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
012525
132480
269399
3151393
4414393
51499393
62775393
73047393
83232393
93476393
103777393
114170393
124677393
Stop Event
node limit
Counts
99 → 63

prune37.0ms (2.3%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New63063
Fresh000
Picked011
Done011
Total63265
Error
0b
Counts
65 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 y y (*.f64 x (fma.f64 y 2 x)))
0.0b
(fma.f64 x (+.f64 x y) (*.f64 y (+.f64 x y)))
Compiler

Compiled 867 to 451 computations (48% saved)

regimes180.0ms (11.1%)

Accuracy

Total 0.0b remaining (83.1%)

Threshold costs 0.0b (83.1%)

Counts
49 → 1
Compiler

Compiled 2016 to 1389 computations (31.1% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0614
1814
Stop Event
saturated

end184.0ms (11.4%)

Compiler

Compiled 71 to 31 computations (56.3% saved)

Profiling

Loading profile data...