``++Double.longBitsToDouble++`` expects a 64-bit, ``++long++`` argument. Pass it a smaller value, such as an ``++int++`` and the mathematical conversion into a ``++double++`` simply won't work as anticipated because the layout of the bits will be interpreted incorrectly, as if a child were trying to use an adult's gloves.