If my understanding is correct, when the 2nd parameter ("b", in your case) is 2 or 3, the expected value of n3 should be equal to n2, but n3 is actually set to 0 by your code.
I've had a quick look, but can't say why yet. I did notice the code fails perhaps consistently when a is a larger number and b is either 2 or 3. Hope that helps.
If my understanding is correct, when the 2nd parameter ("b", in your case) is 2 or 3, the expected value of n3 should be equal to n2, but n3 is actually set to 0 by your code.
I've had a quick look, but can't say why yet. I did notice the code fails perhaps consistently when
a
is a larger number andb
is either2
or3
. Hope that helps.