Compare based on value and not identity

Using `is` in python will compare the two variables for identity i.e. if
they are the same reference to a thing. When you have small numbers
python has a optimization where it will use the same underlying object
and `is` will work. When you are using larger numbers they will no
longer be represented by the same underlying object so using `is` will
return false even if the objects represent the same underlying number.

For this reason it is always sensible to use `==` style comparison for
numbers.