/* Task 1, test 2
 * Tests:
 *** Dead code elimination
 *   Constant propagation
 *   CSE
 * Author: Bryan Mills & Daniel Lee
 */

void print_int (int i) {}

void main (void)
{
  int c, d, e, f;
  int ITERS;

    ITERS = 1500000000;    
    d = 0;
    
    for (c = 0; c < ITERS; c = c + 1)
    {
       if (d == 0) /* always true */
           f = c + d;
       else        /* never taken */
           f = 0;
       e = c + d;
       while (d != 0) /* always false */
       {
           e = 0; /* kills available expressions */
           f = 0; /* kills available expressions */
       }
       e = e + f + e + f;
    }
    
    print_int (e);

    for (c = 0; c < ITERS; c = c + 1)
    {  /* This loop body is actually dead. */
       if (d == 0) /* always true */
           f = c + d;
       else        /* never taken */
           f = 0;
       e = c + d;
       while (d != 0) /* always false */
       {
           e = 0; /* kills available expressions */
           f = 0; /* kills available expressions */
       }
       e = e + f + e + f;
    }

    return;
    
    print_int (e);
}
