reduce ops