Q:

Problems with pgfmath

I drew a parabola graphic y = 0.5 - a x^2 which crosses the x axis at the "roots" points 0.75 and -0.75 and has a bend at coordinate (0, 0.5).  And I want to mark a point on the parabola, which has a coordinate 0.33 * \rootPosition on the x-axis. ( Here \rootPosition is a number 0.75).  I wrote the following code
\documentclass[tikz]{standalone}
\usepackage{tikz, pgfmath} 

\begin{document}
\begin{tikzpicture} [scale=3, >=stealth]

\def\bendPosition{0.5};
\def\rootPosition{0.75};
\def\coeffA{\pgfmathdivide{\bendPosition}{\pgfmathpow{\rootPosition}{2}}};

\draw[thick] (-\rootPosition,0) parabola bend (0, \bendPosition) (\rootPosition, 0);

\def\arbitraryPosition{0.33 * \rootPosition};

\coordinate (arbitrary_point) at (\arbitraryPosition, \bendPosition - \coeffA* \pgfmathpow{\arbitraryPosition}{2}));

\filldraw[black] (arbitrary_point) circle(0.4pt);       
\end{tikzpicture}
\end{document}

But when I compile this code, I get the error
!  Incomplete \iffalse; all the text ignored after line 14, where 14 line begins with \coordinate (arbitrary_point).. 
What's wrong? 

A:

You should not use the underscore character in the macro names even though TikZ handles it sufficiently well for most cases.  Underscore character is a mathmode subscript command and you can safely avoid it with other types.  
The main problem is that math operations don't expand to a result when found on the path.  They save the result in a macro called \pgfmathresult and the parser has to see that one but not the math operators. 
\begin{tikzpicture} [scale=3, >=stealth]
\def\bendPosition{0.5};
\def\rootPosition{0.75};
\pgfmathsetmacro\coeffA{\bendPosition/(\rootPosition)^2}
\draw[thick] (-\rootPosition,0) parabola bend (0, \bendPosition) (\rootPosition, 0);
\pgfmathsetmacro\arbitraryPosition{0.33 * \rootPosition}
\coordinate (arbitrary_point) at (\arbitraryPosition, {\bendPosition - \coeffA* (\arbitraryPosition)^2});
\filldraw[black] (arbitrary_point) circle(0.4pt);       
\end{tikzpicture}

