printf (" %f + %f %d/%d\n", left->time, left->child_time,
printf (" %f + %f %lu/%lu\n", left->time, left->child_time,
DEFUN (cmp_arc, (left, right), Arc * left AND Arc * right){  Sym *left_parent = left->parent;  Sym *left_child = left->child;  Sym *right_parent = right->parent;  Sym *right_child = right->child;  double left_time, right_time;  DBG (TIMEDEBUG,       printf ("[cmp_arc] ");       print_name (left_parent);       printf (" calls ");       print_name (left_child);       printf (" %f + %f %d/%d\n", left->time, left->child_time,	       left->count, left_child->ncalls);       printf ("[cmp_arc] ");       print_name (right_parent);       printf (" calls ");       print_name (right_child);       printf (" %f + %f %d/%d\n", right->time, right->child_time,	       right->count, right_child->ncalls);       printf ("\n");    );  if (left_parent == left_child)    {      return LESSTHAN;		/* left is a self call */    }  if (right_parent == right_child)    {      return GREATERTHAN;	/* right is a self call */    }  if (left_parent->cg.cyc.num != 0 && left_child->cg.cyc.num != 0      && left_parent->cg.cyc.num == left_child->cg.cyc.num)    {      /* left is a call within a cycle */      if (right_parent->cg.cyc.num != 0 && right_child->cg.cyc.num != 0	  && right_parent->cg.cyc.num == right_child->cg.cyc.num)	{	  /* right is a call within the cycle, too */	  if (left->count < right->count)	    {	      return LESSTHAN;	    }	  if (left->count > right->count)	    {	      return GREATERTHAN;	    }	  return EQUALTO;	}      else	{	  /* right isn't a call within the cycle */	  return LESSTHAN;	}    }  else    {      /* left isn't a call within a cycle */      if (right_parent->cg.cyc.num != 0 && right_child->cg.cyc.num != 0	  && right_parent->cg.cyc.num == right_child->cg.cyc.num)	{	  /* right is a call within a cycle */	  return GREATERTHAN;	}      else	{	  /* neither is a call within a cycle */	  left_time = left->time + left->child_time;	  right_time = right->time + right->child_time;	  if (left_time < right_time)	    {	      return LESSTHAN;	    }	  if (left_time > right_time)	    {	      return GREATERTHAN;	    }	  if (left->count < right->count)	    {	      return LESSTHAN;	    }	  if (left->count > right->count)	    {	      return GREATERTHAN;	    }	  return EQUALTO;	}    }}