fixed promotion calculation