Example:
\documentclass{article}
\usepackage{amsmath,tikz}
\begin{document}
\parindent=0em
\pgfmathsetmacro\result{pow(0.5,1.5)}
$(\tfrac12)^{3/2}\ne\result=2\sqrt2$\\
\pgfmathsetmacro\result{pow(0.5,0.5)}
$(\tfrac12)^{1/2}\ne\result=\sqrt2?$\\
\pgfmathsetmacro\result{pow(0.5,-1.5)}
$(\tfrac12)^{-3/2}\ne\result=2\sqrt2$\\
\pgfmathsetmacro\result{pow(0.5,-0.5)}
$(\tfrac12)^{-1/2}\ne\result=\sqrt2?$\\
\end{document}
I also noticed a similar problem independently: pow(0.1, 0.5) = 3.1601, which should be
0.3162..
It must be a new problem because I encountered this problem when I updated TikZ/PGF.
pow(0.1, 0.5) calls exp(-1.15063).
At the end of \pgfmathdeclarefunction{exp},
\pgfmathreciprocal@ is called if exp's #1 is negative.
However, #1's value becomes positive during exp's execution,
and reciprocal is not called.
I have not found the true cause of this new bug, but
I fixed this by changing the definition of pow
in pgfmathfunctions.basic.code.tex as follows.
At the end of \pgfmathdeclarefunction{pow}{2}{...},
you can find \pgfmathexp@{\pgfmath@tonumber{\pgfmath@x}}.
Please replace this line with the following two lines:
\edef\pgf@fixedvalue{\pgfmath@tonumber{\pgfmath@x}}
\pgfmathex@{\pgf@fixedvalue}
I also noticed a similar problem independently: pow(0.1, 0.5) = 3.1601, which should be
0.3162..
It must be a new problem because I encountered this problem when I updated TikZ/PGF.
pow(0.1, 0.5) calls exp(-1.15063).
At the end of \pgfmathdeclarefunction{exp},
\pgfmathreciprocal@ is called if exp's #1 is negative.
However, #1's value becomes positive during exp's execution,
and reciprocal is not called.
I have not found the true cause of this new bug, but
I fixed this by changing the definition of pow
in pgfmathfunctions.basic.code.tex as follows.
At the end of \pgfmathdeclarefunction{pow}{2}{...},
you can find \pgfmathexp@{\pgfmath@tonumber{\pgfmath@x}}.
Please replace this line with the following two lines:
\edef\pgf@fixedvalue{\pgfmath@tonumber{\pgfmath@x}}
\pgfmathexp@{\pgf@fixedvalue}
In the CVS, pow seems to work correctly.