t1= &(ctx->bn[ctx->tos++]);
BN_CTX_start(ctx); if ((t1 = BN_CTX_get(ctx)) == NULL) goto err;
static int probable_prime_dh(BIGNUM *rnd, int bits, BIGNUM *add, BIGNUM *rem,	     BN_CTX *ctx)	{	int i,ret=0;	BIGNUM *t1;	t1= &(ctx->bn[ctx->tos++]);	if (!BN_rand(rnd,bits,0,1)) goto err;	/* we need ((rnd-rem) % add) == 0 */	if (!BN_mod(t1,rnd,add,ctx)) goto err;	if (!BN_sub(rnd,rnd,t1)) goto err;	if (rem == NULL)		{ if (!BN_add_word(rnd,1)) goto err; }	else		{ if (!BN_add(rnd,rnd,rem)) goto err; }	/* we now have a random number 'rand' to test. */	loop: for (i=1; i<NUMPRIMES; i++)		{		/* check that rnd is a prime */		if (BN_mod_word(rnd,(BN_ULONG)primes[i]) <= 1)			{			if (!BN_add(rnd,rnd,add)) goto err;			goto loop;			}		}	ret=1;err:	ctx->tos--;	return(ret);	}