#ifndef NDEBUG

	    /*
	    cholmod_print_parent (Lparent, n, "Lparent, w/colcnt", Common) ;
	    cholmod_print_perm (Lperm, n, n, "Lperm, w/colcnt", Common) ;
	    cholmod_print_subset (Lcolcount, n, n, "Colcount, w/colcnt",Common);
	    */

	    if (symmetric < 0)
	    {
		/* symmetric lower case: S = tril (A (p,p))' and F = S' */
		/* workspace: Iwork (2*nrow) */
		C2 = cholmod_transpose (A, FALSE, Lperm, NULL, 0, Common) ;
		SS = C2 ;
		/* workspace: Iwork (nrow) */
		C1 = cholmod_transpose (C2, FALSE, NULL, NULL, 0, Common) ;
		FF = C1 ;
	    }
	    else
	    {
		/* symmetric upper case: F = triu (A (p,p))'  and S = F' */
		/* unsymmetric case:     F = A (p,f)'         and S = F' */
		/* workspace: symmetric: Iwork (2*nrow),
		 * unsym: Iwork (nrow if no fset, MAX(nrow,ncol) if fset)
		 */
		C1 = cholmod_transpose (A, FALSE, Lperm, fset, nf, Common) ;
		FF = C1 ;
		/* workspace: Iwork (nrow) */
		C2 = cholmod_transpose (C1, FALSE, NULL, NULL, 0, Common) ;
		SS = C2 ;
	    }

	    /* workspace: symmmetric: Iwork (nrow),
	     * unsymmetric: Iwork (nrow+ncol)*/
	    ColCount2 = cholmod_malloc (n, sizeof (int), Common) ;
	    Parent2 = cholmod_malloc (n, sizeof (int), Common) ;
	    Post2 = cholmod_malloc (n, sizeof (int), Common) ;

	    /*
	    cholmod_print_parent (Lparent, n, "Lparent, w/colcnt", Common) ;
	    printf (">>>>> finding etree of post-permuted matrix\n")  ;
	    */

	    cholmod_etree (symmetric ? SS:FF, Parent2, Common) ;

	    /*
	    cholmod_print_parent (Parent2, n, "Parent2, w/colcnt", Common) ;
	    for (k = 0 ; k < n ; k++)
	    {
		printf ("k %d Parent old %d new %d\n", k, Lparent [k],
			Parent2 [k]) ;
	    }
	    */

	    for (k = 0 ; k < n ; k++)
	    {
		ASSERT (Lparent [k] == Parent2 [k]) ;
	    }

	    /* workspace: Iwork (2*nrow) */
	    cholmod_postorder (Parent2, n, NULL, Post2, Common) ;

	    cholmod_rowcolcounts (symmetric ? FF:SS, fset, nf, Parent2,
		Post2, NULL, ColCount2, First, Level, Common) ;

	    for (k = 0 ; k < n ; k++)
	    {
		ASSERT (Lcolcount [k] == ColCount2 [k]) ;
	    }

	    cholmod_free (n, sizeof (int), ColCount2, Common) ;
	    cholmod_free (n, sizeof (int), Parent2, Common) ;
	    cholmod_free (n, sizeof (int), Post2, Common) ;

	    cholmod_free_sparse (&C1, Common) ;
	    cholmod_free_sparse (&C2, Common) ;
#endif