function irdiff(var x1,x2: hreal): integer32;
var
  n: integer32;
begin { irdiff }
  with x1 do begin
    n:=si-x2.si;
    if (n=0) and (si<>0) then begin
      n:=ex-x2.ex;
      if n=0 then begin
        while (ma[n]=x2.ma[n]) and (n<hdim) do n:=n+1;
        n:=ma[n]-x2.ma[n];
      end;
      irdiff:=n*si; 
    end
    else irdiff:=n;
  end;
end { irdiff };

