I created this a couple years ago, and I'm looking for contributions to improve it: both the code (it has undefined behavior due to my poor understanding of C types, and is msvc-specific), and the function (it passes SMHasher^0 but has many bad seeds, and some of the other results could be improved as well I think, such as, eg, MomentChi2).<p>Also the ECRYPT benchmark is 4x faster than Blake3^1.<p>0: <a href="https://rurban.github.io/smhasher/doc/BEBB4185.txt" rel="nofollow">https://rurban.github.io/smhasher/doc/BEBB4185.txt</a><p>1: <a href="https://bench.cr.yp.to/impl-hash/bebb4185.html" rel="nofollow">https://bench.cr.yp.to/impl-hash/bebb4185.html</a><p>I could hack around with it but I have no firm ideas on how to improve these metrics, and I just wheeled it out on a whim, if anyone wants to try? I was thinking maybe adding an OR into the round function, something like:<p>state[0] |= 0b0000000000010000000000000<p>For example, just to add a bit of fixed input or whatever in each round, and contrast with the entropy of mixing, but this is untested and I have no idea how it would test in SMHasher. Anyway, just throwing this out there. If you wanna try, I recommend you fork SMHasher and develop the BEBB4185 code in there and see if you get better results!