code: def _fuse_pow2_sqrt(block):
      fusion_status = False
      for op in list(block.operations):
          for b in op.blocks:
              block_changed = True
              while block_changed:
                  block_changed = _fuse_pow2_sqrt(b)
          if len(op.blocks) > 0:
              continue
  
          op2 = _match_pattern(op)
          if op2 is not None:
              fusion_status = _try_to_transform(op, op2, block)
              # has to break as the downstream iterator is affected.
              if fusion_status:
                  return fusion_status
      return fusion_status
  
file_path: coremltools/coremltools/converters/mil/backend/mil/passes/fuse_pow2_sqrt.py
imports: from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil.passes.graph_pass import AbstractGraphPass
  from coremltools.converters.mil.mil.passes.helper import block_context_manager
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
label_desc: Use image node_id 3 for calling a global function with example usage: _fuse_pow2_sqrt(block) and returns: fusion_status, fusion_status