Small. Fast. Reliable.
Choose any three.
*** 145,150 ****
--- 145,152 ----
  
  *UPDATE:* A reasonable encoding is nSuffix*iScale+nPrefix when the result is <128,and nSuffix>0, nSuffix*128+nPrefix when nPrefix<128, and 0, nPrefix, nSuffix for other cases.  Unfortunately, measurements show the results to be mixed.  Very slight reduction to index size (.4% to 1%).  More interesting is that a certain number of the segment trees end up one level shorter, which I'm not sure how to quantify.  Having a one-level-shorter btree 1% of the time is probably much more interesting than a 1% gain in storage size.
  
+ *UPDATE:* Another reasonable encoding would be to interleave the prefix and suffix into the even and odd bits, then encode that.  This is pretty cute!  It doesn't allow for variability in how many bits are allocated to the prefix versus the suffix, though, other than varying the ordering such that one item is granted 3 bits and the other 4.  Might also be slower.
+ 
  ----
  
  *store interior nodes inline*