Perhaps thinking about it as an optimisation and not a standard operation is not the best way to look at it.
For example 99% of the time I want a binary shift and not a /2.In a dynamically typed language 201/2 will give you 100.5 when you'd prefer to keep it integer.