/******************************************************************************/
/*									      */
/*  CHECK FOR COMMON FACTORS						      */
/*  09/23/05 (dkc)							      */
/*									      */
/******************************************************************************/
extern unsigned int recip[];
void midprod(unsigned int a, unsigned int b, unsigned int *output);
void differ(unsigned int *a, unsigned int *b);
unsigned int comfact(unsigned int a, unsigned int b, unsigned int count) {
unsigned int i;
unsigned int T[2],U[2],X[2],flag,flag0,flag1;
flag=0;
for (i=0; i<count; i++) {
   flag0=0;
   midprod(recip[2*i], a, X);
   midprod(recip[2*i+1], X[0], X);
   T[0]=0;
   T[1]=X[1];
   U[0]=0;
   U[1]=a;
   differ(U, T);
   if ((T[0]==0)&&(T[1]==0))
      flag0=1;
   flag1=0;
   midprod(recip[2*i], b, X);
   midprod(recip[2*i+1], X[0], X);
   T[0]=0;
   T[1]=X[1];
   U[0]=0;
   U[1]=b;
   differ(U, T);
   if ((T[0]==0)&&(T[1]==0))
      flag1=1;
   if ((flag0==1)&&(flag1==1)) {
      flag=1;
      break;
      }
   }
return flag;
}