changed formula to cache its name in operator<< for faster comparisons