v4.3 is coming but going as fast...
the "unilateral mix" is a total catastrophe 🫣
iteration: 501 LUT: 190 ⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣧⢀⠐⣿⣿⣿⢿⣾⣹⠿⣿⡖⣮⢈⠀⠁⢥⣊⠄⣻⣿ 84 ⢾⣷⣮⣿⢿⠺⠐⠀⠀⠄⣩⢚⢀⠠⠀⠀⠀⢠⡅⢔⠀⠠⡀⢀⠀⠀⠁⡶⠀⠀⣿⣿ 143 ⠵⠱⢻⡻⢗⠿⣩⠶⠈⢌⠢⢀⣿⣿⠠⠂⠛⣟⡅⡘⣿⣿⡥⠩⠝⡟⠂⡂⡿⣿⣅⣽ 108 ⡶⡿⠇⡕⢌⢠⢶⠑⣿⣿⢀⢐⠀⠀⣿⣿⠀⠐⠂⠀⠘⢀⢽⣳⠀⠀⢼⣾⠀⠀⣻⣵ 120 ⡑⡄⠯⡧⡀⠀⢼⢭⣰⢭⠕⠁⢌⠂⣟⠜⣟⡝⢓⠟⡊⢑⢭⠠⠔⠀⣿⣿⢤⡑⢯⡙ 115 ⣿⣿⠄⠡⠫⠣⣓⠒⡲⡅⠉⠇⢀⠀⢟⣏⣷⠌⠉⡰⢷⠦⠂⠄⣩⣯⠁⠲⣿⣿⠀⠀ 98 ⠐⣢⠪⡔⣿⣿⠀⡀⠀⠀⢍⣨⢄⡀⠆⡃⣎⡾⢠⠹⣪⣗⠠⣄⠀⠀⣿⣯⠇⠃⠢⠀ 170 ⣏⣽⣫⢮⣱⣺⠀⠀⡁⣧⣚⣳⣐⢺⣐⠨⣿⣿⣿⢿⣡⠂⣿⣿⠩⠴⢿⣼⣿⣿⣿⣿ 122 ⣿⣿⢃⠅⢴⠑⣿⣟⣿⣿⣗⢋⠠⣁⠀⠀⠄⡀⣿⣿⣿⡯⠀⠀⡍⡀⡶⢮⡀⠀⠐⢀ 102 ⣉⢰⢺⢆⣫⠶⠄⠉⣡⡶⢽⢫⠁⠀⠌⡐⢬⠛⡊⡣⡿⣍⠤⠀⠀⠀⣢⢈⠠⡘⡕⡷ 112 ⣿⣷⣮⣪⢤⢵⠀⠀⡼⠨⣿⢠⢽⣓⢟⡯⢬⡝⠀⠀⠀⠀⠠⠈⠀⠄⡯⣯⠠⡲⡛⠣ 105 ⡗⣼⠀⠁⢵⡏⠟⣘⠕⢍⠈⠡⠀⠑⣹⣷⡀⠀⠀⠀⠀⠀⠀⢉⣿⣷⣼⣑⢽⣧⢨⣪ 119 ⠋⠰⣿⢽⠀⠀⠥⢈⡠⡺⡪⠣⡨⡋⠌⠐⣿⣿⣹⣧⣯⣿⡁⡉⠀⠐⠀⠀⣿⠞⣲⣋ 139 ⣦⣏⠄⠂⠄⢈⠖⢻⣖⣟⡽⣡⣾⢶⠁⡄⠨⣼⣐⣯⣿⣿⣻⣼⠠⠐⣿⣿⢈⠔⠾⢑ 130 ⣭⣿⠫⠇⣯⠫⢈⡢⠀⠀⣿⣿⠂⡡⠀⠀⢂⠁⡀⠀⣻⣷⢽⣲⡔⠁⣿⣿⢍⠯⢿⣿ 191 ⣿⣿⠀⠈⠀⠀⣿⡻⢝⣷⠀⠀⣿⣿⣿⣿⣿⣯⣿⣿⢌⡋⣿⣿⣿⣿⣟⣽⣿⣿⣿⣿ Total 2048
the "move" is not anisotropic at all. I thought that the entropy of the indices would reduce this problem but not at all.
I moved to a LFSR32 so there is now "enough entropy" to mix 16 bits and use as either a swap/bi-selector, or anisotropic move.
The "enhanced mixer" is like that :

That's ... 13 boolean ops if written in C...
Try at home with Falstad's CircuitJS
OTOH the "swapper" doesn't care what the values of the bits are.

Simulate with this link.
That's 7 boolean instructions only, half the above and doing the same job...
So we get this:
uint16_t S1 = S >> 8;
uint16_t S2 = ~S1;
uint16_t X2 = (X & S1) | (Y & S2);
uint16_t Y2 = (X & S2) | (Y & S1);
And yes, the S>>8 eats 3 bits that the barrel shifter uses, I hope it will be solved later.
Source code is there and the new diagram is below:

And now the result is back to "good", breaking the zero-entropy situation easily.
LUT:
0 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
0 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
0 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
0 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
0 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
0 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
0 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
0 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
256 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
256 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
256 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
256 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
256 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
256 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
256 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
256 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
Total 2048
iteration: 51 LUT:
42 ⡟⣭⠀⠀⢀⠆⠀⠀⣿⢲⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⣿⠀⠀
23 ⠀⠀⠀⠀⠀⠀⠂⣪⠀⠀⠀⠀⠀⠀⠀⠀⢐⠁⠀⠀⠀⠀⠀⠀⣿⣸⠀⠀⠀⠀⠀⠂
10 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢁⠀⠀⠀⠀⠀⠀
0 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
33 ⣿⢃⠀⡃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⣼⠇
26 ⠀⠀⠀⠀⠁⣸⠀⠀⠀⠀⠀⠀⠀⠂⣿⢒⠠⠆⠀⠀⠀⡝⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
14 ⠀⠀⠀⠀⠀⣽⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
4 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
228 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⣿⣿⣿⠀⠅⣿⣿⣿⣽⣿⣿⣿⣿⠀⡍
256 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
226 ⠀⡾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡼⣿⣿⠀⣻⣿⣿
237 ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣺⣿⣿⡂⠂⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿
242 ⣿⣿⣿⣿⣾⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⡿⣹⣿⣿⣿⣿
247 ⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢷⣿⣬⣿⣿⣿⣿⣿⣿⣿⣿
232 ⣿⣿⢀⠀⢱⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠧⣿
228 ⣿⣿⣿⣿⣿⣿⣿⢼⣿⣿⣿⣿⣿⣿⣿⣿⣿⢢⣿⣯⣿⢺⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀
Total 2048
iteration: 501 LUT:
133 ⠿⢡⠢⣗⠂⣸⣿⣿⢐⠀⡜⠀⣭⣿⠁⢀⢸⠇⡏⢼⠄⡀⠃⣠⣏⢺⠃⣿⡗⣿⣏⣿
113 ⣿⣿⠀⠀⠀⡏⣿⢺⣾⣦⡟⣑⠃⢸⠇⢰⢠⠅⠀⣸⣿⣿⠈⠀⠀⡝⣗⣚⠀⠄⢐⠀
89 ⣿⣻⠆⡄⣌⠂⠀⡔⠀⠀⠀⡒⣔⡽⠀⠜⠀⠀⢰⠁⠀⠀⢀⠀⣿⣿⣾⠀⣻⡄⢇⢹
90 ⡀⠌⣿⢁⠐⠂⡀⢀⠨⠅⡜⣘⢅⠎⠀⠀⠇⢸⣧⣹⠐⠞⣈⠽⢈⠀⣼⠲⠀⠀⣿⢴
89 ⣃⣼⣺⠵⠁⢰⡄⠄⠀⠀⡏⣾⣺⡯⠀⠀⠀⡎⡿⡭⢨⡲⠀⠄⠀⠀⡇⡀⠘⠁⠀⡻
81 ⣺⡟⢀⠀⠀⠀⠀⡂⢸⡄⠀⠀⢠⠀⣿⢒⢂⠁⠟⠨⠀⡝⠁⢺⢀⠀⠇⢴⠇⣺⢸⡏
82 ⠁⢰⣿⣠⠀⣽⠀⠀⠀⠀⠿⠰⢰⡇⠇⠀⣾⣿⣸⠅⠀⠰⠀⠀⠀⠀⡩⢄⢰⠗⠈⡇
143 ⣯⣾⢠⠉⢻⣟⣿⣟⡟⢰⠀⠀⡛⣸⢂⡎⠀⠀⡔⠄⣿⢣⣏⣹⣽⡿⢿⣿⠐⡘⣭⣇
150 ⠆⢈⣾⠅⣞⣉⠋⣏⣿⣿⣿⢺⣾⢁⢸⣃⣿⣿⠠⡿⡈⡮⠸⡟⠊⡯⣿⣿⢸⠃⢐⠀
158 ⢀⢞⣸⡟⣼⡘⣿⣿⠀⣦⣵⡿⠹⣿⣿⣿⠀⠀⣿⣿⢞⢂⣾⠃⢀⢀⣿⣿⡏⢰⠟⣾
160 ⠇⢡⣿⢾⣿⣿⣿⣟⣿⢣⠀⠈⣿⣿⣸⡧⢰⡏⡮⣮⣿⠁⠇⠂⡾⡛⣧⢧⠐⡏⢾⡙
132 ⠃⣝⣿⣻⡷⠡⠀⡜⢼⠉⣿⣿⠠⠟⢰⣱⢼⠌⣿⣹⡟⢲⠀⡸⢀⠆⣽⢁⠁⣜⢠⡮
136 ⡠⠇⣿⣿⣨⡷⣿⣾⠃⢴⣼⠇⢮⣏⡆⣾⢠⡁⡔⡄⠀⠇⣿⢤⣸⢧⠀⠃⢰⠄⣿⣽
193 ⣿⣿⣿⣿⢸⠃⣿⣿⣿⣿⣾⣾⢢⠀⡿⢃⣾⠂⣿⢗⡾⠇⠰⡌⡿⣻⣿⣿⣿⣿⣿⣽
165 ⣷⣿⢀⠀⠏⣾⣿⣻⣿⣾⣿⣿⢡⢅⡼⠼⢸⠀⢽⠅⠐⠃⢀⡯⣿⣿⡟⡚⣿⣿⣿⢶
134 ⡋⠄⡇⣬⣿⣿⠀⠀⣟⣧⣻⢿⠻⠫⠢⠃⢸⠃⠀⠁⣟⣓⢿⡝⠀⡸⡟⣿⣿⣹⠀⠄
Total 2048
iteration: 1001 LUT:
118 ⡧⢒⡟⣓⢩⣄⠁⢾⢄⠄⡜⠀⡟⡼⢸⡀⡎⠀⢑⣿⠘⣛⢀⡇⣢⠇⡩⣼⡢⡺⢰⢯
117 ⠹⠦⠡⡏⠀⡏⢸⠘⢹⠠⡿⡋⡇⣀⡃⣿⣾⠐⢀⡘⠃⣧⡅⣱⠐⡼⣿⢂⢐⢁⠟⣸
102 ⣼⡇⢛⢺⠸⡂⢰⠇⢠⠣⠁⠹⣾⡗⣄⠗⠀⠀⣝⣄⠇⢀⢸⠆⡦⠾⣾⠀⡄⡋⠄⠀
108 ⣩⣠⠀⡇⠀⠐⠈⠷⢐⡃⡿⠂⢲⢐⠁⠢⢟⢵⣧⣹⣪⡁⣦⢠⡞⡻⣘⠚⡞⢻⠀⠄
132 ⢤⣼⠸⠂⣟⣪⣾⠈⣙⢺⢦⠰⡯⣏⡺⣙⢹⣻⢘⡿⢨⡲⣾⢃⣀⠐⠌⠩⣣⣣⣔⠀
119 ⢠⠫⣟⣸⢠⠠⢷⢫⠀⡼⣪⢪⠁⢀⣿⢒⢀⢻⠟⣞⢀⢛⠁⢺⢀⠌⡼⢰⠿⢱⠡⣾
118 ⣹⠕⠀⠸⢡⠇⣄⠂⡏⠼⣾⠜⢇⣾⢲⡗⡿⡆⡰⠇⠀⠰⠠⣹⣑⢻⣿⣽⢰⠙⠀⠐
133 ⢇⠧⡘⠀⢷⡿⣳⢫⠸⢂⠁⣟⡀⡯⢭⡑⢿⠿⢈⣁⢆⣺⣟⣿⠀⡀⣯⣿⣜⣦⠀⡂
160 ⣽⠇⢳⣿⢟⢫⡞⣾⣿⡸⣿⢉⢀⠱⣟⣽⣽⣯⠟⣣⣾⠧⠃⣸⣌⠇⣿⢻⠰⡯⢐⠀
163 ⠐⡕⣿⣟⣼⡘⣿⣽⢇⢼⢸⠗⢾⣻⡍⡾⠀⠅⣿⣿⡧⣠⠾⢾⢁⢿⡏⣿⢺⡇⣯⢕
120 ⢷⣼⠸⠡⡘⣏⠆⣱⠀⠀⠀⠈⠂⠄⢷⢝⠇⣼⣰⡝⣿⠁⢲⣵⢠⡗⢕⢅⣵⢹⡸⣻
147 ⠮⠁⠐⠋⠨⡴⢙⣼⢲⣽⢾⢫⣧⣳⢺⣷⠑⣵⢯⢻⣾⠗⣝⣿⣰⡑⣌⠇⠪⡅⣴⠿
102 ⠻⡪⡀⢳⡋⣾⡘⠀⡠⠐⢤⠀⢀⡇⣽⢁⢠⡁⣤⠉⠀⡸⢜⣛⣱⣳⣯⣿⠀⠘⡀⠀
132 ⡹⡿⢿⣇⢠⠙⡇⢠⢳⣾⠡⣬⠃⡄⠨⠽⠫⣽⣏⣶⣿⣽⠀⠈⡉⣻⠀⠢⠮⡙⡷⠤
143 ⠰⡴⣮⡂⢫⢿⡉⣟⡗⢡⣿⣿⢰⢢⡘⠈⡽⣧⣼⡞⢡⠆⡟⣇⢾⠂⢥⢠⠃⡿⡛⣾
134 ⣢⠅⢠⢀⠗⣧⡿⠆⢟⡿⢇⢘⢁⣻⣿⣏⢷⡻⠀⠈⡵⢨⢬⠀⣏⣿⠅⡈⣸⣋⢯⢣
Total 2048
iteration: 1501 LUT:
126 ⡏⢼⡍⠠⡐⠏⢣⣻⢋⠔⢪⣆⣹⡾⢰⠺⠪⡟⠀⢂⡇⡊⣸⣾⣢⠇⠋⣆⢘⣏⢠⣭
123 ⢶⢾⣿⠁⠗⢳⢷⡿⡽⠳⠡⣋⢪⠍⡱⢂⠊⡣⢠⠥⡾⠃⡅⣱⢍⠇⡖⡇⠀⠢⣊⢃
140 ⣅⣿⣧⣟⣭⣀⢐⠄⢇⣾⣆⡾⢞⠥⣿⢤⣽⢱⣠⠱⣾⠀⣡⣎⠃⢄⡇⢰⣝⡹⣶⠍
132 ⣿⣶⠀⡇⠇⣦⠂⠪⡜⡘⣼⠯⣅⢌⣪⢏⢟⢵⣾⢄⢣⣫⣦⣥⠀⢰⣨⠌⡨⠹⠝⣯
131 ⢾⣻⠗⠐⠰⡟⠁⢳⠢⢠⢙⡏⢌⣽⠏⡌⠼⣭⡑⡦⣅⡠⣿⣸⡗⢽⣃⣟⠣⠺⠠⡅
126 ⡿⢹⣞⡯⣘⢚⢔⢮⡞⠎⢃⡅⡤⢉⢢⠀⡬⠅⠇⣓⡛⣿⠇⡮⢊⠄⠖⡰⢸⢓⢴⡟
130 ⡙⢛⣎⢃⣑⢹⡬⢘⢏⣺⣅⡎⣣⢃⠱⣼⡈⢂⡰⠇⠰⢵⡞⣰⣮⣧⡏⣿⡈⢸⢀⠥
136 ⣾⢜⣬⣻⢻⣞⡮⡶⢳⣑⠡⠗⢫⠅⡦⣴⠀⠞⢀⣼⣛⣰⡞⢁⠎⢠⣿⣩⠎⠘⣏⠥
119 ⡏⣻⡟⡊⢟⢫⠈⣰⣊⠊⡏⣰⢴⠈⡎⡌⣑⡊⠈⡯⢸⡅⡸⠆⡰⡥⡃⣹⡴⡂⢡⠓
137 ⢺⠾⠇⡑⢏⢺⠼⢱⣦⡹⠵⡈⡣⡼⢻⡫⢂⣼⠣⣋⡇⢼⡭⣙⢁⢿⣁⣐⠹⢇⠿⡅
123 ⡜⠱⡇⡶⢪⡍⠟⡠⣼⠀⠷⣅⡯⢂⡁⢠⡗⢘⠂⡍⣓⠀⣊⠳⣿⢘⡦⢎⣻⡸⡇⢺
125 ⣿⢀⠱⢅⠅⡘⣿⡳⠃⢻⠐⢽⡶⡸⢲⡍⡸⡩⡾⡟⠵⢀⢧⠺⠌⢈⡳⢠⣽⢹⠄⠰
114 ⣘⠂⠆⠠⡫⣴⠈⣸⡠⠓⢤⠀⢳⠂⢅⡵⠗⡄⡹⣘⡈⠓⢪⣷⡏⣴⣭⠇⠖⡟⡛⢲
119 ⠀⡀⢞⠇⢻⠐⠀⢅⢓⣿⠡⣬⠷⡹⡀⡟⠢⣸⢺⣭⡉⣱⠀⠨⢻⠥⡞⡝⢷⣺⠒⢰
132 ⡿⠱⢾⡹⠶⣎⡤⢂⢰⢁⡎⣱⡟⢚⡧⢆⢼⠀⣳⢘⡟⠋⢧⣾⠢⢾⠡⣀⢐⡬⡿⠾
135 ⠩⣘⣟⣟⢄⡇⡏⠰⢜⠼⠞⢞⢿⡦⣵⣘⢇⡒⡖⡻⢶⠌⡻⢘⢰⢱⣈⠈⣵⠤⣿⡃
Total 2048
...
Cool.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.