procedure rsum3(var u,v: hreal);
{ part of rsum, used when u.si=v.si, u.ex=v.ex, u.ma[n]=v.ma[n] for n<k }
var
  n: integer;
begin { rsum3 }
  with x3 do begin
    si:=u.si;
    j:=0;
    for n:=hdim downto k do begin
      j:=u.ma[n]-v.ma[n]-j;
      if j<0 then begin
        ma[n]:=j+10000;
        j:=1;
      end
      else begin
        ma[n]:=j;
        j:=0;
      end;
    end;
    while (ma[k]=0) do k:=k+1;
    if k=0 then ex:=x1.ex
    else begin
      ex:=x1.ex-k;
      if ex<-exmax then underflow:=true;
      for n:=0 to hdim-k do ma[n]:=ma[n+k];
      for n:=hdim-k+1 to hdim do ma[n]:=0;
    end;
  end;
end { rsum3 };

