/* Tempering */ y ^= (y >> 11); y ^= (y << 7) & 0x9d2c5680UL; y ^= (y << 15) & 0xefc60000UL; y ^= (y >> 18);
かなりの bit 数の計算が無駄になっている
特に 18 bit 右シフトしたら半分以上の bit は無駄な xor をしていることに
shuffle で 2 つのレジスタを合体させておけば 2 つの xor を 1 つにすることができる