Em đang làm 1 bài tập vẽ Parabol x=y^2

Ơ cái đoạn y tăng nhanh hơn x em không biết lập trình sai thuật toán chỗ nào mà nó chạy không chuẩn. Anh nào xem qua hộ em với. Thanks các anh nhiều

Code:
void MidPointCurve3_20(void)
{
	double x,y;
	x=0;y=0;

	int N=800;
	double dy=6.0/N;
	int m,n;
	n=0;m=0;
	double P=-1;
	double ya;

	glColor3f(1,0,0);
	glBegin(GL_POINTS);
		
		
		ya=(1.0/2)/dy;
		glVertex2i(n,m);
		while(m<ya)
		{
			y=m*dy;
			if(P<0)			
			{
				P=P-4*y-4;
				n++;
			}				
			else
				P=P-4*y-6;			
			m++;
			glVertex2i(n,m);
			glVertex2i(n,-m);
		}
		x=n*dy;
		P=4*x-4*y*y-8*y+3;
		while(n<N/2)
		{
			if(P<0)
				P+=4;
			else
			{
				y=m*dy;
				P=P-8*y-8;
				m++;
			}				
			n++;
			glVertex2i(n,m);
			glVertex2i(n,-m);
		}
	glEnd();
}