use signed binary expansion for pow_neg_t