FunctionExpand[expr] tries to expand out special and certain other functions in expr, when possible reducing compound arguments to simpler ones.
FunctionExpand[expr, assum] expands using assumptions.
FunctionExpand uses a large collection of rules.
FunctionExpand applies to certain trigonometric functions as well as special functions.
FunctionExpand is automatically called by FullSimplify.
Assumptions in FunctionExpand can be specified as in Simplify.
Example: FunctionExpand[expr, x Reals] performs expansion assuming that x is real.
See The Mathematica Book: Section 3.2.13.
Implementation Notes: see section A.9.5.
See also: TrigExpand, TrigToExp, ComplexExpand, FullSimplify.