> Increment the pointer
< Decrement the pointer
+ Increment the byte at the pointer
- Decrement the byte at the pointer
. Output the byte at the pointer
, Input a byte and store it in the byte at the pointer
[ Start a loop: Execute delimited code until the byte at the pointer equals zero
] End of loop: Jump back to the matching [

  move(s,d)      = to(s) [ to(d) + to(s) - ]
  move2(s,d1,d2) = to(s) [ to(d1) + to(d2) + to(s) - ]
  copy(s,d,t)    = move2(s,d,t) move(t,s)
  double(s,d)    = move2(s,d,d)
  multiplyconst(s,d,n) = for(s) to(d) constant(n) next(s)
  multiply(s1,s2,d,t) = for(s1) copy(s2,d,t) next(s1) zero(s2)
  power(x,p,d,t1,t2) = to(d) + for(p) times(x,d,t1,t2) move(t1,d) next(p) zero(x)

