\\ m = exponent of msb
is(n, m) = {
	my (x=n);
	for (k=0, m,
		if (bittest(n, m-k)!=bittest(x, 0)
		 || bittest(x, m-k)!=bittest(n, k),
		 	return (0)
		);
		x=bitxor(x, x\2)
	);
	return (1)
}

{
	for (w=1, oo,
		h=ceil(w/2);
		for (m=0, 2^h-1,
			x=n=m*2^(w-h);
			for (i=0, w-h-1,
				if (bittest(x,w-1-i),
					n+=2^i;
				);
				x=bitxor(x,x\2);
			);
			if (is(n, w-1),
				print (k++ " " n);
			);
		);
		if (k>=10 000,
			break;
		);
	);
}

quit