Even though it returns a result, the following code appears to be meaningless. The maximum possible shift is -31 to 31 (not -99999). Note: passing different out of bounds values for the shift parameter returns different results. I was wondering what was happening.
$a = BitShift(1, -99999)
MsgBox(0, "Meaningless", $a)