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.

Noncompliant Code Example

int i = 42;
double d = Double.longBitsToDouble(i);  // Noncompliant