There are 2^28 possible IP multicast addresses, but only 2^23 possible Ethernet (MAC) multicast addresses (http://technet.microsoft.com/en-us/library/cc957928.aspx), which is why e.g. 18.104.22.168 gets mapped to the same MAC address as 22.214.171.124.
This can be inefficient as hosts interested in only the former address will end up receiving packets for the latter as well, i.e. filtering is not done by the switch/router, but in the host itself.
Now IGMP works using IP addresses, and IGMP snooping switches descend to layer 3 anyway. Doesn't this mean that IGMP snooping switches don't suffer from this MAC multicast address ambiguity problem and can route in a way that hosts only interested in 126.96.36.199 don't get packets for 188.8.131.52?