Yarrow algorithm