#define half_rounded(x)   (((x) + ((x) < 0 ? 0 : 1)) / 2)

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
	int num, times;
	int i;
	int r, shift;
	if (argc < 3)
	{
		printf("Usage: %s <num> <times>\n");
		return -1;
	}

	num = atoi(argv[1]);
	times = atoi(argv[2]);
	r = num;
	shift = num;
	for (i = 0; i < times; i++)
	{
		int rr = half_rounded(r);
		printf("%d. half_round(%d) == %d :: %d >> 1 = %d\n", i+1, r, rr, shift, shift >> 1);
		r = rr;
		shift >>= 1;
	}
	
	return 0;
}