spec: <https://262.ecma-international.org/5.1/#sec-11.10> bitwise ops in js are signed (which seems like a bad design decision)
see also <https://stackoverflow.com/questions/8936523/javascript-bitwise-operator-confusion> the correct fix is for nim compiler to insert `>>> 0` note that `>>> 0` indeed inserts it twice, which is another bug