code: def _eight_byte_real(value):
      
      if value == 0:
          return b'\x00\x00\x00\x00\x00\x00\x00\x00'
      if value < 0:
          byte1 = 0x80
          value = -value
      else:
          byte1 = 0x00
      fexp = numpy.log2(value) / 4
      exponent = int(numpy.ceil(fexp))
      if fexp == exponent:
          exponent += 1
      mantissa = int(value * 16.**(14 - exponent))
      byte1 += exponent + 64
      byte2 = (mantissa // 281474976710656)
      short3 = (mantissa % 281474976710656) // 4294967296
      long4 = mantissa % 4294967296
      return struct.pack(">HHL", byte1 * 256 + byte2, short3, long4)
docs: Convert a number into the GDSII 8 byte real format.
  
      Parameters
      ----------
      value : number
          The number to be converted.
  
      Returns
      -------
      out : string
          The GDSII binary string that represents ``value``.