# File lib/facets/more/quaternion.rb, line 499
  def sin
    # sin(r+uv)=sin r cosh v + u cos r sinh v
    vec=self.vector; v=vec.abs; if v==0; return Quaternion(Math::sin(@re)); end
    u = vec/v; e=Math::exp(v); er=1/e; c=e+er; s=e-er
    (Math::sin(@re)*c+u*Math::cos(@re)*s)/2
  end