DUAL algorithm