code: def nome(ctx, m):
      m = ctx.convert(m)
      if not m:
          return m
      if m == ctx.one:
          return m
      if ctx.isnan(m):
          return m
      if ctx.isinf(m):
          if m == ctx.ninf:
              return type(m)(-1)
          else:
              return ctx.mpc(-1)
      a = ctx.ellipk(ctx.one - m)
      b = ctx.ellipk(m)
      v = ctx.exp(-ctx.pi * a / b)
      if not ctx._im(m) and ctx._re(m) < 1:
          if ctx._is_real_type(m):
              return v.real
          else:
              return v.real + 0j
      elif m == 2:
          v = ctx.mpc(0, v.imag)
      return v
  
imports: from .functions import defun, defun_wrapped
label_desc: Use image node_id 2 for calling a global function with example usage: nome(ctx, m) and returns: v, m, m, m, type, ctx, v, unknown