fromzeck(n) = { my (v=0, j); while (n, n-=2^j=valuation(n,2); v+=fibonacci(2+j);); return (v); }

{
	m = -1;

	for (n = 0, 12,
		if (n==0,
				zz = [0, 1],
			n==1,
				zz = concat([2*z | z <- [1]],
							[4*z + 1 | z <- [1]]),

				zz = concat([2*z | z <- zz],
							[4*z + 1 | z <- zz]);
		);

		vv = vecsort(apply(fromzeck, zz));
		apply (v -> print (m++ " " v), vv);
	);
}

quit