Details

Time bar (total: 5.0s)

analyze987.0ms (19.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
28.1%68.6%3.3%10
29.6%65.5%4.9%11
32%61.7%6.3%12
35.5%56.9%7.6%13
48%38.7%13.4%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.6s (31.4%)

Symmetry

(sort d2 d4)

Results
997.0ms8256×body128valid
319.0ms2317×body128invalid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify114.0ms (2.3%)

Algorithm
egg-herbie
Rules
1400×fma-neg_binary64
654×fma-def_binary64
233×sub-neg_binary64
210×unsub-neg_binary64
158×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01219
13214
29413
326313
465513
5155613
6169113
7150013
8150013
9273913
10270713
11270713
12263213

prune6.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.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
0.0b
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))
Compiler

Compiled 92 to 53 computations (42.4% saved)

localize18.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
0.0b
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
0.0b
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))

series144.0ms (2.9%)

Counts
3 → 132
Calls

3 calls:

100.0ms
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
27.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
16.0ms
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))

rewrite109.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
712×fma-neg_binary64
265×expm1-udef_binary64
265×log1p-udef_binary64
238×egg-rr
148×add-sqr-sqrt_binary64
Counts
3 → 238
Calls

3 calls:

104.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
104.0ms
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
104.0ms
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01239
128431
2402131
3554431
000
100

simplify305.0ms (6.1%)

Algorithm
egg-herbie
Rules
920×unsub-neg_binary64
689×distribute-rgt-out--_binary64
678×distribute-rgt-neg-in_binary64
613×fabs-mul_binary64
568×distribute-lft-neg-in_binary64
Counts
370 → 263
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
0331589
1991342
22201227
35871227
416241227
527781227
632261227
735891227
841221227
942291227
1043291209
1133781209
1236251209
1341601209
1445661209
1549961209
1649011209

prune180.0ms (3.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2603263
Fresh101
Picked011
Done000
Total2614265
Error
0b
Counts
265 → 4
Alt Table
StatusErrorProgram
0.0b
(fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1)))
0.0b
(-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1))
0.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
28.7b
(/.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4)) (+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1)))
Compiler

Compiled 5326 to 1207 computations (77.3% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (-.f64 d2 d3))
0.0b
(fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3)))
0.0b
(-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1))

series88.0ms (1.8%)

Counts
3 → 120
Calls

3 calls:

69.0ms
(-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1))
12.0ms
(fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3)))
7.0ms
(*.f64 d1 (-.f64 d2 d3))

rewrite119.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
562×log-prod_binary64
431×fma-def_binary64
209×expm1-udef_binary64
209×log1p-udef_binary64
194×fma-neg_binary64
Counts
3 → 161
Calls

3 calls:

114.0ms
(*.f64 d1 (-.f64 d2 d3))
114.0ms
(fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3)))
114.0ms
(-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01035
122333
2291333
3563133
000
100

simplify138.0ms (2.8%)

Algorithm
egg-herbie
Rules
938×fma-neg_binary64
776×unsub-neg_binary64
604×cancel-sign-sub-inv_binary64
502×associate-*r*_binary64
337×neg-sub0_binary64
Counts
281 → 185
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0281469
1861258
21931143
35271143
415461143
538901143
641111143
749491143
849731143
949211143

prune117.0ms (2.3%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1841185
Fresh112
Picked011
Done011
Total1854189
Error
0b
Counts
189 → 4
Alt Table
StatusErrorProgram
0.0b
(fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1)))
0.0b
(-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1))
0.0b
(fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
0.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Compiler

Compiled 3624 to 862 computations (76.2% saved)

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
0.0b
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))

series28.0ms (0.6%)

Counts
2 → 96
Calls

2 calls:

18.0ms
(fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
10.0ms
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))

rewrite88.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
484×fma-def_binary64
233×fma-neg_binary64
200×expm1-udef_binary64
200×log1p-udef_binary64
170×log-pow_binary64
Counts
2 → 84
Calls

2 calls:

86.0ms
(fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
86.0ms
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01026
123023
2292723
3496123
4494523
000
100

simplify148.0ms (3%)

Algorithm
egg-herbie
Rules
565×fma-neg_binary64
454×cancel-sign-sub-inv_binary64
448×distribute-rgt-neg-in_binary64
413×associate-*l*_binary64
396×distribute-rgt-out--_binary64
Counts
180 → 104
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0281255
1751102
2154987
3389987
41190987
52926987
64315987
74914987
84958987
94998987
104943987

prune65.0ms (1.3%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1040104
Fresh011
Picked011
Done022
Total1044108
Error
0b
Counts
108 → 4
Alt Table
StatusErrorProgram
0.0b
(fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1)))
0.0b
(-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1))
0.0b
(fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
0.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Compiler

Compiled 1674 to 428 computations (74.4% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1)))

series19.0ms (0.4%)

Counts
1 → 48
Calls

1 calls:

19.0ms
(fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1)))

rewrite62.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
520×log-prod_binary64
485×fma-def_binary64
247×fma-neg_binary64
195×expm1-udef_binary64
195×log1p-udef_binary64
Counts
1 → 34
Calls

1 calls:

61.0ms
(fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
122714
2281414
3555114
000
100

simplify96.0ms (1.9%)

Algorithm
egg-herbie
Rules
636×sub-neg_binary64
532×fma-neg_binary64
445×unswap-sqr_binary64
443×distribute-rgt-neg-in_binary64
408×cancel-sign-sub-inv_binary64
Counts
82 → 50
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022816
159663
2142548
3354548
41116548
52796548
64186548
74498548
85304548

prune26.0ms (0.5%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New50050
Fresh000
Picked011
Done033
Total50454
Error
0b
Counts
54 → 4
Alt Table
StatusErrorProgram
0.0b
(fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1)))
0.0b
(-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1))
0.0b
(fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
0.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Compiler

Compiled 741 to 195 computations (73.7% saved)

regimes451.0ms (9.1%)

Accuracy

Total 0.0b remaining (79.3%)

Threshold costs 0.0b (79.3%)

Counts
72 → 1
Compiler

Compiled 5428 to 3314 computations (38.9% 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: 0 (0.0ms)

IterNodesCost
01016
11816
22316
32616
42716
52716

end69.0ms (1.4%)

Remove

(sort d2 d4)

Compiler

Compiled 125 to 74 computations (40.8% saved)

Profiling

Loading profile data...