multiplication with partitioning