is boost::binomial_coefficient really the same as the previous logic? Or does this change the result for some or all input values?