static void main(void)
{

        unsigned min;
	int value, latency;


	latency =  -2;

	if (latency > (((min) >> 8) & 0xff)) {
		value = 0xa;
	}

	if (value < 0) return;

	((min) = (((min) & ~0xff)));

}
