Why is Machoke‘s post-trade max CP lower when it’s currently 100%?

Solution 1:

I was able to figure it out. This was something that could not be easily determined in Pokemon Go itself. I ended up having to use a 3rd party app that performs IV and CP calculations.

Every time you power up a Pokemon, the hidden level attribute is increased by half a level. After plugging in numbers into the app, it calculated the Machoke’s level was 33.5.

Based on these calculations, and the new CP for Machoke, it appears that trading rounds your Pokemon’s level down rather than keeping the half level.

I further validated this by testing it out with the Azumarill and Snivy. I powered them both up by once, effectively increasing their level by .5. As expected, the results were the same with Machoke. Their new maximum CP was equal to their CP prior to powering up

snivy, different CP

azumarill, different CP