code: def maximum(a, b):
      # Poorman's version of upcasting in Sympy
      # This won't do for sympy.Expr as the casting does nothing for those
      if a.is_Float or not a.is_finite or b.is_Float or not b.is_finite:
          result_type = sympy.Float
      else:
          assert a.is_Integer
          assert b.is_Integer
          result_type = sympy.Integer
      return sympy.Max(result_type(a), result_type(b))
  
imports: import math
  import sympy
  import torch
label_desc: Use image node_id 28 for calling the ReferenceAnalysis obj's underlying member method code with example usage: obj.maximum(a, b) and returns: sympy