From the solidity docs:
Calls are limited to a depth of 1024, which means that for more complex operations, loops should be preferred over recursive calls. Furthermore, only 63/64th of the gas can be forwarded in a message call, which causes a depth limit of a little less than 1000 in practice.
I know there are some security considerations for setting a limit on how much a callee can consume, but I'm curious to know why did they set the value to 63/64, specifically? Was it just efficient to divide by 64 and subtract the result?