Hmm maybe we could convince Vexorian to make operator overloading available for the ^ operator? Then you could use it as normal.
+ rep to HINDYhat for the nice help.
Edit: Now I have tried it a bit but I don't get it working if I have this code:

JASS:
function Trig_HashTest_Actions takes nothing returns nothing
local real b = 4
local real i = 5
local real x = 5
local real ba
set b = ((Pow(b, 7) / 67) * 127)
call BJDebugMsg(R2S(b))
set b = (((Pow(Pow(b, 7), (1.0/ 7.0)))*67.0)/127.0)
call BJDebugMsg(R2S(b))
endfunction
The last output doesn't become 4 it becomes 16383.967