code: function mpn_shr1(r, n, l) {
  	var c = 0;
  	while (l > 0) {
  		var w = n[--l] | c;
  		c = w << 31;
  		r[l] = w >>> 1;
  	}
  	return c;
  }
docs: /*
  Logically shifts the given multi-precision integer n by one bit to the
  right, stores the result into r, and returns the bit shifted out.