Costs forwardLargeBcSmall1000 = new Costs();
costEstimator.addHashPartitioningCost(MEDIUM_ESTIMATES, hashBothSmall);
costEstimator.addHashPartitioningCost(MEDIUM_ESTIMATES, hashBothSmall);
costEstimator.addHashPartitioningCost(MEDIUM_ESTIMATES, hashSmallAndLarge);
costEstimator.addHashPartitioningCost(BIG_ESTIMATES, hashSmallAndLarge);
costEstimator.addHashPartitioningCost(BIG_ESTIMATES, hashBothLarge);
costEstimator.addHashPartitioningCost(BIG_ESTIMATES, hashBothLarge);
costEstimator.addHashPartitioningCost(MEDIUM_ESTIMATES, hashSmallBcLarge10);
costEstimator.addBroadcastCost(BIG_ESTIMATES, 10, hashSmallBcLarge10);
costEstimator.addHashPartitioningCost(BIG_ESTIMATES, hashLargeBcSmall10);
costEstimator.addBroadcastCost(MEDIUM_ESTIMATES, 10, hashLargeBcSmall10);
costEstimator.addHashPartitioningCost(MEDIUM_ESTIMATES, hashSmallBcLarge1000);
costEstimator.addBroadcastCost(BIG_ESTIMATES, 1000, hashSmallBcLarge1000);
costEstimator.addHashPartitioningCost(BIG_ESTIMATES, hashLargeBcSmall1000);
costEstimator.addBroadcastCost(MEDIUM_ESTIMATES, 1000, hashLargeBcSmall1000);