The package provides solutions to a number of common difficulties in writing displayed equations and getting high-quality output. For example, it is a well-known inconvenience that if an equation must be broken into more than one line, 'left...right' constructs cannot span lines. The breqn package makes them work as one would expect whether or not there is an intervening line break. The single most ambitious goal of the package, however, is to support automatic linebreaking of displayed equations. Such linebreaking cannot be done without substantial changes under the hood in the way formulae are processed; the code must be watched carefully, keeping an eye on possible glitches. The bundle also contains the flexisym and mathstyle packages, which are both designated as support for breqn.