a more accurate title might mention integer types and conversion but it'd be too long
For some reason, IsItPrime is not always "correct" about primes.
This does not mean it will tell you a number has factors when in fact it does not. Rather, the application will insist that a number is not prime when it finds the number itself is a factor.
Obviously, all numbers n, even primes, have at least two factors : 1 and n. A number is prime if it has no unique factors - factors that aren't 1 and n.
IsItPrime is designed to stop testing upon reaching a certain trial division number - either the complement factor of the first factor found, or else when the trial number is greater than the candidate number being tested.
In the former case, this "false-positive" is not a problem. It doesn't happen.
In the latter case, it sometimes can. You will then be shown conflicting messages - one thread claiming it's prime, the other insisting it is not.
You the user can obviously tell a prime number when one is found, given that the only factors you would see are the candidate number and 1.
The application is designed to dynamically test on-the-fly whether a potential factor is equal to the candidate number, but sometimes it mis-evaluates the macro used to compare the integers. It is not a perfect system, but it's good enough and therefore can be improved. It will just take some time.