PIC16: Understanding the bound on the argument to _delay
_delay is generated at compile time, so the code is not necessarily the same for all values, they can pad, or even compound loops to achieve the exact desired number of cycles.  

50659000/2^(8*3) is approximately 3.  So probably the core loop they are using is a 3 instruction loop (if an 8 bit microcontroller, 3 decrements are needed for a 3*8 bit variable).  Since it jumps in 3's, they can pad with one or two nop to get the exact number of cycles.  This requires the decrement and jump if/ifnot zero instruction to be possible (and with/without carry).