anchor.diff:      {
         counter++;
         $c = counter;
  -      Type lhstype = $lhs.tsym;
  -      Type rhstype = $rhs.tsym;
  -      if (lhstype.getName().equals("vector") || rhstype.getName().equals("vector")) {
  -        $tsym = new BuiltInTypeSymbol("vector");
  -      } else {
  -        $tsym = new BuiltInTypeSymbol("int");
  -      }
  +      $tsym = exprType($lhs.tsym, $rhs.tsym);
       }
       -> {lhstype.getName().equals("vector") && rhstype.getName().equals("vector")}? addVecVec(counter = {counter}, lhs_counter = {$lhs.c}, lhs = {$lhs.st}, rhs_counter = {$rhs.c}, rhs = {$rhs.st})
       -> {lhstype.getName().equals("vector")}? addVecInt(counter = {counter}, lhs_counter = {$lhs.c}, lhs = {$lhs.st}, rhs_counter = {$rhs.c}, rhs = {$rhs.st})
  
positive.code:   int ifCounter = 0;
    int loopCounter = 0;
    int counter = 0;
  }
  
  program
  
negative.code:     {
        counter++;
        $c = counter;
        $tsym = exprType($lhs.tsym, $rhs.tsym);
      }
      -> {lhstype.getName().equals("vector") && rhstype.getName().equals("vector")}? divVecVec(counter = {counter}, lhs_counter = {$lhs.c}, lhs = {$lhs.st}, rhs_counter = {$rhs.c}, rhs = {$rhs.st})
      -> {lhstype.getName().equals("vector")}? divVecInt(counter = {counter}, lhs_counter = {$lhs.c}, lhs = {$lhs.st}, rhs_counter = {$rhs.c}, rhs = {$rhs.st})
  