procedure sinter(var x1,x2,x3: scalar);
begin { sinter }
  if (irdiff(x1.u,x2.l)<0) or (irdiff(x2.u,x1.l)<0) then begin
    writeln('sinter: error - empty intersection');
  end
  else begin
    if irdiff(x1.l,x2.l)<0 then x3.l:=x2.l else x3.l:=x1.l;
    if irdiff(x1.u,x2.u)>0 then x3.u:=x2.u else x3.u:=x1.u;
  end;
end { sinter };

