I had copied the precedences from bash's expr.c. (zsh and busybox ash also follow bash.) But Python and R parse it as -(3 ** 2) rather than (-3) ** 2. Fixes issue #1.