long cread(long *xp) {  
	return (xp ? *xp : 0); 
	}
	
long cread_alt(long *xp) {
	
	long zero = 0;
	long result2 = 0;
	
	if (!xp)
		xp = &zero; //make pointer non-null in order to be able to use cmove 
	
	return *xp;
	
	}
	

