There's a much easier way. For over 10 years (since Tcl 7.0), expressions have supported the pow() function. pow() accepts 2 floating-point arguments, like pow($x,$y), which would raise x to the y power:
% set x 2
2
% expr { pow($x, 2) }
4.0
% expr { pow($x, 10) }
1024.0
% expr { pow($x, 5.75)...