bn_check_top(rnd);
static int probable_prime(BIGNUM *rnd, int bits)	{	int i;	BN_ULONG mods[NUMPRIMES];	BN_ULONG delta,d;again:	if (!BN_rand(rnd,bits,1,1)) return(0);	/* we now have a random number 'rand' to test. */	for (i=1; i<NUMPRIMES; i++)		mods[i]=BN_mod_word(rnd,(BN_ULONG)primes[i]);	delta=0;	loop: for (i=1; i<NUMPRIMES; i++)		{		/* check that rnd is not a prime and also		 * that gcd(rnd-1,primes) == 1 (except for 2) */		if (((mods[i]+delta)%primes[i]) <= 1)			{			d=delta;			delta+=2;			/* perhaps need to check for overflow of			 * delta (but delta can be up to 2^32)			 * 21-May-98 eay - added overflow check */			if (delta < d) goto again;			goto loop;			}		}	if (!BN_add_word(rnd,delta)) return(0);	return(1);	}