code: def method_name_for_op(op, commute=False):
      """
      Get the name of the Python magic method corresponding to `op`.
  
      Parameters
      ----------
      op : str {'+','-','*', '/','**','&','|','^','<','<=','==','!=','>=','>'}
          The requested operation.
      commute : bool
          Whether to return the name of an equivalent method after flipping args.
  
      Returns
      -------
      method_name : str
          The name of the Python magic method corresponding to `op`.
          If `commute` is True, returns the name of a method equivalent to `op`
          with inputs flipped.
  
      Examples
      --------
      >>> method_name_for_op('+')
      '__add__'
      >>> method_name_for_op('+', commute=True)
      '__radd__'
      >>> method_name_for_op('>')
      '__gt__'
      >>> method_name_for_op('>', commute=True)
      '__lt__'
      """
      if commute:
          return _ops_to_commuted_methods[op]
      return _ops_to_methods[op]
  
imports: from itertools import chain
  import re
  from numbers import Number
  import numexpr
  from numexpr.necompiler import getExprNames
  from numpy import full, inf
  from catalyst.pipeline.term import Term, ComputableTerm
label_desc: Use image node_id 2 for calling a global function with example usage: method_name_for_op(op, commute) and returns: _ops_to_methods, _ops_to_commuted_methods