code: def mutually_broadcastable_shapes(
      num_shapes: int,
      *,
      base_shape=(),
      min_dims: int = 1,
      max_dims: int = 4,
      min_side: int = 1,
      max_side: int = 4,
  ):
      if max_dims is None:
          max_dims = min(max(len(base_shape), min_dims) + 5, 32)
      if max_side is None:
          max_side = max(base_shape[-max_dims:] + (min_side,)) + 5
      return (
          nph.mutually_broadcastable_shapes(
              num_shapes=num_shapes,
              base_shape=base_shape,
              min_dims=min_dims,
              max_dims=max_dims,
              min_side=min_side,
              max_side=max_side,
          )
          .map(lambda BS: BS.input_shapes)
          .filter(
              lambda shapes: all(
                  prod(i for i in s if i > 0) < 1000 for s in shapes
              )
          )
      )
  
imports: import numpy
  import hypothesis.extra.numpy
  from hypothesis import strategies
  from hypothesis.internal.floats import float_of
  from functools import reduce
  from operator import mul
  import sys
  import string
  import ml_dtypes
  import ivy_tests.test_ivy.helpers.globals
  from ..pipeline_helper import WithBackendContext
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers.hypothesis_helpers.dtype_helpers import get_dtypes
  from .None import general_helpers
  from .None import dtype_helpers, number_helpers
  from ..globals import mod_backend
label_desc: Use image node_id 15 for calling a global function with example usage: mutually_broadcastable_shapes(num_shapes) and returns: nph