code: def hypot(left, right):
      
      if isinstance(left, Symbol) and isinstance(right, Symbol):
          return _internal._Hypot(left, right)
      if isinstance(left, Symbol) and isinstance(right, Number):
          return _internal._HypotScalar(left, scalar=right)
      if isinstance(left, Number) and isinstance(right, Symbol):
          return _internal._HypotScalar(right, scalar=left)
      if isinstance(left, Number) and isinstance(right, Number):
          return _numpy.hypot(left, right)
      else:
          raise TypeError('types (%s, %s) not supported' % (str(type(left)), str(type(right))))
docs: Given the "legs" of a right triangle, returns its hypotenuse.
  
      Equivalent to :math:`\\sqrt(left^2 + right^2)`, element-wise.
      Both inputs can be Symbol or scalar number. Broadcasting is not supported.
  
      Parameters
      ---------
      left : Symbol or scalar
          First leg of the triangle(s).
      right : Symbol or scalar
          Second leg of the triangle(s).
  
      Returns
      -------
      Symbol or scalar
          The hypotenuse of the triangle(s)
  
      Examples
      --------
      >>> mx.sym.hypot(3, 4)
      5.0
      >>> x = mx.sym.Variable('x')
      >>> y = mx.sym.Variable('y')
      >>> z = mx.sym.hypot(x, 4)
      >>> z.eval(x=mx.nd.array([3,5,2]))[0].asnumpy()
      array([ 5.,  6.40312433,  4.47213602], dtype=float32)
      >>> z = mx.sym.hypot(x, y)
      >>> z.eval(x=mx.nd.array([3,4]), y=mx.nd.array([10,2]))[0].asnumpy()
      array([ 10.44030666,   4.47213602], dtype=float32)