under certain conditions, power::expand_add_2() could produce non-canonical