In some program environments like GLSL there is support for single and double precision numbers for arithmetic and square roots computation, but only single precision trigonometric functions are available. To support the double precision versions one would have to implement them manually.
The more precise versions could just be implemented from scratch e.g. via Taylor or Padé approximations. But is there a way of making use of already present single precision implementation to improve performance?