Sardinas-Patterson algorithm