cyclic reduction