Index: kernel/longrat.cc
===================================================================
--- kernel/longrat.cc	(revision 603aebf126f77cf0b8c041b0833934960300078a)
+++ kernel/longrat.cc	(revision a604c3a46abd7b2318d7828804705a9ca0a249bf)
@@ -123,15 +123,15 @@
   z->debug=123456;
 #endif
-  mpz_init_set(&z->z,(MP_INT*) from);
+  mpz_init_set(z->z,(mpz_ptr) from);
   //mpz_init_set_ui(&z->n,1);
   z->s = 3;
-  if ((mpz_cmp_ui(&z->z,(long)0)==0)
-  || (mpz_size1(&z->z)<=MP_SMALL))
-  {
-    int ui=(int)mpz_get_si(&z->z);
+  if ((mpz_cmp_ui(z->z,(long)0)==0)
+  || (mpz_size1(z->z)<=MP_SMALL))
+  {
+    int ui=(int)mpz_get_si(z->z);
     if ((((ui<<3)>>3)==ui)
-    && (mpz_cmp_si(&z->z,(long)ui)==0))
-    {
-      mpz_clear(&z->z);
+    && (mpz_cmp_si(z->z,(long)ui)==0))
+    {
+      mpz_clear(z->z);
       omFreeBin((ADDRESS)z, rnumber_bin);
       return INT_TO_SR(ui);
@@ -150,14 +150,14 @@
   z->debug=123456;
 #endif
-  mpz_init_set_ui(&z->z,(unsigned long) from);
+  mpz_init_set_ui(z->z,(unsigned long) from);
   z->s = 3;
-  if ((mpz_cmp_ui(&z->z,(long)0)==0)
-  || (mpz_size1(&z->z)<=MP_SMALL))
-  {
-    int ui=(int)mpz_get_si(&z->z);
+  if ((mpz_cmp_ui(z->z,(long)0)==0)
+  || (mpz_size1(z->z)<=MP_SMALL))
+  {
+    int ui=(int)mpz_get_si(z->z);
     if ((((ui<<3)>>3)==ui)
-    && (mpz_cmp_si(&z->z,(long)ui)==0))
-    {
-      mpz_clear(&z->z);
+    && (mpz_cmp_si(z->z,(long)ui)==0))
+    {
+      mpz_clear(z->z);
       omFreeBin((ADDRESS)z, rnumber_bin);
       return INT_TO_SR(ui);
@@ -235,23 +235,23 @@
     return FALSE;
   }
-  omCheckAddrSize(a->z._mp_d,a->z._mp_alloc*BYTES_PER_MP_LIMB);
-  if (a->z._mp_alloc==0)
+  omCheckAddrSize(a->z[0]._mp_d,a->z[0]._mp_alloc*BYTES_PER_MP_LIMB);
+  if (a->z[0]._mp_alloc==0)
     Print("!!longrat:z->alloc=0 in %s:%d\n",f,l);
 
   if (a->s<2)
   {
-    omCheckIf(omCheckAddrSize(a->n._mp_d,a->n._mp_alloc*BYTES_PER_MP_LIMB), return FALSE);
-    if (a->z._mp_alloc==0)
+    omCheckIf(omCheckAddrSize(a->n[0]._mp_d,a->n[0]._mp_alloc*BYTES_PER_MP_LIMB), return FALSE);
+    if (a->z[0]._mp_alloc==0)
       Print("!!longrat:n->alloc=0 in %s:%d\n",f,l);
-    if ((mpz_size1(&a->n) ==1) && (mpz_cmp_si(&a->n,(long)1)==0))
+    if ((mpz_size1(a->n) ==1) && (mpz_cmp_si(a->n,(long)1)==0))
     {
       Print("!!longrat:integer as rational in %s:%d\n",f,l);
       return FALSE;
     }
-    else if (mpz_isNeg(&a->n))
+    else if (mpz_isNeg(a->n))
     {
       Print("!!longrat:div. by negative in %s:%d\n",f,l);
-      mpz_neg(&a->z,&a->z);
-      mpz_neg(&a->n,&a->n);
+      mpz_neg(a->z,a->z);
+      mpz_neg(a->n,a->n);
       return FALSE;
     }
@@ -263,8 +263,8 @@
     return FALSE;
   }
-  if (mpz_size1(&a->z)>MP_SMALL) return TRUE;
-  int ui=(int)mpz_get_si(&a->z);
+  if (mpz_size1(a->z)>MP_SMALL) return TRUE;
+  int ui=(int)mpz_get_si(a->z);
   if ((((ui<<3)>>3)==ui)
-  && (mpz_cmp_si(&a->z,(long)ui)==0))
+  && (mpz_cmp_si(a->z,(long)ui)==0))
   {
     Print("!!longrat:im int %d in %s:%d\n",ui,f,l);
@@ -298,5 +298,5 @@
   }
   number r=nlRInit(1);
-  mpz_set_d(&(r->z),f);
+  mpz_set_d(r->z,f);
   memcpy4(&(r->n),&h1,sizeof(h1));
   r->s=0; /* not normalized */
@@ -311,5 +311,5 @@
   mpf_t *f=ff->_mpfp();
   number res;
-  lint *dest,*ndest;
+  mpz_ptr dest,ndest;
   int size, i,negative;
   int e,al,bl;
@@ -339,5 +339,5 @@
   res->debug=123456;
 #endif
-  dest = &(res->z);
+  dest = res->z;
 
   if (e<0)
@@ -351,5 +351,5 @@
     nn[bl-1] = 1;
     for (i=bl-2;i>=0;i--) nn[i] = 0;
-    ndest = &(res->n);
+    ndest = res->n;
     ndest->_mp_d = nn;
     ndest->_mp_alloc = ndest->_mp_size = bl;
@@ -372,12 +372,12 @@
   if (res->s==0)
     nlNormalize(res);
-  else if (mpz_size1(&res->z)<=MP_SMALL)
+  else if (mpz_size1(res->z)<=MP_SMALL)
   {
     // res is new, res->ref is 1
-    int ui=(int)mpz_get_si(&res->z);
+    int ui=(int)mpz_get_si(res->z);
     if ((((ui<<3)>>3)==ui)
-       && (mpz_cmp_si(&res->z,(long)ui)==0))
-    {
-       mpz_clear(&res->z);
+       && (mpz_cmp_si(res->z,(long)ui)==0))
+    {
+       mpz_clear(res->z);
 #if defined(LDEBUG)
        res->debug=654324;
@@ -464,5 +464,5 @@
   if (SR_HDL(a) & SR_INT)
      return 1; /* immidiate int */
-  int s=a->z._mp_alloc;
+  int s=a->z[0]._mp_alloc;
 //  while ((s>0) &&(a->z._mp_d[s]==0L)) s--; 
 //#if SIZEOF_LONG == 8
@@ -473,5 +473,5 @@
   if (a->s<2)
   {
-    int d=a->n._mp_alloc;
+    int d=a->n[0]._mp_alloc;
 //    while ((d>0) && (a->n._mp_d[d]==0L)) d--; 
 //#if SIZEOF_LONG == 8
@@ -496,20 +496,20 @@
   if (i->s==3)
   {
-    if(mpz_size1(&i->z)>MP_SMALL) return 0;
-    int ul=(int)mpz_get_si(&i->z);
-    if (mpz_cmp_si(&i->z,(long)ul)!=0) return 0;
+    if(mpz_size1(i->z)>MP_SMALL) return 0;
+    int ul=(int)mpz_get_si(i->z);
+    if (mpz_cmp_si(i->z,(long)ul)!=0) return 0;
     return ul;
   }
-  lint tmp;
+  mpz_t tmp;
   int ul;
-  mpz_init(&tmp);
-  MPZ_DIV(&tmp,&i->z,&i->n);
-  if(mpz_size1(&tmp)>MP_SMALL) ul=0;
+  mpz_init(tmp);
+  MPZ_DIV(tmp,i->z,i->n);
+  if(mpz_size1(tmp)>MP_SMALL) ul=0;
   else
   {
-    ul=(int)mpz_get_si(&tmp);
-    if (mpz_cmp_si(&tmp,(long)ul)!=0) ul=0;
-  }
-  mpz_clear(&tmp);
+    ul=(int)mpz_get_si(tmp);
+    if (mpz_cmp_si(tmp,(long)ul)!=0) ul=0;
+  }
+  mpz_clear(tmp);
   return ul;
 }
@@ -530,5 +530,5 @@
   }
   number tmp=nlRInit(1);
-  MPZ_DIV(&tmp->z,&i->z,&i->n);
+  MPZ_DIV(tmp->z,i->z,i->n);
   nlNormalize(tmp);
   return tmp;
@@ -562,11 +562,11 @@
     if ((long)a>0L)
     {
-      mpz_init_set_si(&n->z,(long)1);
-      mpz_init_set_si(&n->n,(long)SR_TO_INT(a));
+      mpz_init_set_si(n->z,(long)1);
+      mpz_init_set_si(n->n,(long)SR_TO_INT(a));
     }
     else
     {
-      mpz_init_set_si(&n->z,(long)-1);
-      mpz_init_set_si(&n->n,(long)-SR_TO_INT(a));
+      mpz_init_set_si(n->z,(long)-1);
+      mpz_init_set_si(n->n,(long)-SR_TO_INT(a));
     }
 #ifdef LDEBUG
@@ -581,26 +581,26 @@
   {
     n->s=a->s;
-    mpz_init_set(&n->n,&a->z);
+    mpz_init_set(n->n,a->z);
     switch (a->s)
     {
       case 0:
       case 1:
-              mpz_init_set(&n->z,&a->n);
-              if (mpz_isNeg(&n->n)) /* && n->s<2*/
+              mpz_init_set(n->z,a->n);
+              if (mpz_isNeg(n->n)) /* && n->s<2*/
               {
-                mpz_neg(&n->z,&n->z);
-                mpz_neg(&n->n,&n->n);
+                mpz_neg(n->z,n->z);
+                mpz_neg(n->n,n->n);
               }
-              if (mpz_cmp_si(&n->n,(long)1)==0)
+              if (mpz_cmp_si(n->n,(long)1)==0)
               {
-                mpz_clear(&n->n);
+                mpz_clear(n->n);
                 n->s=3;
-                if (mpz_size1(&n->z)<=MP_SMALL)
+                if (mpz_size1(n->z)<=MP_SMALL)
                 {
-                  int ui=(int)mpz_get_si(&n->z);
+                  int ui=(int)mpz_get_si(n->z);
                   if ((((ui<<3)>>3)==ui)
-                  && (mpz_cmp_si(&n->z,(long)ui)==0))
+                  && (mpz_cmp_si(n->z,(long)ui)==0))
                   {
-                    mpz_clear(&n->z);
+                    mpz_clear(n->z);
 #if defined(LDEBUG)
                     n->debug=654324;
@@ -614,12 +614,12 @@
       case 3:
               n->s=1;
-              if (mpz_isNeg(&n->n)) /* && n->s<2*/
+              if (mpz_isNeg(n->n)) /* && n->s<2*/
               {
-                mpz_neg(&n->n,&n->n);
-                mpz_init_set_si(&n->z,(long)-1);
+                mpz_neg(n->n,n->n);
+                mpz_init_set_si(n->z,(long)-1);
               }
               else
               {
-                mpz_init_set_si(&n->z,(long)1);
+                mpz_init_set_si(n->z,(long)1);
               }
               break;
@@ -667,11 +667,11 @@
   u->debug=123456;
 #endif
-  mpz_init(&u->z);
+  mpz_init(u->z);
   /* u=a/b */
   u->s = 3;
-  MPZ_EXACTDIV(&u->z,&a->z,&b->z);
+  MPZ_EXACTDIV(u->z,a->z,b->z);
   if (bb!=NULL)
   {
-    mpz_clear(&bb->z);
+    mpz_clear(bb->z);
 #if defined(LDEBUG)
     bb->debug=654324;
@@ -679,11 +679,11 @@
     omFreeBin((ADDRESS)bb, rnumber_bin);
   }
-  if (mpz_size1(&u->z)<=MP_SMALL)
-  {
-    int ui=(int)mpz_get_si(&u->z);
+  if (mpz_size1(u->z)<=MP_SMALL)
+  {
+    int ui=(int)mpz_get_si(u->z);
     if ((((ui<<3)>>3)==ui)
-    && (mpz_cmp_si(&u->z,(long)ui)==0))
-    {
-      mpz_clear(&u->z);
+    && (mpz_cmp_si(u->z,(long)ui)==0))
+    {
+      mpz_clear(u->z);
 #if defined(LDEBUG)
       u->debug=654324;
@@ -728,5 +728,5 @@
     if (a==INT_TO_SR(-(1<<28)))
     {
-      if(mpz_cmp_si(&b->z,(long)(1<<28))==0)
+      if(mpz_cmp_si(b->z,(long)(1<<28))==0)
       {
         return INT_TO_SR(-1);
@@ -748,11 +748,11 @@
   assume(a->s==3);
   assume(b->s==3);
-  mpz_init_set(&u->z,&a->z);
+  mpz_init_set(u->z,a->z);
   /* u=u/b */
   u->s = 3;
-  MPZ_DIV(&u->z,&u->z,&b->z);
+  MPZ_DIV(u->z,u->z,b->z);
   if (bb!=NULL)
   {
-    mpz_clear(&bb->z);
+    mpz_clear(bb->z);
 #if defined(LDEBUG)
     bb->debug=654324;
@@ -760,11 +760,11 @@
     omFreeBin((ADDRESS)bb, rnumber_bin);
   }
-  if (mpz_size1(&u->z)<=MP_SMALL)
-  {
-    int ui=(int)mpz_get_si(&u->z);
+  if (mpz_size1(u->z)<=MP_SMALL)
+  {
+    int ui=(int)mpz_get_si(u->z);
     if ((((ui<<3)>>3)==ui)
-    && (mpz_cmp_si(&u->z,(long)ui)==0))
-    {
-      mpz_clear(&u->z);
+    && (mpz_cmp_si(u->z,(long)ui)==0))
+    {
+      mpz_clear(u->z);
 #if defined(LDEBUG)
       u->debug=654324;
@@ -823,5 +823,5 @@
     if ((long)a<0L)
     {
-      if (mpz_isNeg(&b->z))
+      if (mpz_isNeg(b->z))
         return nlSub(a,b);
       /*else*/
@@ -841,10 +841,10 @@
   u->debug=123456;
 #endif
-  mpz_init(&u->z);
+  mpz_init(u->z);
   u->s = 3;
-  mpz_mod(&u->z,&a->z,&b->z);
+  mpz_mod(u->z,a->z,b->z);
   if (bb!=NULL)
   {
-    mpz_clear(&bb->z);
+    mpz_clear(bb->z);
 #if defined(LDEBUG)
     bb->debug=654324;
@@ -852,18 +852,18 @@
     omFreeBin((ADDRESS)bb, rnumber_bin);
   }
-  if (mpz_isNeg(&u->z))
-  {
-    if (mpz_isNeg(&b->z))
-      mpz_sub(&u->z,&u->z,&b->z);
+  if (mpz_isNeg(u->z))
+  {
+    if (mpz_isNeg(b->z))
+      mpz_sub(u->z,u->z,b->z);
     else
-      mpz_add(&u->z,&u->z,&b->z);
-  }
-  if (mpz_size1(&u->z)<=MP_SMALL)
-  {
-    int ui=(int)mpz_get_si(&u->z);
+      mpz_add(u->z,u->z,b->z);
+  }
+  if (mpz_size1(u->z)<=MP_SMALL)
+  {
+    int ui=(int)mpz_get_si(u->z);
     if ((((ui<<3)>>3)==ui)
-    && (mpz_cmp_si(&u->z,(long)ui)==0))
-    {
-      mpz_clear(&u->z);
+    && (mpz_cmp_si(u->z,(long)ui)==0))
+    {
+      mpz_clear(u->z);
 #if defined(LDEBUG)
       u->debug=654324;
@@ -906,10 +906,10 @@
       return INT_TO_SR(i/j);
     }
-    mpz_init_set_si(&u->z,(long)i);
-    mpz_init_set_si(&u->n,(long)j);
+    mpz_init_set_si(u->z,(long)i);
+    mpz_init_set_si(u->n,(long)j);
   }
   else
   {
-    mpz_init(&u->z);
+    mpz_init(u->z);
 // ---------- short / long ------------------------------------
     if (SR_HDL(a) & SR_INT)
@@ -918,33 +918,33 @@
       if (b->s<2)
       {
-        mpz_mul_si(&u->z,&b->n,SR_TO_INT(a));
+        mpz_mul_si(u->z,b->n,SR_TO_INT(a));
       }
       else
       // short a / long z -> a/z
       {
-        mpz_set_si(&u->z,SR_TO_INT(a));
-      }
-      if (mpz_cmp(&u->z,&b->z)==0)
-      {
-        mpz_clear(&u->z);
+        mpz_set_si(u->z,SR_TO_INT(a));
+      }
+      if (mpz_cmp(u->z,b->z)==0)
+      {
+        mpz_clear(u->z);
         omFreeBin((ADDRESS)u, rnumber_bin);
         return INT_TO_SR(1);
       }
-      mpz_init_set(&u->n,&b->z);
+      mpz_init_set(u->n,b->z);
     }
 // ---------- long / short ------------------------------------
     else if (SR_HDL(b) & SR_INT)
     {
-      mpz_set(&u->z,&a->z);
+      mpz_set(u->z,a->z);
       // (z/n) / b -> z/(n*b)
       if (a->s<2)
       {
-        mpz_init_set(&u->n,&a->n);
+        mpz_init_set(u->n,a->n);
         if ((long)b>0L)
-          mpz_mul_ui(&u->n,&u->n,SR_TO_INT(b));
+          mpz_mul_ui(u->n,u->n,SR_TO_INT(b));
         else
         {
-          mpz_mul_ui(&u->n,&u->n,-SR_TO_INT(b));
-          mpz_neg(&u->z,&u->z);
+          mpz_mul_ui(u->n,u->n,-SR_TO_INT(b));
+          mpz_neg(u->z,u->z);
         }
       }
@@ -952,6 +952,6 @@
       // long z / short b -> z/b
       {
-        //mpz_set(&u->z,&a->z);
-        mpz_init_set_si(&u->n,SR_TO_INT(b));
+        //mpz_set(u->z,a->z);
+        mpz_init_set_si(u->n,SR_TO_INT(b));
       }
     }
@@ -959,25 +959,25 @@
     else
     {
-      mpz_set(&u->z,&a->z);
-      mpz_init_set(&u->n,&b->z);
-      if (a->s<2) mpz_mul(&u->n,&u->n,&a->n);
-      if (b->s<2) mpz_mul(&u->z,&u->z,&b->n);
-    }
-  }
-  if (mpz_isNeg(&u->n))
-  {
-    mpz_neg(&u->z,&u->z);
-    mpz_neg(&u->n,&u->n);
-  }
-  if (mpz_cmp_si(&u->n,(long)1)==0)
-  {
-    mpz_clear(&u->n);
-    if (mpz_size1(&u->z)<=MP_SMALL)
-    {
-      int ui=(int)mpz_get_si(&u->z);
+      mpz_set(u->z,a->z);
+      mpz_init_set(u->n,b->z);
+      if (a->s<2) mpz_mul(u->n,u->n,a->n);
+      if (b->s<2) mpz_mul(u->z,u->z,b->n);
+    }
+  }
+  if (mpz_isNeg(u->n))
+  {
+    mpz_neg(u->z,u->z);
+    mpz_neg(u->n,u->n);
+  }
+  if (mpz_cmp_si(u->n,(long)1)==0)
+  {
+    mpz_clear(u->n);
+    if (mpz_size1(u->z)<=MP_SMALL)
+    {
+      int ui=(int)mpz_get_si(u->z);
       if ((((ui<<3)>>3)==ui)
-      && (mpz_cmp_si(&u->z,(long)ui)==0))
-      {
-        mpz_clear(&u->z);
+      && (mpz_cmp_si(u->z,(long)ui)==0))
+      {
+        mpz_clear(u->z);
         omFreeBin((ADDRESS)u, rnumber_bin);
         return INT_TO_SR(ui);
@@ -1015,27 +1015,27 @@
     (*u)->debug=123456;
 #endif
-    mpz_init(&(*u)->z);
-    mpz_pow_ui(&(*u)->z,&x->z,(unsigned long)exp);
+    mpz_init((*u)->z);
+    mpz_pow_ui((*u)->z,x->z,(unsigned long)exp);
     if (x->s<2)
     {
-      if (mpz_cmp_si(&x->n,(long)1)==0)
+      if (mpz_cmp_si(x->n,(long)1)==0)
       {
         x->s=3;
-        mpz_clear(&x->n);
+        mpz_clear(x->n);
       }
       else
       {
-        mpz_init(&(*u)->n);
-        mpz_pow_ui(&(*u)->n,&x->n,(unsigned long)exp);
+        mpz_init((*u)->n);
+        mpz_pow_ui((*u)->n,x->n,(unsigned long)exp);
       }
     }
     (*u)->s = x->s;
-    if (((*u)->s==3) && (mpz_size1(&(*u)->z)<=MP_SMALL))
-    {
-      int ui=(int)mpz_get_si(&(*u)->z);
+    if (((*u)->s==3) && (mpz_size1((*u)->z)<=MP_SMALL))
+    {
+      int ui=(int)mpz_get_si((*u)->z);
       if ((((ui<<3)>>3)==ui)
-      && (mpz_cmp_si(&(*u)->z,(long)ui)==0))
-      {
-        mpz_clear(&(*u)->z);
+      && (mpz_cmp_si((*u)->z,(long)ui)==0))
+      {
+        mpz_clear((*u)->z);
         omFreeBin((ADDRESS)*u, rnumber_bin);
         *u=INT_TO_SR(ui);
@@ -1044,5 +1044,5 @@
     if (aa!=NULL)
     {
-      mpz_clear(&aa->z);
+      mpz_clear(aa->z);
       omFreeBin((ADDRESS)aa, rnumber_bin);
     }
@@ -1066,5 +1066,5 @@
 #endif
   if (SR_HDL(a) & SR_INT) return SR_HDL(a)>1 /* represents number(0) */;
-  return (!mpz_isNeg(&a->z));
+  return (!mpz_isNeg(a->z));
 }
 
@@ -1140,5 +1140,5 @@
   if (SR_HDL(a) & SR_INT)
   {
-    unsigned long t=mpz_gcd_ui(NULL,&b->z,ABS(SR_TO_INT(a)));
+    unsigned long t=mpz_gcd_ui(NULL,b->z,ABS(SR_TO_INT(a)));
     return INT_TO_SR((int)t);
   }
@@ -1146,5 +1146,5 @@
   if (SR_HDL(b) & SR_INT)
   {
-    unsigned long t=mpz_gcd_ui(NULL,&a->z,ABS(SR_TO_INT(b)));
+    unsigned long t=mpz_gcd_ui(NULL,a->z,ABS(SR_TO_INT(b)));
     return INT_TO_SR((int)t);
   }
@@ -1152,13 +1152,13 @@
   {
     result=(number)omAllocBin(rnumber_bin);
-    mpz_init(&result->z);
-    mpz_gcd(&result->z,&a->z,&b->z);
-    if (mpz_size1(&result->z)<=MP_SMALL)
-    {
-      int ui=(int)mpz_get_si(&result->z);
+    mpz_init(result->z);
+    mpz_gcd(result->z,a->z,b->z);
+    if (mpz_size1(result->z)<=MP_SMALL)
+    {
+      int ui=(int)mpz_get_si(result->z);
       if ((((ui<<3)>>3)==ui)
-      && (mpz_cmp_si(&result->z,(long)ui)==0))
-      {
-        mpz_clear(&result->z);
+      && (mpz_cmp_si(result->z,(long)ui)==0))
+      {
+        mpz_clear(result->z);
         omFreeBin((ADDRESS)result, rnumber_bin);
         return INT_TO_SR(ui);
@@ -1177,5 +1177,5 @@
 {
   assume(x->s<2);
-  if (mpz_cmp_ui(&x->z,(long)0)==0)
+  if (mpz_cmp_ui(x->z,(long)0)==0)
   {
     _nlDelete_NoImm(&x);
@@ -1184,5 +1184,5 @@
   if (x->s<2)
   {
-    if (mpz_cmp(&x->z,&x->n)==0)
+    if (mpz_cmp(x->z,x->n)==0)
     {
       _nlDelete_NoImm(&x);
@@ -1195,12 +1195,12 @@
 {
   assume(x->s==3);
-  if ((mpz_cmp_ui(&x->z,(long)0)==0)
-  || (mpz_size1(&x->z)<=MP_SMALL))
-  {
-    int ui=(int)mpz_get_si(&x->z);
+  if ((mpz_cmp_ui(x->z,(long)0)==0)
+  || (mpz_size1(x->z)<=MP_SMALL))
+  {
+    int ui=(int)mpz_get_si(x->z);
     if ((((ui<<3)>>3)==ui)
-    && (mpz_cmp_si(&x->z,(long)ui)==0))
-    {
-      mpz_clear(&x->z);
+    && (mpz_cmp_si(x->z,(long)ui)==0))
+    {
+      mpz_clear(x->z);
       omFreeBin((ADDRESS)x, rnumber_bin);
       return INT_TO_SR(ui);
@@ -1226,14 +1226,14 @@
   else if (x->s==0)
   {
-    if (mpz_cmp_si(&x->n,(long)1)==0)
-    {
-      mpz_clear(&x->n);
-      if (mpz_size1(&x->z)<=MP_SMALL)
-      {
-        int ui=(int)mpz_get_si(&x->z);
+    if (mpz_cmp_si(x->n,(long)1)==0)
+    {
+      mpz_clear(x->n);
+      if (mpz_size1(x->z)<=MP_SMALL)
+      {
+        int ui=(int)mpz_get_si(x->z);
         if ((((ui<<3)>>3)==ui)
-        && (mpz_cmp_si(&x->z,(long)ui)==0))
-        {
-          mpz_clear(&x->z);
+        && (mpz_cmp_si(x->z,(long)ui)==0))
+        {
+          mpz_clear(x->z);
 #if defined(LDEBUG)
           x->debug=654324;
@@ -1248,28 +1248,28 @@
     else
     {
-      MP_INT gcd;
-      mpz_init(&gcd);
-      mpz_gcd(&gcd,&x->z,&x->n);
+      mpz_t gcd;
+      mpz_init(gcd);
+      mpz_gcd(gcd,x->z,x->n);
       x->s=1;
-      if (mpz_cmp_si(&gcd,(long)1)!=0)
-      {
-        MP_INT r;
-        mpz_init(&r);
-        MPZ_EXACTDIV(&r,&x->z,&gcd);
-        mpz_set(&x->z,&r);
-        MPZ_EXACTDIV(&r,&x->n,&gcd);
-        mpz_set(&x->n,&r);
-        mpz_clear(&r);
-        if (mpz_cmp_si(&x->n,(long)1)==0)
-        {
-          mpz_clear(&x->n);
-          if (mpz_size1(&x->z)<=MP_SMALL)
+      if (mpz_cmp_si(gcd,(long)1)!=0)
+      {
+        mpz_t r;
+        mpz_init(r);
+        MPZ_EXACTDIV(r,x->z,gcd);
+        mpz_set(x->z,r);
+        MPZ_EXACTDIV(r,x->n,gcd);
+        mpz_set(x->n,r);
+        mpz_clear(r);
+        if (mpz_cmp_si(x->n,(long)1)==0)
+        {
+          mpz_clear(x->n);
+          if (mpz_size1(x->z)<=MP_SMALL)
           {
-            int ui=(int)mpz_get_si(&x->z);
+            int ui=(int)mpz_get_si(x->z);
             if ((((ui<<3)>>3)==ui)
-            && (mpz_cmp_si(&x->z,(long)ui)==0))
+            && (mpz_cmp_si(x->z,(long)ui)==0))
             {
-              mpz_clear(&x->z);
-              mpz_clear(&gcd);
+              mpz_clear(x->z);
+              mpz_clear(gcd);
 #if defined(LDEBUG)
               x->debug=654324;
@@ -1283,5 +1283,5 @@
         }
       }
-      mpz_clear(&gcd);
+      mpz_clear(gcd);
     }
   }
@@ -1312,35 +1312,35 @@
 #endif
   result->s=3;
-  MP_INT gcd;
-  mpz_init(&gcd);
-  mpz_init(&result->z);
+  mpz_t gcd;
+  mpz_init(gcd);
+  mpz_init(result->z);
   if (SR_HDL(a) & SR_INT)
-    mpz_gcd_ui(&gcd,&b->n,ABS(SR_TO_INT(a)));
+    mpz_gcd_ui(gcd,b->n,ABS(SR_TO_INT(a)));
   else
-    mpz_gcd(&gcd,&a->z,&b->n);
-  if (mpz_cmp_si(&gcd,(long)1)!=0)
-  {
-    MP_INT bt;
-    mpz_init_set(&bt,&b->n);
-    MPZ_EXACTDIV(&bt,&bt,&gcd);
+    mpz_gcd(gcd,a->z,b->n);
+  if (mpz_cmp_si(gcd,(long)1)!=0)
+  {
+    mpz_t bt;
+    mpz_init_set(bt,b->n);
+    MPZ_EXACTDIV(bt,bt,gcd);
     if (SR_HDL(a) & SR_INT)
-      mpz_mul_si(&result->z,&bt,SR_TO_INT(a));
+      mpz_mul_si(result->z,bt,SR_TO_INT(a));
     else
-      mpz_mul(&result->z,&bt,&a->z);
-    mpz_clear(&bt);
+      mpz_mul(result->z,bt,a->z);
+    mpz_clear(bt);
   }
   else
     if (SR_HDL(a) & SR_INT)
-      mpz_mul_si(&result->z,&b->n,SR_TO_INT(a));
+      mpz_mul_si(result->z,b->n,SR_TO_INT(a));
     else
-      mpz_mul(&result->z,&b->n,&a->z);
-  mpz_clear(&gcd);
-  if (mpz_size1(&result->z)<=MP_SMALL)
-  {
-    int ui=(int)mpz_get_si(&result->z);
+      mpz_mul(result->z,b->n,a->z);
+  mpz_clear(gcd);
+  if (mpz_size1(result->z)<=MP_SMALL)
+  {
+    int ui=(int)mpz_get_si(result->z);
     if ((((ui<<3)>>3)==ui)
-    && (mpz_cmp_si(&result->z,(long)ui)==0))
-    {
-      mpz_clear(&result->z);
+    && (mpz_cmp_si(result->z,(long)ui)==0))
+    {
+      mpz_clear(result->z);
       omFreeBin((ADDRESS)result, rnumber_bin);
       return INT_TO_SR(ui);
@@ -1361,8 +1361,8 @@
     return i%p;
   }
-  int iz=(int)mpz_fdiv_ui(&n->z,(unsigned long)p);
+  int iz=(int)mpz_fdiv_ui(n->z,(unsigned long)p);
   if (n->s!=3)
   {
-    int in=mpz_fdiv_ui(&n->n,(unsigned long)p);
+    int in=mpz_fdiv_ui(n->n,(unsigned long)p);
     #ifdef NV_OPS
     if (npPrimeM>NV_MAX_PRIME)
@@ -1387,5 +1387,5 @@
   if (SR_HDL(i) & SR_INT)
   {
-    mpz_set_si((MP_INT*) n, (long) SR_TO_INT(i));
+    mpz_set_si((mpz_ptr) n, (long) SR_TO_INT(i));
     return;
   }
@@ -1394,5 +1394,5 @@
      WarnS("Omitted denominator during coefficient mapping !");
   }
-  mpz_set((MP_INT*) n, &i->z);
+  mpz_set((mpz_ptr) n, i->z);
 }
 #endif
@@ -1418,11 +1418,11 @@
         u->debug=123456;
 #endif
-        mpz_init_set(&u->z,&n->n);
-        {
-          int ui=(int)mpz_get_si(&u->z);
+        mpz_init_set(u->z,n->n);
+        {
+          int ui=(int)mpz_get_si(u->z);
           if ((((ui<<3)>>3)==ui)
-          && (mpz_cmp_si(&u->z,(long)ui)==0))
+          && (mpz_cmp_si(u->z,(long)ui)==0))
           {
-            mpz_clear(&u->z);
+            mpz_clear(u->z);
             omFreeBin((ADDRESS)u, rnumber_bin);
             return INT_TO_SR(ui);
@@ -1454,12 +1454,12 @@
 #endif
       u->s=3;
-      mpz_init_set(&u->z,&n->z);
+      mpz_init_set(u->z,n->z);
       if (n->s!=3)
       {
-        int ui=(int)mpz_get_si(&u->z);
+        int ui=(int)mpz_get_si(u->z);
         if ((((ui<<3)>>3)==ui)
-        && (mpz_cmp_si(&u->z,(long)ui)==0))
-        {
-          mpz_clear(&u->z);
+        && (mpz_cmp_si(u->z,(long)ui)==0))
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(ui);
@@ -1492,13 +1492,13 @@
     if (b->s!=0)
       return FALSE;
-    if (((long)a > 0L) && (mpz_isNeg(&b->z)))
+    if (((long)a > 0L) && (mpz_isNeg(b->z)))
       return FALSE;
-    if (((long)a < 0L) && (!mpz_isNeg(&b->z)))
+    if (((long)a < 0L) && (!mpz_isNeg(b->z)))
       return FALSE;
-    MP_INT  bb;
-    mpz_init_set(&bb,&b->n);
-    mpz_mul_si(&bb,&bb,(long)SR_TO_INT(a));
-    bo=(mpz_cmp(&bb,&b->z)==0);
-    mpz_clear(&bb);
+    mpz_t  bb;
+    mpz_init_set(bb,b->n);
+    mpz_mul_si(bb,bb,(long)SR_TO_INT(a));
+    bo=(mpz_cmp(bb,b->z)==0);
+    mpz_clear(bb);
     return bo;
   }
@@ -1507,17 +1507,17 @@
   ||  ((b->s==1) && (a->s==3)))
     return FALSE;
-  if (mpz_isNeg(&a->z)&&(!mpz_isNeg(&b->z)))
+  if (mpz_isNeg(a->z)&&(!mpz_isNeg(b->z)))
     return FALSE;
-  if (mpz_isNeg(&b->z)&&(!mpz_isNeg(&a->z)))
+  if (mpz_isNeg(b->z)&&(!mpz_isNeg(a->z)))
     return FALSE;
-  MP_INT  aa;
-  MP_INT  bb;
-  mpz_init_set(&aa,&a->z);
-  mpz_init_set(&bb,&b->z);
-  if (a->s<2) mpz_mul(&bb,&bb,&a->n);
-  if (b->s<2) mpz_mul(&aa,&aa,&b->n);
-  bo=(mpz_cmp(&aa,&bb)==0);
-  mpz_clear(&aa);
-  mpz_clear(&bb);
+  mpz_t  aa;
+  mpz_t  bb;
+  mpz_init_set(aa,a->z);
+  mpz_init_set(bb,b->z);
+  if (a->s<2) mpz_mul(bb,bb,a->n);
+  if (b->s<2) mpz_mul(aa,aa,b->n);
+  bo=(mpz_cmp(aa,bb)==0);
+  mpz_clear(aa);
+  mpz_clear(bb);
   return bo;
 }
@@ -1538,7 +1538,7 @@
     case 0:
     case 1:
-            mpz_init_set(&b->n,&a->n);
+            mpz_init_set(b->n,a->n);
     case 3:
-            mpz_init_set(&b->z,&a->z);
+            mpz_init_set(b->z,a->z);
             break;
   }
@@ -1557,7 +1557,7 @@
       case 0:
       case 1:
-        mpz_clear(&(*a)->n);
+        mpz_clear((*a)->n);
       case 3:
-        mpz_clear(&(*a)->z);
+        mpz_clear((*a)->z);
 #ifdef LDEBUG
         (*a)->s=2;
@@ -1571,12 +1571,12 @@
 {
   {
-    mpz_neg(&a->z,&a->z);
-    if ((a->s==3) && (mpz_size1(&a->z)<=MP_SMALL))
-    {
-      int ui=(int)mpz_get_si(&a->z);
+    mpz_neg(a->z,a->z);
+    if ((a->s==3) && (mpz_size1(a->z)<=MP_SMALL))
+    {
+      int ui=(int)mpz_get_si(a->z);
       if ((((ui<<3)>>3)==ui)
-        && (mpz_cmp_si(&a->z,(long)ui)==0))
-      {
-        mpz_clear(&a->z);
+        && (mpz_cmp_si(a->z,(long)ui)==0))
+      {
+        mpz_clear(a->z);
         omFreeBin((ADDRESS)a, rnumber_bin);
         a=INT_TO_SR(ui);
@@ -1596,5 +1596,5 @@
   u->debug=123456;
 #endif
-  mpz_init(&u->z);
+  mpz_init(u->z);
   if (SR_HDL(b) & SR_INT)
   {
@@ -1610,22 +1610,22 @@
       case 1:/* a:short, b:1 */
       {
-        MP_INT x;
-        mpz_init(&x);
-        mpz_mul_si(&x,&b->n,SR_TO_INT(a));
-        mpz_add(&u->z,&b->z,&x);
-        mpz_clear(&x);
-        if (mpz_cmp_ui(&u->z,(long)0)==0)
-        {
-          mpz_clear(&u->z);
+        mpz_t x;
+        mpz_init(x);
+        mpz_mul_si(x,b->n,SR_TO_INT(a));
+        mpz_add(u->z,b->z,x);
+        mpz_clear(x);
+        if (mpz_cmp_ui(u->z,(long)0)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(0);
         }
-        if (mpz_cmp(&u->z,&b->n)==0)
-        {
-          mpz_clear(&u->z);
+        if (mpz_cmp(u->z,b->n)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(1);
         }
-        mpz_init_set(&u->n,&b->n);
+        mpz_init_set(u->n,b->n);
         u->s = 0;
         break;
@@ -1634,21 +1634,21 @@
       {
         if ((long)a>0L)
-          mpz_add_ui(&u->z,&b->z,SR_TO_INT(a));
+          mpz_add_ui(u->z,b->z,SR_TO_INT(a));
         else
-          mpz_sub_ui(&u->z,&b->z,-SR_TO_INT(a));
-        if (mpz_cmp_ui(&u->z,(long)0)==0)
-        {
-          mpz_clear(&u->z);
+          mpz_sub_ui(u->z,b->z,-SR_TO_INT(a));
+        if (mpz_cmp_ui(u->z,(long)0)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(0);
         }
         //u->s = 3;
-        if (mpz_size1(&u->z)<=MP_SMALL)
-        {
-          int ui=(int)mpz_get_si(&u->z);
+        if (mpz_size1(u->z)<=MP_SMALL)
+        {
+          int ui=(int)mpz_get_si(u->z);
           if ((((ui<<3)>>3)==ui)
-          && (mpz_cmp_si(&u->z,(long)ui)==0))
+          && (mpz_cmp_si(u->z,(long)ui)==0))
           {
-            mpz_clear(&u->z);
+            mpz_clear(u->z);
             omFreeBin((ADDRESS)u, rnumber_bin);
             return INT_TO_SR(ui);
@@ -1672,24 +1672,24 @@
           case 1:
           {
-            MP_INT x;
-            mpz_init(&x);
-
-            mpz_mul(&x,&b->z,&a->n);
-            mpz_mul(&u->z,&a->z,&b->n);
-            mpz_add(&u->z,&u->z,&x);
-            mpz_clear(&x);
-
-            if (mpz_cmp_ui(&u->z,(long)0)==0)
+            mpz_t x;
+            mpz_init(x);
+
+            mpz_mul(x,b->z,a->n);
+            mpz_mul(u->z,a->z,b->n);
+            mpz_add(u->z,u->z,x);
+            mpz_clear(x);
+
+            if (mpz_cmp_ui(u->z,(long)0)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(0);
             }
-            mpz_init(&u->n);
-            mpz_mul(&u->n,&a->n,&b->n);
-            if (mpz_cmp(&u->z,&u->n)==0)
+            mpz_init(u->n);
+            mpz_mul(u->n,a->n,b->n);
+            if (mpz_cmp(u->z,u->n)==0)
             {
-               mpz_clear(&u->z);
-               mpz_clear(&u->n);
+               mpz_clear(u->z);
+               mpz_clear(u->n);
                omFreeBin((ADDRESS)u, rnumber_bin);
                return INT_TO_SR(1);
@@ -1700,19 +1700,19 @@
           case 3: /* a:1 b:3 */
           {
-            mpz_mul(&u->z,&b->z,&a->n);
-            mpz_add(&u->z,&u->z,&a->z);
-            if (mpz_cmp_ui(&u->z,(long)0)==0)
+            mpz_mul(u->z,b->z,a->n);
+            mpz_add(u->z,u->z,a->z);
+            if (mpz_cmp_ui(u->z,(long)0)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(0);
             }
-            if (mpz_cmp(&u->z,&a->n)==0)
+            if (mpz_cmp(u->z,a->n)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(1);
             }
-            mpz_init_set(&u->n,&a->n);
+            mpz_init_set(u->n,a->n);
             u->s = 0;
             break;
@@ -1728,19 +1728,19 @@
           case 1:/* a:3, b:1 */
           {
-            mpz_mul(&u->z,&a->z,&b->n);
-            mpz_add(&u->z,&u->z,&b->z);
-            if (mpz_cmp_ui(&u->z,(long)0)==0)
+            mpz_mul(u->z,a->z,b->n);
+            mpz_add(u->z,u->z,b->z);
+            if (mpz_cmp_ui(u->z,(long)0)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(0);
             }
-            if (mpz_cmp(&u->z,&b->n)==0)
+            if (mpz_cmp(u->z,b->n)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(1);
             }
-            mpz_init_set(&u->n,&b->n);
+            mpz_init_set(u->n,b->n);
             u->s = 0;
             break;
@@ -1748,18 +1748,18 @@
           case 3:
           {
-            mpz_add(&u->z,&a->z,&b->z);
-            if (mpz_cmp_ui(&u->z,(long)0)==0)
+            mpz_add(u->z,a->z,b->z);
+            if (mpz_cmp_ui(u->z,(long)0)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(0);
             }
-            if (mpz_size1(&u->z)<=MP_SMALL)
+            if (mpz_size1(u->z)<=MP_SMALL)
             {
-              int ui=(int)mpz_get_si(&u->z);
+              int ui=(int)mpz_get_si(u->z);
               if ((((ui<<3)>>3)==ui)
-              && (mpz_cmp_si(&u->z,(long)ui)==0))
+              && (mpz_cmp_si(u->z,(long)ui)==0))
               {
-                mpz_clear(&u->z);
+                mpz_clear(u->z);
                 omFreeBin((ADDRESS)u, rnumber_bin);
                 return INT_TO_SR(ui);
@@ -1786,5 +1786,5 @@
   u->debug=123456;
 #endif
-  mpz_init(&u->z);
+  mpz_init(u->z);
   if (SR_HDL(a) & SR_INT)
   {
@@ -1794,22 +1794,22 @@
       case 1:/* a:short, b:1 */
       {
-        MP_INT x;
-        mpz_init(&x);
-        mpz_mul_si(&x,&b->n,SR_TO_INT(a));
-        mpz_sub(&u->z,&x,&b->z);
-        mpz_clear(&x);
-        if (mpz_cmp_ui(&u->z,(long)0)==0)
-        {
-          mpz_clear(&u->z);
+        mpz_t x;
+        mpz_init(x);
+        mpz_mul_si(x,b->n,SR_TO_INT(a));
+        mpz_sub(u->z,x,b->z);
+        mpz_clear(x);
+        if (mpz_cmp_ui(u->z,(long)0)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(0);
         }
-        if (mpz_cmp(&u->z,&b->n)==0)
-        {
-          mpz_clear(&u->z);
+        if (mpz_cmp(u->z,b->n)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(1);
         }
-        mpz_init_set(&u->n,&b->n);
+        mpz_init_set(u->n,b->n);
         u->s = 0;
         break;
@@ -1819,25 +1819,25 @@
         if ((long)a>0L)
         {
-          mpz_sub_ui(&u->z,&b->z,SR_TO_INT(a));
-          mpz_neg(&u->z,&u->z);
+          mpz_sub_ui(u->z,b->z,SR_TO_INT(a));
+          mpz_neg(u->z,u->z);
         }
         else
         {
-          mpz_add_ui(&u->z,&b->z,-SR_TO_INT(a));
-          mpz_neg(&u->z,&u->z);
-        }
-        if (mpz_cmp_ui(&u->z,(long)0)==0)
-        {
-          mpz_clear(&u->z);
+          mpz_add_ui(u->z,b->z,-SR_TO_INT(a));
+          mpz_neg(u->z,u->z);
+        }
+        if (mpz_cmp_ui(u->z,(long)0)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(0);
         }
-        if (mpz_size1(&u->z)<=MP_SMALL)
-        {
-          int ui=(int)mpz_get_si(&u->z);
+        if (mpz_size1(u->z)<=MP_SMALL)
+        {
+          int ui=(int)mpz_get_si(u->z);
           if ((((ui<<3)>>3)==ui)
-          && (mpz_cmp_si(&u->z,(long)ui)==0))
+          && (mpz_cmp_si(u->z,(long)ui)==0))
           {
-            mpz_clear(&u->z);
+            mpz_clear(u->z);
             omFreeBin((ADDRESS)u, rnumber_bin);
             return INT_TO_SR(ui);
@@ -1856,22 +1856,22 @@
       case 1:/* b:short, a:1 */
       {
-        MP_INT x;
-        mpz_init(&x);
-        mpz_mul_si(&x,&a->n,SR_TO_INT(b));
-        mpz_sub(&u->z,&a->z,&x);
-        mpz_clear(&x);
-        if (mpz_cmp_ui(&u->z,(long)0)==0)
-        {
-          mpz_clear(&u->z);
+        mpz_t x;
+        mpz_init(x);
+        mpz_mul_si(x,a->n,SR_TO_INT(b));
+        mpz_sub(u->z,a->z,x);
+        mpz_clear(x);
+        if (mpz_cmp_ui(u->z,(long)0)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(0);
         }
-        if (mpz_cmp(&u->z,&a->n)==0)
-        {
-          mpz_clear(&u->z);
+        if (mpz_cmp(u->z,a->n)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(1);
         }
-        mpz_init_set(&u->n,&a->n);
+        mpz_init_set(u->n,a->n);
         u->s = 0;
         break;
@@ -1881,24 +1881,24 @@
         if ((long)b>0L)
         {
-          mpz_sub_ui(&u->z,&a->z,SR_TO_INT(b));
+          mpz_sub_ui(u->z,a->z,SR_TO_INT(b));
         }
         else
         {
-          mpz_add_ui(&u->z,&a->z,-SR_TO_INT(b));
-        }
-        if (mpz_cmp_ui(&u->z,(long)0)==0)
-        {
-          mpz_clear(&u->z);
+          mpz_add_ui(u->z,a->z,-SR_TO_INT(b));
+        }
+        if (mpz_cmp_ui(u->z,(long)0)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(0);
         }
         //u->s = 3;
-        if (mpz_size1(&u->z)<=MP_SMALL)
-        {
-          int ui=(int)mpz_get_si(&u->z);
+        if (mpz_size1(u->z)<=MP_SMALL)
+        {
+          int ui=(int)mpz_get_si(u->z);
           if ((((ui<<3)>>3)==ui)
-          && (mpz_cmp_si(&u->z,(long)ui)==0))
+          && (mpz_cmp_si(u->z,(long)ui)==0))
           {
-            mpz_clear(&u->z);
+            mpz_clear(u->z);
             omFreeBin((ADDRESS)u, rnumber_bin);
             return INT_TO_SR(ui);
@@ -1922,25 +1922,25 @@
           case 1:
           {
-            MP_INT x;
-            MP_INT y;
-            mpz_init(&x);
-            mpz_init(&y);
-            mpz_mul(&x,&b->z,&a->n);
-            mpz_mul(&y,&a->z,&b->n);
-            mpz_sub(&u->z,&y,&x);
-            mpz_clear(&x);
-            mpz_clear(&y);
-            if (mpz_cmp_ui(&u->z,(long)0)==0)
+            mpz_t x;
+            mpz_t y;
+            mpz_init(x);
+            mpz_init(y);
+            mpz_mul(x,b->z,a->n);
+            mpz_mul(y,a->z,b->n);
+            mpz_sub(u->z,y,x);
+            mpz_clear(x);
+            mpz_clear(y);
+            if (mpz_cmp_ui(u->z,(long)0)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(0);
             }
-            mpz_init(&u->n);
-            mpz_mul(&u->n,&a->n,&b->n);
-            if (mpz_cmp(&u->z,&u->n)==0)
+            mpz_init(u->n);
+            mpz_mul(u->n,a->n,b->n);
+            if (mpz_cmp(u->z,u->n)==0)
             {
-              mpz_clear(&u->z);
-              mpz_clear(&u->n);
+              mpz_clear(u->z);
+              mpz_clear(u->n);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(1);
@@ -1951,22 +1951,22 @@
           case 3: /* a:1, b:3 */
           {
-            MP_INT x;
-            mpz_init(&x);
-            mpz_mul(&x,&b->z,&a->n);
-            mpz_sub(&u->z,&a->z,&x);
-            mpz_clear(&x);
-            if (mpz_cmp_ui(&u->z,(long)0)==0)
+            mpz_t x;
+            mpz_init(x);
+            mpz_mul(x,b->z,a->n);
+            mpz_sub(u->z,a->z,x);
+            mpz_clear(x);
+            if (mpz_cmp_ui(u->z,(long)0)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(0);
             }
-            if (mpz_cmp(&u->z,&a->n)==0)
+            if (mpz_cmp(u->z,a->n)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(1);
             }
-            mpz_init_set(&u->n,&a->n);
+            mpz_init_set(u->n,a->n);
             u->s = 0;
             break;
@@ -1982,22 +1982,22 @@
           case 1: /* a:3, b:1 */
           {
-            MP_INT x;
-            mpz_init(&x);
-            mpz_mul(&x,&a->z,&b->n);
-            mpz_sub(&u->z,&x,&b->z);
-            mpz_clear(&x);
-            if (mpz_cmp_ui(&u->z,(long)0)==0)
+            mpz_t x;
+            mpz_init(x);
+            mpz_mul(x,a->z,b->n);
+            mpz_sub(u->z,x,b->z);
+            mpz_clear(x);
+            if (mpz_cmp_ui(u->z,(long)0)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(0);
             }
-            if (mpz_cmp(&u->z,&b->n)==0)
+            if (mpz_cmp(u->z,b->n)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(1);
             }
-            mpz_init_set(&u->n,&b->n);
+            mpz_init_set(u->n,b->n);
             u->s = 0;
             break;
@@ -2005,19 +2005,19 @@
           case 3: /* a:3 , b:3 */
           {
-            mpz_sub(&u->z,&a->z,&b->z);
-            if (mpz_cmp_ui(&u->z,(long)0)==0)
+            mpz_sub(u->z,a->z,b->z);
+            if (mpz_cmp_ui(u->z,(long)0)==0)
             {
-              mpz_clear(&u->z);
+              mpz_clear(u->z);
               omFreeBin((ADDRESS)u, rnumber_bin);
               return INT_TO_SR(0);
             }
             //u->s = 3;
-            if (mpz_size1(&u->z)<=MP_SMALL)
+            if (mpz_size1(u->z)<=MP_SMALL)
             {
-              int ui=(int)mpz_get_si(&u->z);
+              int ui=(int)mpz_get_si(u->z);
               if ((((ui<<3)>>3)==ui)
-              && (mpz_cmp_si(&u->z,(long)ui)==0))
+              && (mpz_cmp_si(u->z,(long)ui)==0))
               {
-                mpz_clear(&u->z);
+                mpz_clear(u->z);
                 omFreeBin((ADDRESS)u, rnumber_bin);
                 return INT_TO_SR(ui);
@@ -2046,6 +2046,6 @@
 #endif
   u->s=3;
-  mpz_init_set_si(&u->z,(long)SR_TO_INT(a));
-  mpz_mul_si(&u->z,&u->z,(long)SR_TO_INT(b));
+  mpz_init_set_si(u->z,(long)SR_TO_INT(a));
+  mpz_mul_si(u->z,u->z,(long)SR_TO_INT(b));
 #ifdef LDEBUG
   nlTest(u);
@@ -2062,5 +2062,5 @@
   u->debug=123456;
 #endif
-  mpz_init(&u->z);
+  mpz_init(u->z);
   if (SR_HDL(b) & SR_INT)
   {
@@ -2075,5 +2075,5 @@
     if ((long)a>0L)
     {
-      mpz_mul_ui(&u->z,&b->z,(unsigned long)SR_TO_INT(a));
+      mpz_mul_ui(u->z,b->z,(unsigned long)SR_TO_INT(a));
     }
     else
@@ -2081,33 +2081,33 @@
       if (a==INT_TO_SR(-1))
       {
-        mpz_set(&u->z,&b->z);
-        mpz_neg(&u->z,&u->z);
+        mpz_set(u->z,b->z);
+        mpz_neg(u->z,u->z);
         u->s=b->s;
       }
       else
       {
-        mpz_mul_ui(&u->z,&b->z,(unsigned long)-SR_TO_INT(a));
-        mpz_neg(&u->z,&u->z);
+        mpz_mul_ui(u->z,b->z,(unsigned long)-SR_TO_INT(a));
+        mpz_neg(u->z,u->z);
       }
     }
     if (u->s<2)
     {
-      if (mpz_cmp(&u->z,&b->n)==0)
-      {
-        mpz_clear(&u->z);
+      if (mpz_cmp(u->z,b->n)==0)
+      {
+        mpz_clear(u->z);
         omFreeBin((ADDRESS)u, rnumber_bin);
         return INT_TO_SR(1);
       }
-      mpz_init_set(&u->n,&b->n);
+      mpz_init_set(u->n,b->n);
     }
     else //u->s==3
     {
-      if (mpz_size1(&u->z)<=MP_SMALL)
-      {
-        int ui=(int)mpz_get_si(&u->z);
+      if (mpz_size1(u->z)<=MP_SMALL)
+      {
+        int ui=(int)mpz_get_si(u->z);
         if ((((ui<<3)>>3)==ui)
-            && (mpz_cmp_si(&u->z,(long)ui)==0))
-        {
-          mpz_clear(&u->z);
+            && (mpz_cmp_si(u->z,(long)ui)==0))
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(ui);
@@ -2118,5 +2118,5 @@
   else
   {
-    mpz_mul(&u->z,&a->z,&b->z);
+    mpz_mul(u->z,a->z,b->z);
     u->s = 0;
     if(a->s==3)
@@ -2128,11 +2128,11 @@
       else
       {
-        if (mpz_cmp(&u->z,&b->n)==0)
-        {
-          mpz_clear(&u->z);
+        if (mpz_cmp(u->z,b->n)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(1);
         }
-        mpz_init_set(&u->n,&b->n);
+        mpz_init_set(u->n,b->n);
       }
     }
@@ -2141,20 +2141,20 @@
       if(b->s==3)
       {
-        if (mpz_cmp(&u->z,&a->n)==0)
-        {
-          mpz_clear(&u->z);
+        if (mpz_cmp(u->z,a->n)==0)
+        {
+          mpz_clear(u->z);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(1);
         }
-        mpz_init_set(&u->n,&a->n);
+        mpz_init_set(u->n,a->n);
       }
       else
       {
-        mpz_init(&u->n);
-        mpz_mul(&u->n,&a->n,&b->n);
-        if (mpz_cmp(&u->z,&u->n)==0)
-        {
-          mpz_clear(&u->z);
-          mpz_clear(&u->n);
+        mpz_init(u->n);
+        mpz_mul(u->n,a->n,b->n);
+        if (mpz_cmp(u->z,u->n)==0)
+        {
+          mpz_clear(u->z);
+          mpz_clear(u->n);
           omFreeBin((ADDRESS)u, rnumber_bin);
           return INT_TO_SR(1);
@@ -2178,5 +2178,5 @@
   z->debug=123456;
 #endif
-  mpz_init_set_si(&z->z,(long)i);
+  mpz_init_set_si(z->z,(long)i);
   z->s = 3;
   return z;
@@ -2192,6 +2192,6 @@
   z->debug=123456;
 #endif
-  mpz_init_set_si(&z->z,(long)i);
-  mpz_init_set_si(&z->n,(long)j);
+  mpz_init_set_si(z->z,(long)i);
+  mpz_init_set_si(z->n,(long)j);
   z->s = 0;
   nlNormalize(z);
@@ -2205,6 +2205,6 @@
   z->debug=123456;
 #endif
-  mpz_init_set(&z->z,i);
-  mpz_init_set(&z->n,j);
+  mpz_init_set(z->z,i);
+  mpz_init_set(z->n,j);
   z->s = 0;
   nlNormalize(z);
@@ -2277,5 +2277,5 @@
 {
   return (a==INT_TO_SR(0));
-  //return (mpz_cmp_si(&a->z,(long)0)==0);
+  //return (mpz_cmp_si(a->z,(long)0)==0);
 }
 
@@ -2367,9 +2367,9 @@
       case 1:/* b:short, a:1 */
       {
-        MP_INT x;
-        mpz_init(&x);
-        mpz_mul_si(&x,&a->n,SR_TO_INT(b));
-        mpz_add(&a->z,&a->z,&x);
-        mpz_clear(&x);
+        mpz_t x;
+        mpz_init(x);
+        mpz_mul_si(x,a->n,SR_TO_INT(b));
+        mpz_add(a->z,a->z,x);
+        mpz_clear(x);
         a->s = 0;
         a=nlShort1(a);
@@ -2379,7 +2379,7 @@
       {
         if ((long)b>0L)
-          mpz_add_ui(&a->z,&a->z,SR_TO_INT(b));
+          mpz_add_ui(a->z,a->z,SR_TO_INT(b));
         else
-          mpz_sub_ui(&a->z,&a->z,-SR_TO_INT(b));
+          mpz_sub_ui(a->z,a->z,-SR_TO_INT(b));
         a->s = 3;
         a=nlShort3(a);
@@ -2396,5 +2396,5 @@
     u->debug=123456;
     #endif
-    mpz_init(&u->z);
+    mpz_init(u->z);
     switch (b->s)
     {
@@ -2402,12 +2402,12 @@
       case 1:/* a:short, b:1 */
       {
-        MP_INT x;
-        mpz_init(&x);
-
-        mpz_mul_si(&x,&b->n,SR_TO_INT(a));
-        mpz_add(&u->z,&b->z,&x);
-        mpz_clear(&x);
+        mpz_t x;
+        mpz_init(x);
+
+        mpz_mul_si(x,b->n,SR_TO_INT(a));
+        mpz_add(u->z,b->z,x);
+        mpz_clear(x);
         // result cannot be 0, if coeffs are normalized
-        mpz_init_set(&u->n,&b->n);
+        mpz_init_set(u->n,b->n);
         u->s = 0;
         u=nlShort1(u);
@@ -2417,7 +2417,7 @@
       {
         if ((long)a>0L)
-          mpz_add_ui(&u->z,&b->z,SR_TO_INT(a));
+          mpz_add_ui(u->z,b->z,SR_TO_INT(a));
         else
-          mpz_sub_ui(&u->z,&b->z,-SR_TO_INT(a));
+          mpz_sub_ui(u->z,b->z,-SR_TO_INT(a));
         // result cannot be 0, if coeffs are normalized
         u->s = 3;
@@ -2443,14 +2443,14 @@
           case 1: /* a:1 b:1 */
           {
-            MP_INT x;
-            MP_INT y;
-            mpz_init(&x);
-            mpz_init(&y);
-            mpz_mul(&x,&b->z,&a->n);
-            mpz_mul(&y,&a->z,&b->n);
-            mpz_add(&a->z,&x,&y);
-            mpz_clear(&x);
-            mpz_clear(&y);
-            mpz_mul(&a->n,&a->n,&b->n);
+            mpz_t x;
+            mpz_t y;
+            mpz_init(x);
+            mpz_init(y);
+            mpz_mul(x,b->z,a->n);
+            mpz_mul(y,a->z,b->n);
+            mpz_add(a->z,x,y);
+            mpz_clear(x);
+            mpz_clear(y);
+            mpz_mul(a->n,a->n,b->n);
             a->s = 0;
             break;
@@ -2458,9 +2458,9 @@
           case 3: /* a:1 b:3 */
           {
-            MP_INT x;
-            mpz_init(&x);
-            mpz_mul(&x,&b->z,&a->n);
-            mpz_add(&a->z,&a->z,&x);
-            mpz_clear(&x);
+            mpz_t x;
+            mpz_init(x);
+            mpz_mul(x,b->z,a->n);
+            mpz_add(a->z,a->z,x);
+            mpz_clear(x);
             a->s = 0;
             break;
@@ -2477,10 +2477,10 @@
           case 1:/* a:3, b:1 */
           {
-            MP_INT x;
-            mpz_init(&x);
-            mpz_mul(&x,&a->z,&b->n);
-            mpz_add(&a->z,&b->z,&x);
-            mpz_clear(&x);
-            mpz_init_set(&a->n,&b->n);
+            mpz_t x;
+            mpz_init(x);
+            mpz_mul(x,a->z,b->n);
+            mpz_add(a->z,b->z,x);
+            mpz_clear(x);
+            mpz_init_set(a->n,b->n);
             a->s = 0;
             a=nlShort1(a);
@@ -2489,5 +2489,5 @@
           case 3:
           {
-            mpz_add(&a->z,&a->z,&b->z);
+            mpz_add(a->z,a->z,b->z);
             a->s = 3;
             a=nlShort3(a);
@@ -2560,12 +2560,12 @@
   else
   {
-    mpz_gcd(&a->z,&a->z,&b->z);
-    if (mpz_size1(&a->z)<=MP_SMALL)
-    {
-      int ui=(int)mpz_get_si(&a->z);
+    mpz_gcd(a->z,a->z,b->z);
+    if (mpz_size1(a->z)<=MP_SMALL)
+    {
+      int ui=(int)mpz_get_si(a->z);
       if ((((ui<<3)>>3)==ui)
-      && (mpz_cmp_si(&a->z,(long)ui)==0))
-      {
-        mpz_clear(&a->z);
+      && (mpz_cmp_si(a->z,(long)ui)==0))
+      {
+        mpz_clear(a->z);
         omFreeBin((ADDRESS)a, rnumber_bin);
         a=INT_TO_SR(ui);
@@ -2584,36 +2584,36 @@
   else
   {
-    if (mpz_isNeg(&a->z))
-    {
-      if (mpz_isNeg(&b->z))
-      {
-        mpz_add(&a->z,&a->z,&b->z);
+    if (mpz_isNeg(a->z))
+    {
+      if (mpz_isNeg(b->z))
+      {
+        mpz_add(a->z,a->z,b->z);
       }
       else
       {
-        mpz_sub(&a->z,&a->z,&b->z);
-      }
-      mpz_add_ui(&a->z,&a->z,1);
+        mpz_sub(a->z,a->z,b->z);
+      }
+      mpz_add_ui(a->z,a->z,1);
     }
     else
     {
-      if (mpz_isNeg(&b->z))
-      {
-        mpz_sub(&a->z,&a->z,&b->z);
+      if (mpz_isNeg(b->z))
+      {
+        mpz_sub(a->z,a->z,b->z);
       }
       else
       {
-        mpz_add(&a->z,&a->z,&b->z);
-      }
-      mpz_sub_ui(&a->z,&a->z,1);
-    }
-    MPZ_DIV(&a->z,&a->z,&b->z);
-    if (mpz_size1(&a->z)<=MP_SMALL)
-    {
-      int ui=(int)mpz_get_si(&a->z);
+        mpz_add(a->z,a->z,b->z);
+      }
+      mpz_sub_ui(a->z,a->z,1);
+    }
+    MPZ_DIV(a->z,a->z,b->z);
+    if (mpz_size1(a->z)<=MP_SMALL)
+    {
+      int ui=(int)mpz_get_si(a->z);
       if ((((ui<<3)>>3)==ui)
-      && (mpz_cmp_si(&a->z,(long)ui)==0))
-      {
-        mpz_clear(&a->z);
+      && (mpz_cmp_si(a->z,(long)ui)==0))
+      {
+        mpz_clear(a->z);
         omFreeBin((ADDRESS)a, rnumber_bin);
         a=INT_TO_SR(ui);
@@ -2633,10 +2633,10 @@
   else
   {
-    mpz_mul(&a->z,&a->z,&b->z);
+    mpz_mul(a->z,a->z,b->z);
     if (a->s==3)
     {
       if(b->s!=3)
       {
-        mpz_init_set(&a->n,&b->n);
+        mpz_init_set(a->n,b->n);
         a->s=0;
       }
@@ -2646,5 +2646,5 @@
       if(b->s!=3)
       {
-        mpz_mul(&a->n,&a->n,&b->n);
+        mpz_mul(a->n,a->n,b->n);
       }
       a->s=0;
@@ -2655,54 +2655,54 @@
 number nlFarey(number nN, number nP)
 {
-  MP_INT tmp; mpz_init(&tmp);
-  MP_INT A,B,C,D,E,N,P;
-  if (SR_HDL(nN) & SR_INT) mpz_init_set_si(&N,SR_TO_INT(nN));
-  else                     mpz_init_set(&N,&(nN->z));
-  if (SR_HDL(nP) & SR_INT) mpz_init_set_si(&P,SR_TO_INT(nP));
-  else                     mpz_init_set(&P,&(nP->z));
-  assume(!mpz_isNeg(&P));
-  if (mpz_isNeg(&N))  mpz_add(&N,&N,&P);
-  mpz_init_set_si(&A,(long)0);
-  mpz_init_set_ui(&B,(unsigned long)1);
-  mpz_init_set_si(&C,(long)0);
-  mpz_init(&D);
-  mpz_init_set(&E,&P);
+  mpz_t tmp; mpz_init(tmp);
+  mpz_t A,B,C,D,E,N,P;
+  if (SR_HDL(nN) & SR_INT) mpz_init_set_si(N,SR_TO_INT(nN));
+  else                     mpz_init_set(N,nN->z);
+  if (SR_HDL(nP) & SR_INT) mpz_init_set_si(P,SR_TO_INT(nP));
+  else                     mpz_init_set(P,nP->z);
+  assume(!mpz_isNeg(P));
+  if (mpz_isNeg(N))  mpz_add(N,N,P);
+  mpz_init_set_si(A,(long)0);
+  mpz_init_set_ui(B,(unsigned long)1);
+  mpz_init_set_si(C,(long)0);
+  mpz_init(D);
+  mpz_init_set(E,P);
   number z=INT_TO_SR(0);
-  while(mpz_cmp_si(&N,(long)0)!=0)
-  {
-    mpz_mul(&tmp,&N,&N);
-    mpz_add(&tmp,&tmp,&tmp);
-    if (mpz_cmp(&tmp,&P)<0)
+  while(mpz_cmp_si(N,(long)0)!=0)
+  {
+    mpz_mul(tmp,N,N);
+    mpz_add(tmp,tmp,tmp);
+    if (mpz_cmp(tmp,P)<0)
     {
        // return N/B
        z=(number)omAllocBin(rnumber_bin);
-       if (mpz_isNeg(&B))
+       if (mpz_isNeg(B))
        {
-         mpz_neg(&B,&B);
-         mpz_neg(&N,&N);
+         mpz_neg(B,B);
+         mpz_neg(N,N);
        }
-       mpz_init_set(&z->z,&N);
-       mpz_init_set(&z->n,&B);
+       mpz_init_set(z->z,N);
+       mpz_init_set(z->n,B);
        z->s = 0;
        nlNormalize(z);
        break;
     }
-    mpz_mod(&D,&E,&N);
-    mpz_div(&tmp,&E,&N);
-    mpz_mul(&tmp,&tmp,&B);
-    mpz_sub(&C,&A,&tmp);
-    mpz_set(&E,&N);
-    mpz_set(&N,&D);
-    mpz_set(&A,&B);
-    mpz_set(&B,&C);
-  }
-  mpz_clear(&tmp);
-  mpz_clear(&A);
-  mpz_clear(&B);
-  mpz_clear(&C);
-  mpz_clear(&D);
-  mpz_clear(&E);
-  mpz_clear(&N);
-  mpz_clear(&P);
+    mpz_mod(D,E,N);
+    mpz_div(tmp,E,N);
+    mpz_mul(tmp,tmp,B);
+    mpz_sub(C,A,tmp);
+    mpz_set(E,N);
+    mpz_set(N,D);
+    mpz_set(A,B);
+    mpz_set(B,C);
+  }
+  mpz_clear(tmp);
+  mpz_clear(A);
+  mpz_clear(B);
+  mpz_clear(C);
+  mpz_clear(D);
+  mpz_clear(E);
+  mpz_clear(N);
+  mpz_clear(P);
   return z;
 }
@@ -2737,5 +2737,5 @@
     int ui=(int)mpz_get_si(&r->z);
     if ((((ui<<3)>>3)==ui)
-    && (mpz_cmp_si(&x->z,(long)ui)==0))
+    && (mpz_cmp_si(x->z,(long)ui)==0))
     {
       mpz_clear(&r->z);
