anchor.diff:  
   procedure DivMod(const a,b:TBint;var q,m:TBint);
   var
  -  la,lb,lq,ia,ib,xa,xb,xc,xq:cardinal;
  +  la,lb,lq,ia,ib,na,xa,xb,xc,xq:cardinal;
     ra,rb,rc:TBInt;//ra,rb just in case (q=a) or (q=b) or (m=a) or (m=b)
     c:boolean;
   begin
  
positive.code:         rb[ib+BIntBase]:=b[ib+BIntBase];
      //rc will hold rb*xq below
      SetLength(rc,la);
      lq:=lb-la+1;
      SetLength(q,lq);
      while lq<>0 do
       begin
        dec(lq);
        xq:=byte(ra[la-1+BIntBase]) div byte(rb[lb-1+BIntBase]);
        c:=true;
        while c do
         begin
          ib:=0;
          xc:=0;
          while ib<la do
           begin
            if ib<lb then inc(xc,byte(rb[ib+BIntBase])*xq);
            byte(rc[ib+BIntBase]):=byte(xc);
            xc:=xc shr 8;
            inc(ib);
           end;
          //assert xc=0
          //c:=IsGreaterThan(rc,ra);
          ia:=la;
          while (ia<>0) and (rc[ia-1+BIntBase]=ra[ia-1+BIntBase]) do dec(ia);
          c:=(ia=0) or (rc[ia-1+BIntBase]>ra[ia-1+BIntBase]);
          if c then dec(xq);
         end;
        byte(q[lq+BIntBase]):=xq;
        //ra:=Subtract(ra,rc);
        ia:=0;
        xc:=0;
        while ia<la do
         begin
          xa:=byte(ra[ia+BIntBase]);
          xb:=byte(rc[ia+BIntBase]);
          if (xa<xc) or (xa<xb) then
           begin
            inc(xa,$100-xc);
            xc:=1;
           end
          else
           begin
            dec(xa,xc);
            xc:=0;
           end;
          byte(ra[ia+BintBase]):=byte(xa-xb);
          inc(ia);
         end;
        while (la<>0) and (ra[la-1+BIntBase]=0) do dec(la);
        if la=0 then
          while lq<>0 do
           begin
            dec(lq);
            byte(q[lq+BIntBase]):=0;
           end;
       end;
      while (la<>0) and (byte(ra[la-1+BIntBase])=0) do dec(la);
      SetLength(m,la);
  
negative.code: procedure DivMod(const a:TBInt;b:byte;var q:TBInt;var m:byte); overload;
  procedure DivMod(const a,b:TBint;var q,m:TBint); overload;
  function Power(const a,b:TBInt):TBInt;
  function PowMod(const a,b,n:TBint):TBInt;
  
  implementation
  
  