private void isaac() {
		lastResult += ++counter;
		for (int i = 0; i < 256; i++) {
			int j = memory[i];
			if ((i & 3) == 0) {
				accumulator ^= accumulator << 13;
			} else if ((i & 3) == 1) {
				accumulator ^= accumulator >>> 6;
			} else if ((i & 3) == 2) {
				accumulator ^= accumulator << 2;
			} else if ((i & 3) == 3) {
				accumulator ^= accumulator >>> 16;
			}
			accumulator += memory[i + 128 & 0xff];
			int k;
			memory[i] = k = memory[(j & 0x3fc) >> 2] + accumulator + lastResult;
			results[i] = lastResult = memory[(k >> 8 & 0x3fc) >> 2] + j;
		}
	}