code: def _broadcastable_shapes(shape):
      """Returns all shapes that broadcast to `shape`."""
  
      def f(rshape):
          yield []
          if rshape:
              for s in f(rshape[1:]):
                  yield rshape[0:1] + s
              if rshape[0] != 1:
                  for s in f(rshape[1:]):
                      yield [1] + s
  
      for x in f(list(reversed(shape))):
          yield list(reversed(x))
  
imports: import collections
  import enum
  from functools import partial
  import itertools
  import unittest
  from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.framework import config
  from tensorflow.python.ops.numpy_ops.tests.config import config
  import tensorflow.python.ops.numpy_ops.tests.extensions
  import tensorflow.python.ops.numpy_ops.tests.np_wrapper
  import tensorflow.python.ops.numpy_ops.tests.test_util
  from tensorflow.python.util import nest
label_desc: Use image node_id 4 for calling a global function with example usage: _broadcastable_shapes(shape) without return types