package comments;

public class CommonSubexpressionElimination 
{
	public static void main(String[] args)
	{	
		int y = 0;
		int x = 1;
		int z = 9;
		int u = 0;
		int v = 0;

		//case 1
		test1(y, 5);


		//case 2
		test2(y, z);

		//case 3
		test3(y, z);

		//case 4

		test4(u, v);

		//case 5
		test5(u, v);
		
	}

	private static void test5(int u, int v) 
	{
		int y;
		int x;
		for(int i=0; i<100 ; i++)
		{
			if(i<10)
				x = (u-v) + (u+v);
			y = (u-v);
		}

		for(int i=0; i<100 ; i++)
		{
		  block[i] = block2[i];	
		}
				
	}

	private static void test4(int u, int v) 
	{
		int x;
		for(int i=0; i<100 ; i++)
		{
			x = (u-v) + (u+v) + (u*v)*(u/v);
		}
	}

	private static void test3(int y, int z) 
	{
		int x;
		for(int i=0; i<100 ; i++)
		{
			x = (z+y) + (z+y) + (z-y)*(z-y);
		}
	}

	private static void test2(int y, int z) 
	{
		int x;
		for(int i=0; i<100 ; i++)
		{
			x = (z+y) + (z+y);
		}
	}

	private static void test1(int y, int z) 
	{
		int x;
		for(int i=0; i<100 ; i++)
		{
			x = (z*y) + (z*y);
		}
	}

}
