Peterson–Gorenstein–Zierler algorithm