procedure r_prod(u: boolean; var x1,x2,x3: hreal);
begin { r_prod }
  rprod(x1,x2,x3);
  if trunc then begin
    if u then begin
      if x3.si>0 then rtowinfty(x3);
    end
    else begin
      if x3.si<0 then rtowinfty(x3);
    end;
  end;
end { r_prod };

