Ah, sorry, I phrased the question incorrectly...<br>
<br>
What I meant to ask was...<br>
<br>
Does anyone have any information regarding mpz_probab_prime_p()
returning 1 (probably prime) when the supplied number is in fact
composite?<br>
<br>
[very quick 'n' dirty pseudocode]<br>
<br>
for ( number = 1 to 1,000,000,000,000 )<br>
&nbsp;&nbsp;&nbsp; for ( iterations = 1 to 1,000 )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (mpz_probab_prime_p( number, iterations ) = 1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(number is composite) /* how this is done is left as an excersize! */<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
print &quot;Found One!!! - number is composite, but mpz_probab_prime_p()
reports as being probably prime&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if<br>
&nbsp;&nbsp;&nbsp; next<br>
next<br>
<br>
[end very bad code!]<br>
<br>
The reason being that armed with this knowledge, I could perform better primality tests:<br>
<br>
[pseudo code]<br>
<br>
if (number &lt; 1,234,567,890)<br>
&nbsp;&nbsp;&nbsp; if (mpz_probab_prime_p(number, 5))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;prime&quot;<br>
&nbsp;&nbsp;&nbsp; end if<br>
else if (number &lt; 1,234,567,890,123)<br>
&nbsp;&nbsp;&nbsp; if (mpz_probab_prime_p(number, 25)) /* notice
increase in iterations to compensate for failure at 1,234,567,890 */<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;prime&quot;<br>

&nbsp;&nbsp;&nbsp; end if<br>
end if<br>
<br>
etc<br>
<br>
[/code]<br>
<br>