code: protected static float A( int x , int y , GrayF32 flow ) {
  		int index = flow.getIndex(x,y);
  
  		float u0 = flow.data[index-1];
  		float u1 = flow.data[index+1];
  		float u2 = flow.data[index-flow.stride];
  		float u3 = flow.data[index+flow.stride];
  
  		float u4 = flow.data[index-1-flow.stride];
  		float u5 = flow.data[index+1-flow.stride];
  		float u6 = flow.data[index-1+flow.stride];
  		float u7 = flow.data[index+1+flow.stride];
  
  		return (1.0f/6.0f)*(u0 + u1 + u2 + u3) + (1.0f/12.0f)*(u4 + u5 + u6 + u7);
  	}
docs: See equation 25.  Fast unsafe version