int gen_rhs(int lhs) { int rhs = 0, rhs_lsb, i; for(i = 0; i < 32; ++i) { rhs_lsb = rhs & 1; rhs = ((lhs & 1) << 15) + (rhs >> 1); if(rhs_lsb == 1) rhs ^= 33800; lhs >>= 1; } return rhs; }