Is this really always going to be true, despite precision issues?  It seems more reasonable to check they are within some small value.