function add(x, y) {
    var lsb = (x & 0xffff) + (y & 0xffff);
    var msb = (x >>>   16) + (y >>>   16) + (lsb >>> 16);
    return (msb << 16) | (lsb & 0xffff);
  }
function add(x, y) {
    var lsb = (x & 0xffff) + (y & 0xffff);
    var msb = (x >>>   16) + (y >>>   16) + (lsb >>> 16);
    return (msb << 16) | (lsb & 0xffff);
  }
function add ( x , y ) { var lsb = ( x & 0xffff ) + ( y & 0xffff ) ; var msb = ( x >>> 16 ) + ( y >>> 16 ) + ( lsb >>> 16 ) ; return ( msb << 16 ) | ( lsb & 0xffff ) ; }
generation counter /* private: 32-bit integer safe adder
generation counter / * private : 32 - bit integer safe adder