code: def _eight_byte_real_to_float(value):
      
      short1, short2, long3 = struct.unpack('>HHL', value)
      exponent = (short1 & 0x7f00) // 256 - 64
      mantissa = (((short1 & 0x00ff) * 65536 + short2) * 4294967296 +
                  long3) / 72057594037927936.0
      if short1 & 0x8000:
          return -mantissa * 16.**exponent
      return mantissa * 16.**exponent
docs: Convert a number from GDSII 8 byte real format to float.
  
      Parameters
      ----------
      value : string
          The GDSII binary string representation of the number.
  
      Returns
      -------
      out : float
          The number represented by ``value``.