anchor.diff:    if Shift > CMaxShift then
       Shift := CMaxShift;
   
  -  // Guard, Round and Sticky bits are used to determine rounding, see comments in function AsDouble.
  +  // Guard, Round and Sticky bits are used to determine rounding.
     Guard := False;
     Round := False;
     Sticky := False;
  
positive.code:     PUInt64(Result)[1] := Sum64;
      Carry64 := Ord(Sum64 < Carry64);
  {$ELSE}
      Sum := Left[0] + Carry;
      Result[0] := Sum;
      Carry := TLimb(Sum < Carry);
  
      Sum := Left[1] + Carry;
      Result[1] := Sum;
      Carry := TLimb(Sum < Carry);
  
      Sum := Left[2] + Carry;
      Result[2] := Sum;
      Carry := TLimb(Sum < Carry);
  
      Sum := Left[3] + Carry;
      Result[3] := Sum;
      Carry := TLimb(Sum < Carry);
  {$ENDIF}
  
      Inc(Left, CUnrollIncrement);
  
negative.code:   Sum: TLimb;
  {$IFDEF CPU64BITS}
    Left64, Sum64, Carry64, InterCarry64: UInt64;
  {$ENDIF}
  begin
    if LSize < RSize then
  