code: def dmp_discriminant(f, u, K):
      """
      Computes discriminant of a polynomial in `K[X]`.
  
      Examples
      ========
  
      >>> from sympy.polys import ring, ZZ
      >>> R, x,y,z,t = ring("x,y,z,t", ZZ)
  
      >>> R.dmp_discriminant(x**2*y + x*z + t)
      -4*y*t + z**2
  
      """
      if not u:
          return dup_discriminant(f, K)
  
      d, v = dmp_degree(f, u), u - 1
  
      if d <= 0:
          return dmp_zero(v)
      else:
          s = (-1) ** ((d * (d - 1)) // 2)
          c = dmp_LC(f, K)
  
          r = dmp_resultant(f, dmp_diff(f, 1, u, K), u, K)
          c = dmp_mul_ground(c, K(s), v, K)
  
          return dmp_quo(r, c, v, K)
  
imports: from sympy.polys.densearith import dup_sub_mul, dup_neg, dmp_neg, dmp_add, dmp_sub, dup_mul, dmp_mul, dmp_pow, dup_div, dmp_div, dup_rem, dup_quo, dmp_quo, dup_prem, dmp_prem, dup_mul_ground, dmp_mul_ground, dmp_mul_term, dup_quo_ground, dmp_quo_ground, dup_max_norm, dmp_max_norm
  from sympy.polys.densebasic import dup_strip, dmp_raise, dmp_zero, dmp_one, dmp_ground, dmp_one_p, dmp_zero_p, dmp_zeros, dup_degree, dmp_degree, dmp_degree_in, dup_LC, dmp_LC, dmp_ground_LC, dmp_multi_deflate, dmp_inflate, dup_convert, dmp_convert, dmp_apply_pairs
  from sympy.polys.densetools import dup_clear_denoms, dmp_clear_denoms, dup_diff, dmp_diff, dup_eval, dmp_eval, dmp_eval_in, dup_trunc, dmp_ground_trunc, dup_monic, dmp_ground_monic, dup_primitive, dmp_ground_primitive, dup_extract, dmp_ground_extract
  from sympy.polys.galoistools import gf_int, gf_crt
  from sympy.polys.polyconfig import query
  from sympy.polys.polyerrors import MultivariatePolynomialError, HeuristicGCDFailed, HomomorphismFailed, NotInvertible, DomainError
label_desc: Use image node_id 24 for calling a global function with example usage: dmp_discriminant(f, u, K) and returns: dup_discriminant, dmp_zero, dmp_quo