anchor.diff:    Remainder := Radicand - Root * Root;
   end;
   
  -class procedure BigInteger.DivThreeHalvesByTwo(const LeftUpperMid, LeftLower, Right, RightUpper, RightLower: BigInteger;
  -  N: Integer; var Quotient, Remainder: BigInteger);
  +class procedure BigInteger.DivThreeHalvesByTwo(
  +  const LeftUpperMid, LeftLower, Right, RightUpper, RightLower: BigInteger; N: Integer;
  +  var Quotient, Remainder: BigInteger);
   var
     Q, R: BigInteger;
   begin
  
positive.code:         Result.MakeSize(RSize)
        else
          Result.MakeSize(MaxSize);
        InversionOp(PLimb(Left.FData), RPtr, PLimb(Result.FData), LSize, RSize);  // Inversion op: AND --> AND NOT, OR --> NOT AND, XOR --> XOR
        if @PlainOp = @InternalAnd then
          Result.FSize := Result.FSize and SizeMask               // Make positive.
        else
  
negative.code: end;
  
  const
    PowersOfTen: array[1..9] of Integer = (10, 100, 1000, 10*1000, 100*1000, 1000*1000,
                                           10*1000*1000, 100*1000*1000, 1000*1000*1000);
  
  class function BigInteger.InternalParseDecimal(P: PChar; var Value: BigInteger): Boolean;
  var
  