class_docstr: Detect the ``mul`` ---> ``max`` pattern than can be mapped to ``leaky_relu``.
  
  `In code form - Input`
  
  .. code-block::
  
     %2 = const(value = alpha) # where 0 <= alpha <= 1
     %3 = mul(%1, %2) # alpha * x
     %4 = max(%3, %1) # max(alpha * x, x)
  
  
  `In code form - Output`
  
  .. code-block::
  
     %4 = leaky_relu(x=%1, alpha=%2)
  
  
  `In graphical form - Input graph`
  
  .. code-block::
  
               const (val = alpha)
                   |
      input ----> mul ---------------> maximum -----------> output
        |                                 |
        |----------------------------------
  
  
  `In graphical form - Output graph`
  
  .. code-block::
  
      input --------> leaky_relu ---------> output
class_docstr_tok: ["Detect","the","``","mul","``","--","-",">","``","max","``","pattern","than","can","be","mapped","to","``","leaky_relu","``",".","`","In","code","form","-","Input","`","..","code-block",":",":","%","2","=","const","(","value","=","alpha",")","#","where","0","<","=","alpha","<","=","1","%","3","=","mul","(","%","1",",","%","2",")","#","alpha","*","x","%","4","=","max","(","%","3",",","%","1",")","#","max","(","alpha","*","x",",","x",")","`","In","code","form","-","Output","`","..","code-block",":",":","%","4","=","leaky_relu","(","x=","%","1",",","alpha=","%","2",")","`","In","graphical","form","-","Input","graph","`","..","code-block",":",":","const","(","val","=","alpha",")","|","input","--","--",">","mul","--","--","--","--","--","--","--","-",">","maximum","--","--","--","--","--","-",">","output","|","|","|","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","`","In","graphical","form","-","Output","graph","`","..","code-block",":",":","input","--","--","--","--",">","leaky_relu","--","--","--","--","-",">","output"]
code: def apply(self, prog):
      for f in prog.functions.values():
          block_changed = True
          while block_changed:
              block_changed = self._fuse_leaky_relu_block(f)
  
imports: import numpy
  from coremltools.converters.mil.experimental.passes.generic_pass_infrastructure import fuse_all_blocks
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import get_new_symbol
  from coremltools.converters.mil.mil.passes.graph_pass import AbstractGraphPass
  from coremltools.converters.mil.mil.passes.helper import _check_child_op_type, _check_var_scalar_value, _check_var_scalar_value_in_interval, block_context_manager
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
label_desc: Use image node_id 1 for calling the fuse_leaky_relu obj's underlying member method code with example usage: obj.apply(prog) without return types