code: public static double registersToDouble(byte[] bytes) {
          return Double.longBitsToDouble(((((long)(bytes[0] & 0xff) << 56) |
                  ((long)(bytes[1] & 0xff) << 48) |
                  ((long)(bytes[2] & 0xff) << 40) |
                  ((long)(bytes[3] & 0xff) << 32) |
                  ((long)(bytes[4] & 0xff) << 24) |
                  ((long)(bytes[5] & 0xff) << 16) |
                  ((long)(bytes[6] & 0xff) << 8) |
                  ((long)(bytes[7] & 0xff)))
          ));
      }
docs: Converts a byte[8] binary double value into a double primitive.
  
  @param bytes a byte[8] to be converted.
  
  @return a double value.