   # LL-test 2
   use Math::BigInt;

   for $P (127,257,1279) {

      $MP = Math::BigInt->new(2);
      $MP = ($MP ** $P) - 1;
      $U = Math::BigInt->new(4);

      for ($i = Math::BigInt->new(1); $i->bcmp($P - 1); $i = $i + 1)
      {
         $U = ($U * $U - 2) % $MP;
         print "\r$i\t($P)\t";
      }

      $not = $U == 0 ? '' : ' not';
      print "M$P is$not prime\n";
   }
