I have being lately involved in the design of an internal course on Analysis and Design. In searching for the right answer to the above question, this is what I came out with: While both disciplines deal with the problem domain, the Requirements discipline does that to capture the client thoughts and reasons. To simplify the task at hand the Requirements discipline uses natural language as vehicle, since that's the language the customer speaks. As a consequence the requirements specification is inherently imprecise and frequently incomplete or conflicting. Of course, the requirements engineers will probably do their best effort to minimize that.
The Analysis discipline also focuses on the problem domain, but its goal is to communicate the requirements to the designers/developers. The natural way to do that is to use a formal modeling language, frequently UML. The main objective is to work out all the imprecision’s of the requirements, completing them and resolving eventual conflicts. Frequently that will lead to a review/rework of the requirements. I look at this part of the process as a sort of intake of the requirements.
A typical area where Analysis clearly complements Requirements is in modeling the user interaction requirements. This effort produces a visual representation of what is expected, which can be captured more easily and descriptively that way than with plain prose.
Another area where Analysis models definitely add value is in organizing our data requirements at the interface level. That can be the data showing up on a user interface, but also the data contracts of a service interface or the content of an exchange file.

