Toggle Background Color

The game would act (for the purposes of the capture formula) as if the Pokémon's maximum HP were much lower than it is. It only plugs the low eight bits of the divided 3M into the formula, or essentially the remainder if you divided it by 256. For example, if the Pokémon had 343 maximum HP, then 3M would be 1029, which would be divided by four to get 257. This would be represented in binary form as 100000001, but only the last eight bits - 00000001, or just 1 - would be plugged into the formula where 3M should be. This is called a truncation.

If you were to try to capture a Pokémon with exactly 342 or 683 max HP, the game would freeze. This is because for these HP values, 3M divided by four is evenly divisible by 256, which means a zero would get plugged into the formula where 3M should be. Because the formula then tries to divide by 3M, and the division routine used by the game has no checks or safeguards in case of a divisor of zero, it would simply go into an infinite loop until you reset the game.

The final capture rate could be ridiculously inflated if 3M were greater than 255 after the division by four but 2H weren't. Since 3M could be truncated to some extremely low value, the result of 3M - 2H would actually be negative. However, the game treats all variables as unsigned, meaning there is no such thing as a negative number - a subtraction will essentially simply start to count down from 256 once it passes zero. (3 - 5, for instance, would become 254.) This is called an underflow. Normally, ((3M - 2H) * C) / 3M should result in a value less than C, but if the subtraction underflowed, this limitation would be thrown out of the window.

Under the conditions in the above point, the final capture rate would cycle around bizarrely as the Pokémon's HP was lowered. This is because of yet another truncation: all but the last eight bits of the outcome of ((3M - 2H) * C) / 3M are thrown away before the maximum is applied. Normally this makes sense because this value should be lower than C, which can at most be 255, but if the subtraction were to underflow, this wouldn't necessarily be the case anymore, and the capture rate would rise at a rate of C / 3M for every two hit points of damage you dealt to the Pokémon, wrapping around to zero whenever it passed 255.