class_docstr: enc(x) = sign(x) * (abs(x)*128)^8.
  
  This provides less range and more resolution.
  The range of representable positive values is approximately [2^-23, 2^9]
  Resolution is 8x better than bfloat16.
code: def encode(self, x, noise):
      x = tf.to_float(x)
      # we can't use tf.pow(..., 8.0) because of a high-error approximation
      # on TPU.  Instead we square three times.
      x = tf.sign(x) * tf.square(
          tf.square(tf.square(tf.abs(x) * 128.0))
      )
      x = _to_bfloat16_unbiased(x, noise)
      return x
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow.compat.v1
  from tensorflow.python.framework import function
label_desc: Use image node_id 1 for calling the EighthPowerEncoding obj's underlying member method code with example usage: obj.encode(x, noise) and returns: x