reordering rules to reduce first always on the right (except const and var)