Hello,
As you know, XSLT 1.0 and XPath 1.0 are now widely supported.
Unfortunately, XPath 1.0 doesn't come with mathematical functions such 
as "sqrt", "sin", "cos", "ln",... XPath 2.1 surely will but we'll have 
to wait to see it available in every environment.
Because such functions may be required for graphics generation, a 
workaround has to be used. Hopefully, named templates can be defined 
with XSLT 1.0: a name, one or more parameters and every XSLT 1.0 
possibility, recursivity to be used instead of loops.
Algorithms based on  +, -, * and / only are not that easy to find. 
CORDIC-based algorithms are not always very precise. Others, such as the 
ones for a Javascript engine, are optimized for binary processing.
Anyway, it works!
You can have a look at http://www.agencexml.com/math/math.xml and 
http://www.agencexml.com/math/math.xsl
As you can see, it's fast and precise.
Best regards,
Alain Couthures
<agenceXML>
Bordeaux, France
http://www.agencexml.com