Subop format has many duplicates and many could be their own preprocessor defines. This would improve readability.