The expression `cosh(z) - sinh(z)` can be simplified to `exp(-z)`.  On it's own it's not that major, but this factor (always?) occurs for `besselk`. E.g. (without the call to subs):

    In [4]: besselsimp(besselk(S(1)/2, x))
    Out[4]: sqrt(2)*sqrt(pi)*(-sinh(x) + cosh(x))/(2*sqrt(x))
    In [5]: besselsimp(besselk(S(5)/2, x))
    Out[5]: sqrt(2)*sqrt(pi)*(-sinh(x) + cosh(x))*(x**2 + 3*x + 3)/(2*x**(5/2))
    In [6]: besselsimp(besselk(S(-7)/2, x))
    Out[6]: sqrt(2)*sqrt(pi)*(-sinh(x) + cosh(x))*(x**3 + 6*x**2 + 15*x + 15)/(2*x**(7/2))

My feeling is that perhaps `trigsimp` should handle this, but maybe not. Here's what Mathematica8 does 

    In[1]:= Cosh[z] - Sinh[z] // Simplify
    Out[1]= Cosh[z] - Sinh[z]

    In[2]:= Cosh[z] - Sinh[z] // FullSimplify
             -z
    Out[2]= E