User-defined Reduction Operation