This PR changes the types of two unsigned 64-bit ints to signed 64-bit ints.
This fixes an issue where GoodBits should be a negative value, however due to the type being unsigned it becomes a very large positive number.
The replacement causes a bug where shr/and pairs are incorrectly replaced with bfe. Despite the shr shifting all values to become the same value as the signed bit.
Two checks are added to test that the correct behaviour with too large shifts is occurring.
CHECK-LABEL:
I'd also give it a more meaningful name. no_bfe_on_32bit_oveflow.