code: def _dm_rref_den_FF_dense(M):
      """Compute RREF using sparse fraction-free Gauss-Jordan elimination."""
      ddm = M.rep.to_ddm().copy()
      den, pivots = ddm_irref_den(ddm, M.domain)
      M_rref_ddm = DDM(ddm, M.shape, M.domain)
      pivots = tuple(pivots)
      return M.from_rep(M_rref_ddm.to_dfm_or_ddm()), den, pivots
  
file_path: sympy/sympy/polys/matrices/rref.py
imports: from sympy.polys.domains import ZZ
  from sympy.polys.matrices.sdm import SDM, sdm_irref, sdm_rref_den
  from sympy.polys.matrices.ddm import DDM
  from sympy.polys.matrices.dense import ddm_irref, ddm_irref_den
label_desc: Use image node_id 9 for calling a global function with example usage: _dm_rref_den_FF_dense(M) and returns: M,  den,  pivots