rc = ((rb + b) - (y * divisor)) << 32; 
rc = ((rb + c) - (y * divisor)) << 32; 
void div128_by_32( unsigned long dividend_high, unsigned long dividend_low,		   unsigned divisor, struct div_result *dr ){	unsigned long a,b,c,d, w,x,y,z, ra,rb,rc;	a = dividend_high >> 32;	b = dividend_high & 0xffffffff;	c = dividend_low >> 32;	d = dividend_low & 0xffffffff;	w = a/divisor;	ra = (a - (w * divisor)) << 32;	x = (ra + b)/divisor;	rb = ((ra + b) - (x * divisor)) << 32;	y = (rb + c)/divisor;	rc = ((rb + b) - (y * divisor)) << 32;	z = (rc + d)/divisor;	dr->result_high = (w << 32) + x;	dr->result_low  = (y << 32) + z;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a1c7e111934b6375baf07a970d6c890d18d7e34f/time.c/buggy/arch/ppc64/kernel/time.c