Index: src/ArgTweak/module.mk
===================================================================
--- src/ArgTweak/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ArgTweak/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,18 +1,4 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:50:11 2015
-## Update Count     : 1
-###############################################################################
+SRC +=  ArgTweak/Rewriter.cc \
+#	ArgTweak/Mutate.cc \
+	$(NULL)
 
-#SRC +=  ArgTweak/Rewriter.cc \
-#	ArgTweak/Mutate.cc
Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,670 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// CodeGenerator.cc -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 16:52:58 2015
-// Update Count     : 144
-//
-
-#include <algorithm>
-#include <iostream>
-#include <cassert>
-#include <list>
-
-#include "Parser/ParseNode.h"
-
-#include "SynTree/Type.h"
-#include "SynTree/Expression.h"
-#include "SynTree/Initializer.h"
-#include "SynTree/Statement.h"
-
-#include "utility.h"
-#include "UnimplementedError.h"
-
-#include "CodeGenerator.h"
-#include "OperatorTable.h"
-#include "GenType.h"
-
-using namespace std;
-
-namespace CodeGen {
-	int CodeGenerator::tabsize = 4;
-
-	// the kinds of statements that would ideally be separated by more whitespace
-	bool wantSpacing( Statement * stmt) {
-		return dynamic_cast< IfStmt * >( stmt ) || dynamic_cast< CompoundStmt * >( stmt ) ||
-			dynamic_cast< WhileStmt * >( stmt ) || dynamic_cast< ForStmt * > ( stmt ) || dynamic_cast< SwitchStmt *>( stmt );
-	}
-
-	ostream & CodeGenerator::Indenter::operator()( ostream & output ) {
-	  return output << string( cg.cur_indent, ' ' );
-	}
-
-	ostream & operator<<( ostream & output, CodeGenerator::Indenter &indent ) {
-		return indent( output );
-	}
-
-	CodeGenerator::CodeGenerator( std::ostream &os ) : indent(*this), cur_indent( 0 ), insideFunction( false ), output( os ) { }
-
-	CodeGenerator::CodeGenerator( std::ostream &os, std::string init, int indentation, bool infunp )
-			: indent(*this), cur_indent( indentation ), insideFunction( infunp ), output( os ) {
-		//output << std::string( init );
-	}
-
-	CodeGenerator::CodeGenerator( std::ostream &os, char *init, int indentation, bool infunp )
-			: indent(*this), cur_indent( indentation ), insideFunction( infunp ), output( os ) {
-		//output << std::string( init );
-	}
-
-	string mangleName( DeclarationWithType *decl ) {
-		if ( decl->get_mangleName() != "" ) {
-			return decl->get_mangleName();
-		} else {
-			return decl->get_name();
-		} // if
-	}
-
-	//*** Declarations
-	void CodeGenerator::visit( FunctionDecl *functionDecl ) {
-		handleStorageClass( functionDecl );
-		if ( functionDecl->get_isInline() ) {
-			output << "inline ";
-		} // if
-		if ( functionDecl->get_isNoreturn() ) {
-			output << "_Noreturn ";
-		} // if
-		output << genType( functionDecl->get_functionType(), mangleName( functionDecl ) );
-
-		// how to get this to the Functype?
-		std::list< Declaration * > olds = functionDecl->get_oldDecls();
-		if ( ! olds.empty() ) {
-			output << " /* function has old declaration */";
-		} // if
-
-		// acceptAll( functionDecl->get_oldDecls(), *this );
-		if ( functionDecl->get_statements() ) {
-			functionDecl->get_statements()->accept(*this );
-		} // if
-	}
-
-	void CodeGenerator::visit( ObjectDecl *objectDecl ) {
-		handleStorageClass( objectDecl );
-		output << genType( objectDecl->get_type(), mangleName( objectDecl ) );
-	
-		if ( objectDecl->get_init() ) {
-			output << " = ";
-			objectDecl->get_init()->accept( *this );
-		} // if
-		if ( objectDecl->get_bitfieldWidth() ) {
-			output << ":";
-			objectDecl->get_bitfieldWidth()->accept( *this );
-		} // if
-	}
-
-	void CodeGenerator::handleAggregate( AggregateDecl *aggDecl ) {
-		if ( aggDecl->get_name() != "" )
-			output << aggDecl->get_name();
-	
-		std::list< Declaration * > &memb = aggDecl->get_members();
-
-		if ( ! memb.empty() ) {
-			output << " {" << endl;
-
-			cur_indent += CodeGenerator::tabsize; 
-			for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end();  i++) {
-				output << indent; 
-				(*i)->accept(*this );
-				output << ";" << endl;
-			}
-
-			cur_indent -= CodeGenerator::tabsize; 
-
-			output << indent << "}";
-		} // if
-	}
-
-	void CodeGenerator::visit( StructDecl *structDecl ) {
-		output << "struct ";
-		handleAggregate( structDecl );
-	}
-
-	void CodeGenerator::visit( UnionDecl *aggregateDecl ) {
-		output << "union ";
-		handleAggregate( aggregateDecl );
-	}
-  
-	void CodeGenerator::visit( EnumDecl *aggDecl ) {
-		output << "enum ";
-
-		if ( aggDecl->get_name() != "" )
-			output << aggDecl->get_name();
-	
-		std::list< Declaration* > &memb = aggDecl->get_members();
-
-		if ( ! memb.empty() ) {
-			output << " {" << endl;
-
-			cur_indent += CodeGenerator::tabsize; 
-			for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end();  i++) {
-				ObjectDecl *obj = dynamic_cast< ObjectDecl* >( *i );
-				assert( obj );
-				output << indent << mangleName( obj ); 
-				if ( obj->get_init() ) {
-					output << " = ";
-					obj->get_init()->accept(*this );
-				} // if
-				output << "," << endl;
-			} // for
-
-			cur_indent -= CodeGenerator::tabsize; 
-
-			output << indent << "}";
-		} // if
-	}
-  
-	void CodeGenerator::visit( ContextDecl *aggregateDecl ) {}
-  
-	void CodeGenerator::visit( TypedefDecl *typeDecl ) {
-		output << "typedef ";
-		output << genType( typeDecl->get_base(), typeDecl->get_name() );
-	}
-  
-	void CodeGenerator::visit( TypeDecl *typeDecl ) {
-		// really, we should mutate this into something that isn't a TypeDecl but that requires large-scale changes,
-		// still to be done
-		output << "extern unsigned long " << typeDecl->get_name();
-		if ( typeDecl->get_base() ) {
-			output << " = sizeof( " << genType( typeDecl->get_base(), "" ) << " )";
-		} // if
-	}
-
-	void CodeGenerator::visit( SingleInit *init ) {
-		init->get_value()->accept( *this );
-	}
-
-	void CodeGenerator::visit( ListInit *init ) {
-		output << "{ ";
-		genCommaList( init->begin_initializers(), init->end_initializers() );
-		output << " }";
-	}
-
-	void CodeGenerator::visit( Constant *constant ) { 
-		output << constant->get_value() ;
-	}
-
-	//*** Expressions
-	void CodeGenerator::visit( ApplicationExpr *applicationExpr ) {
-		if ( VariableExpr *varExpr = dynamic_cast< VariableExpr* >( applicationExpr->get_function() ) ) {
-			OperatorInfo opInfo;
-			if ( varExpr->get_var()->get_linkage() == LinkageSpec::Intrinsic && operatorLookup( varExpr->get_var()->get_name(), opInfo ) ) {
-				std::list< Expression* >::iterator arg = applicationExpr->get_args().begin();
-				switch ( opInfo.type ) {
-				  case OT_PREFIXASSIGN:
-				  case OT_POSTFIXASSIGN:
-				  case OT_INFIXASSIGN:
-					{
-						assert( arg != applicationExpr->get_args().end() );
-						if ( AddressExpr *addrExpr = dynamic_cast< AddressExpr * >( *arg ) ) {
-	        
-							*arg = addrExpr->get_arg();
-						} else {
-							UntypedExpr *newExpr = new UntypedExpr( new NameExpr( "*?" ) );
-							newExpr->get_args().push_back( *arg );
-							*arg = newExpr;
-						} // if
-						break;
-					}
-	      
-				  default:
-					// do nothing
-					;
-				}
-	    
-				switch ( opInfo.type ) {
-				  case OT_INDEX:
-					assert( applicationExpr->get_args().size() == 2 );
-					(*arg++)->accept( *this );
-					output << "[";
-					(*arg)->accept( *this );
-					output << "]";
-					break;
-	      
-				  case OT_CALL:
-					// there are no intrinsic definitions of the function call operator
-					assert( false );
-					break;
-	      
-				  case OT_PREFIX:
-				  case OT_PREFIXASSIGN:
-					assert( applicationExpr->get_args().size() == 1 );
-					output << "(";
-					output << opInfo.symbol;
-					(*arg)->accept( *this );
-					output << ")";
-					break;
-	      
-				  case OT_POSTFIX:
-				  case OT_POSTFIXASSIGN:
-					assert( applicationExpr->get_args().size() == 1 );
-					(*arg)->accept( *this );
-					output << opInfo.symbol;
-					break;
-
-				  case OT_INFIX:
-				  case OT_INFIXASSIGN:
-					assert( applicationExpr->get_args().size() == 2 );
-					output << "(";
-					(*arg++)->accept( *this );
-					output << opInfo.symbol;
-					(*arg)->accept( *this );
-					output << ")";
-					break;
-	      
-				  case OT_CONSTANT:
-				  case OT_LABELADDRESS:
-					// there are no intrinsic definitions of 0/1 or label addresses as functions
-					assert( false );
-				}
-			} else {
-				varExpr->accept( *this );
-				output << "(";
-				genCommaList( applicationExpr->get_args().begin(), applicationExpr->get_args().end() );
-				output << ")";
-			} // if
-		} else {
-			applicationExpr->get_function()->accept( *this );
-			output << "(";
-			genCommaList( applicationExpr->get_args().begin(), applicationExpr->get_args().end() );
-			output << ")";
-		} // if
-	}
-  
-	void CodeGenerator::visit( UntypedExpr *untypedExpr ) {
-		if ( NameExpr *nameExpr = dynamic_cast< NameExpr* >( untypedExpr->get_function() ) ) {
-			OperatorInfo opInfo;
-			if ( operatorLookup( nameExpr->get_name(), opInfo ) ) {
-				std::list< Expression* >::iterator arg = untypedExpr->get_args().begin();
-				switch ( opInfo.type ) {
-				  case OT_INDEX:
-					assert( untypedExpr->get_args().size() == 2 );
-					(*arg++)->accept( *this );
-					output << "[";
-					(*arg)->accept( *this );
-					output << "]";
-					break;
-	      
-				  case OT_CALL:
-					assert( false );
-					break;
-	      
-				  case OT_PREFIX:
-				  case OT_PREFIXASSIGN:
-				  case OT_LABELADDRESS:
-					assert( untypedExpr->get_args().size() == 1 );
-					output << "(";
-					output << opInfo.symbol;
-					(*arg)->accept( *this );
-					output << ")";
-					break;
-	      
-				  case OT_POSTFIX:
-				  case OT_POSTFIXASSIGN:
-					assert( untypedExpr->get_args().size() == 1 );
-					(*arg)->accept( *this );
-					output << opInfo.symbol;
-					break;
-  
-				  case OT_INFIX:
-				  case OT_INFIXASSIGN:
-					assert( untypedExpr->get_args().size() == 2 );
-					output << "(";
-					(*arg++)->accept( *this );
-					output << opInfo.symbol;
-					(*arg)->accept( *this );
-					output << ")";
-					break;
-					
-				  case OT_CONSTANT:
-					// there are no intrinsic definitions of 0 or 1 as functions
-					assert( false );
-				}
-			} else {
-				nameExpr->accept( *this );
-				output << "(";
-				genCommaList( untypedExpr->get_args().begin(), untypedExpr->get_args().end() );
-				output << ")";
-			} // if
-		} else {
-			untypedExpr->get_function()->accept( *this );
-			output << "(";
-			genCommaList( untypedExpr->get_args().begin(), untypedExpr->get_args().end() );
-			output << ")";
-		} // if
-	}
-  
-	void CodeGenerator::visit( NameExpr *nameExpr ) {
-		OperatorInfo opInfo;
-		if ( operatorLookup( nameExpr->get_name(), opInfo ) ) {
-			assert( opInfo.type == OT_CONSTANT );
-			output << opInfo.symbol;
-		} else {
-			output << nameExpr->get_name();
-		} // if
-	}
-  
-	void CodeGenerator::visit( AddressExpr *addressExpr ) {
-		output << "(&";
-		// this hack makes sure that we don't convert "constant_zero" to "0" if we're taking its address
-		if ( VariableExpr *variableExpr = dynamic_cast< VariableExpr* >( addressExpr->get_arg() ) ) {
-			output << mangleName( variableExpr->get_var() );
-		} else {
-			addressExpr->get_arg()->accept( *this );
-		} // if
-		output << ")";
-	}
-
-	void CodeGenerator::visit( CastExpr *castExpr ) {
-		output << "((";
-		if ( castExpr->get_results().empty() ) {
-			output << "void" ;
-		} else {
-			output << genType( castExpr->get_results().front(), "" );
-		} // if
-		output << ")";
-		castExpr->get_arg()->accept( *this );
-		output << ")";
-	}
-  
-	void CodeGenerator::visit( UntypedMemberExpr *memberExpr ) {
-		assert( false );
-	}
-  
-	void CodeGenerator::visit( MemberExpr *memberExpr ) {
-		memberExpr->get_aggregate()->accept( *this );
-		output << "." << mangleName( memberExpr->get_member() );
-	}
-  
-	void CodeGenerator::visit( VariableExpr *variableExpr ) {
-		OperatorInfo opInfo;
-		if ( variableExpr->get_var()->get_linkage() == LinkageSpec::Intrinsic && operatorLookup( variableExpr->get_var()->get_name(), opInfo ) && opInfo.type == OT_CONSTANT ) {
-			output << opInfo.symbol;
-		} else {
-			output << mangleName( variableExpr->get_var() );
-		} // if
-	}
-  
-	void CodeGenerator::visit( ConstantExpr *constantExpr ) {
-		assert( constantExpr->get_constant() );
-		constantExpr->get_constant()->accept( *this );
-	}
-  
-	void CodeGenerator::visit( SizeofExpr *sizeofExpr ) {
-		output << "sizeof(";
-		if ( sizeofExpr->get_isType() ) {
-			output << genType( sizeofExpr->get_type(), "" );
-		} else {
-			sizeofExpr->get_expr()->accept( *this );
-		} // if
-		output << ")";
-	}
-  
-	void CodeGenerator::visit( LogicalExpr *logicalExpr ) {
-		output << "(";
-		logicalExpr->get_arg1()->accept( *this );
-		if ( logicalExpr->get_isAnd() ) {
-			output << " && ";
-		} else {
-			output << " || ";
-		} // if
-		logicalExpr->get_arg2()->accept( *this );
-		output << ")";
-	}
-  
-	void CodeGenerator::visit( ConditionalExpr *conditionalExpr ) {
-		output << "(";
-		conditionalExpr->get_arg1()->accept( *this );
-		output << " ? ";
-		conditionalExpr->get_arg2()->accept( *this );
-		output << " : ";
-		conditionalExpr->get_arg3()->accept( *this );
-		output << ")";
-	}
-  
-	void CodeGenerator::visit( CommaExpr *commaExpr ) {
-		output << "(";
-		commaExpr->get_arg1()->accept( *this );
-		output << " , ";
-		commaExpr->get_arg2()->accept( *this );
-		output << ")";
-	}
-  
-	void CodeGenerator::visit( TupleExpr *tupleExpr ) {}
-  
-	void CodeGenerator::visit( TypeExpr *typeExpr ) {}
-
-	//*** Statements
-	void CodeGenerator::visit( CompoundStmt *compoundStmt ) {
-		std::list<Statement*> ks = compoundStmt->get_kids();
-		output << "{" << endl;
-
-		cur_indent += CodeGenerator::tabsize;
-
-		for ( std::list<Statement *>::iterator i = ks.begin(); i != ks.end();  i++) {
-			output << indent << printLabels( (*i)->get_labels() );
-			(*i)->accept(*this );
-
-			output << endl;
-			if ( wantSpacing( *i ) ) {
-				output << endl;
-			}
-		}
-		cur_indent -= CodeGenerator::tabsize; 
-
-		output << indent << "}";
-	}
-
-	void CodeGenerator::visit( ExprStmt *exprStmt ) {
-		// I don't see why this check is necessary. 
-		// If this starts to cause problems then put it back in, 
-		// with an explanation
-		assert( exprStmt );
-
-		// if ( exprStmt != 0 ) {
-		exprStmt->get_expr()->accept( *this );
-		output << ";" ;
-		// } // if
-	}
-
-	void CodeGenerator::visit( IfStmt *ifStmt ) {
-		output << "if (";
-		ifStmt->get_condition()->accept(*this );
-		output << ") ";
-
-		ifStmt->get_thenPart()->accept(*this );
-
-		if ( ifStmt->get_elsePart() != 0) {
-			output << " else ";
-			ifStmt->get_elsePart()->accept(*this );
-		} // if
-	}
-
-	void CodeGenerator::visit( SwitchStmt *switchStmt ) {
-		output << "switch (" ;
-		switchStmt->get_condition()->accept(*this );
-		output << ") ";
-		
-		output << "{" << std::endl;
-		cur_indent += CodeGenerator::tabsize;
-
-		acceptAll( switchStmt->get_branches(), *this );
-
-		cur_indent -= CodeGenerator::tabsize;
-
-		output << indent << "}";
-	}
-
-	void CodeGenerator::visit( CaseStmt *caseStmt ) {
-		output << indent;
-		if ( caseStmt->isDefault()) {
-			output << "default";
-		} else {
-			output << "case ";
-			caseStmt->get_condition()->accept(*this );
-		} // if
-		output << ":\n";
-		
-		std::list<Statement *> sts = caseStmt->get_statements();
-
-		cur_indent += CodeGenerator::tabsize;
-		for ( std::list<Statement *>::iterator i = sts.begin(); i != sts.end();  i++) {
-			output << indent << printLabels( (*i)->get_labels() )  ;
-			(*i)->accept(*this );
-			output << endl;
-		}
-		cur_indent -= CodeGenerator::tabsize;
-	}
-
-	void CodeGenerator::visit( BranchStmt *branchStmt ) {
-		switch ( branchStmt->get_type()) {
-		  case BranchStmt::Goto:
-			if ( ! branchStmt->get_target().empty() )
-				output << "goto " << branchStmt->get_target();
-			else { 
-				if ( branchStmt->get_computedTarget() != 0 ) {
-					output << "goto *";
-					branchStmt->get_computedTarget()->accept( *this );
-				} // if
-			} // if
-			break;
-		  case BranchStmt::Break:
-			output << "break";
-			break;
-		  case BranchStmt::Continue:
-			output << "continue";
-			break;
-		}
-		output << ";";
-	}
-
-
-	void CodeGenerator::visit( ReturnStmt *returnStmt ) {
-		output << "return ";
-
-		// xxx -- check for null expression;
-		if ( returnStmt->get_expr() ) {
-			returnStmt->get_expr()->accept( *this );
-		} // if
-		output << ";";
-	}
-
-	void CodeGenerator::visit( WhileStmt *whileStmt ) {
-		if ( whileStmt->get_isDoWhile() )
-			output << "do" ;
-		else {
-			output << "while (" ;
-			whileStmt->get_condition()->accept(*this );
-			output << ")";
-		} // if
-		output << " ";
-
-		output << CodeGenerator::printLabels( whileStmt->get_body()->get_labels() );
-		whileStmt->get_body()->accept( *this );
-
-		output << indent;
-
-		if ( whileStmt->get_isDoWhile() ) {
-			output << " while (" ;
-			whileStmt->get_condition()->accept(*this );
-			output << ");";
-		} // if
-	}
-
-	void CodeGenerator::visit( ForStmt *forStmt ) {
-		output << "for (";
-
-		if ( forStmt->get_initialization() != 0 )
-			forStmt->get_initialization()->accept( *this );
-		else
-			output << ";";
-		
-		if ( forStmt->get_condition() != 0 )
-			forStmt->get_condition()->accept( *this );
-		output << ";";
-
-		if ( forStmt->get_increment() != 0 )
-			forStmt->get_increment()->accept( *this );
-		output << ") ";
-
-		if ( forStmt->get_body() != 0 ) {
-			output << CodeGenerator::printLabels( forStmt->get_body()->get_labels() );
-			forStmt->get_body()->accept( *this );
-		} // if
-	}
-
-	void CodeGenerator::visit( NullStmt *nullStmt ) {
-		//output << indent << CodeGenerator::printLabels( nullStmt->get_labels() );
-		output << "/* null statement */ ;";
-	}
-
-	void CodeGenerator::visit( DeclStmt *declStmt ) {
-		declStmt->get_decl()->accept( *this );
-	
-		if ( doSemicolon( declStmt->get_decl() ) ) {
-			output << ";";
-		} // if
-	}
-
-	std::string CodeGenerator::printLabels( std::list< Label > &l ) {
-		std::string str( "" );
-		l.unique(); // assumes a sorted list. Why not use set?
-
-		for ( std::list< Label >::iterator i = l.begin(); i != l.end(); i++ )
-			str += *i + ": ";
-
-		return str;
-	}
-
-	void CodeGenerator::handleStorageClass( Declaration *decl ) {
-		switch ( decl->get_storageClass() ) {
-		  case DeclarationNode::Extern:
-			output << "extern ";
-			break;
-		  case DeclarationNode::Static:
-			output << "static ";
-			break;
-		  case DeclarationNode::Auto:
-			// silently drop storage class
-			break;
-		  case DeclarationNode::Register:
-			output << "register ";
-			break;
-		  case DeclarationNode::Inline:
-			output << "inline ";
-			break;
-		  case DeclarationNode::Fortran:
-			output << "fortran ";
-			break;
-		  case DeclarationNode::Noreturn:
-			output << "_Noreturn ";
-			break;
-		  case DeclarationNode::Threadlocal:
-			output << "_Thread_local ";
-			break;
-		  case DeclarationNode::NoStorageClass:
-			break;
-		} // switch
-	}
-} // namespace CodeGen
-
-// Local Variables: //
-// tab-width: 4 //
-// mode: c++ //
-// compile-command: "make install" //
-// End: //
Index: src/CodeGen/CodeGenerator.h
===================================================================
--- src/CodeGen/CodeGenerator.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,127 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// CodeGenerator.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Thu Jun 11 13:24:23 2015
-// Update Count     : 23
-//
-
-#ifndef CODEGENV_H
-#define CODEGENV_H
-
-#include <list>
-
-#include "SynTree/SynTree.h"
-#include "SynTree/Visitor.h"
-#include "SymTab/Indexer.h"
-
-namespace CodeGen {
-	class CodeGenerator : public Visitor {
-	  public:
-		static int tabsize;
-
-		CodeGenerator( std::ostream &os );
-		CodeGenerator( std::ostream &os, std::string, int indent = 0, bool infun = false );
-		CodeGenerator( std::ostream &os, char *, int indent = 0, bool infun = false );
-
-		//*** Declaration
-		virtual void visit( StructDecl * );
-		virtual void visit( FunctionDecl * );
-		virtual void visit( ObjectDecl * );
-		virtual void visit( UnionDecl *aggregateDecl );
-		virtual void visit( EnumDecl *aggregateDecl );
-		virtual void visit( ContextDecl *aggregateDecl );
-		virtual void visit( TypedefDecl *typeDecl );
-		virtual void visit( TypeDecl *typeDecl );
-
-		//*** Initializer
-		virtual void visit( SingleInit * );
-		virtual void visit( ListInit * );
-
-		//*** Constant
-		virtual void visit( Constant * );
-
-		//*** Expression
-		virtual void visit( ApplicationExpr *applicationExpr );
-		virtual void visit( UntypedExpr *untypedExpr );
-		virtual void visit( NameExpr *nameExpr );
-		virtual void visit( AddressExpr *addressExpr );
-		virtual void visit( CastExpr *castExpr );
-		virtual void visit( UntypedMemberExpr *memberExpr );
-		virtual void visit( MemberExpr *memberExpr );
-		virtual void visit( VariableExpr *variableExpr );
-		virtual void visit( ConstantExpr *constantExpr ); 
-		virtual void visit( SizeofExpr *sizeofExpr );
-		virtual void visit( LogicalExpr *logicalExpr );
-		virtual void visit( ConditionalExpr *conditionalExpr );
-		virtual void visit( CommaExpr *commaExpr );
-		virtual void visit( TupleExpr *tupleExpr );
-		virtual void visit( TypeExpr *typeExpr );
-
-		//*** Statements
-		virtual void visit( CompoundStmt * );
-		virtual void visit( ExprStmt * );
-		virtual void visit( IfStmt * );
-		virtual void visit( SwitchStmt * );
-		virtual void visit( CaseStmt * );
-		virtual void visit( BranchStmt * );
-		virtual void visit( ReturnStmt * );
-		virtual void visit( WhileStmt * );
-		virtual void visit( ForStmt * );
-		virtual void visit( NullStmt * );
-		virtual void visit( DeclStmt * ); 
-
-		template< class Iterator > void genCommaList( Iterator begin, Iterator end );
-
-		struct Indenter {
-			Indenter(CodeGenerator &cg) : cg(cg) {}
-			CodeGenerator & cg;
-			std::ostream& operator()(std::ostream & os);
-		};
-	  private:
-
-		Indenter indent;
-		int cur_indent;
-		bool insideFunction;
-		std::ostream &output;
-
-		static std::string printLabels ( std::list < Label > & );
-		void handleStorageClass( Declaration *decl );
-		void handleAggregate( AggregateDecl *aggDecl );
-		void handleTypedef( NamedTypeDecl *namedType );
-
-	};
-	
-	template< class Iterator >
-	void CodeGenerator::genCommaList( Iterator begin, Iterator end ) {
-		if ( begin == end ) return;
-
-		for ( ;; ) {
-			(*begin++)->accept( *this );
-			if ( begin == end ) return;
-			output << ", ";
-		} // for
-	}
-  
-	inline bool doSemicolon( Declaration* decl ) {
-		if ( FunctionDecl* func = dynamic_cast< FunctionDecl* >( decl ) ) {
-			return ! func->get_statements();
-		} // if
-		return true;
-	}
-} // namespace CodeGen
-
-#endif // CODEGENV_H
-
-// Local Variables: //
-// tab-width: 4 //
-// mode: c++ //
-// compile-command: "make install" //
-// End: //
Index: src/CodeGen/CodeGenerator2.cc
===================================================================
--- src/CodeGen/CodeGenerator2.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/CodeGen/CodeGenerator2.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,666 @@
+//
+// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+//
+// CodeGenerator2.cc -- 
+//
+// Author           : Richard C. Bilson
+// Created On       : Mon May 18 07:44:20 2015
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu May 21 17:13:35 2015
+// Update Count     : 7
+//
+
+#include <algorithm>
+#include <iostream>
+#include <cassert>
+#include <list>
+
+#include "SynTree/Type.h"
+#include "SynTree/Declaration.h"
+#include "SynTree/Statement.h"
+#include "SynTree/Expression.h"
+#include "SynTree/Initializer.h"
+
+#include "utility.h"
+#include "UnimplementedError.h"
+
+#include "CodeGenerator2.h"
+#include "OperatorTable.h"
+#include "GenType.h"
+
+using namespace std;
+
+namespace CodeGen {
+	int CodeGenerator2::tabsize = 4;
+
+	CodeGenerator2::CodeGenerator2( std::ostream &os ) : cur_indent( 0 ), insideFunction( false ), before( os ), after() { }
+
+	CodeGenerator2::CodeGenerator2( std::ostream &os, std::string init, int indent, bool infunp )
+		: cur_indent( indent ), insideFunction( infunp ), before( os ) {
+		//before << std::string( init );
+	}
+
+	CodeGenerator2::CodeGenerator2( std::ostream &os, char *init, int indent, bool infunp )
+		: cur_indent( indent ), insideFunction( infunp ), before( os ) {
+		//before << std::string( init );
+	}
+
+	string mangleName( DeclarationWithType *decl ) {
+		if ( decl->get_mangleName() != "" ) {
+			return decl->get_mangleName();
+		} else {
+			return decl->get_name();
+		} // if
+	}
+  
+	//*** Declarations
+	void CodeGenerator2::visit( FunctionDecl *functionDecl ) {
+		handleStorageClass( functionDecl );
+		before << genType( functionDecl->get_functionType(), mangleName( functionDecl ) );
+
+		// how to get this to the Functype?
+		std::list< Declaration * > olds = functionDecl->get_oldDecls();
+		if ( ! olds.empty() ) {
+			before << " /* function has old declaration */";
+		} // if
+
+		// acceptAll( functionDecl->get_oldDecls(), *this );
+		if ( functionDecl->get_statements() ) {
+			functionDecl->get_statements()->accept(*this );
+		} // if
+	}
+
+	void CodeGenerator2::visit( ObjectDecl *objectDecl ) {
+		handleStorageClass( objectDecl );
+		before << genType( objectDecl->get_type(), mangleName( objectDecl ) );
+	
+		if ( objectDecl->get_init() ) {
+			before << " = ";
+			objectDecl->get_init()->accept( *this );
+		} // if
+		if ( objectDecl->get_bitfieldWidth() ) {
+			before << ":";
+			objectDecl->get_bitfieldWidth()->accept( *this );
+		} // if
+	}
+
+	void CodeGenerator2::handleAggregate( AggregateDecl *aggDecl ) {
+		if ( aggDecl->get_name() != "" )
+			before << aggDecl->get_name();
+	
+		std::list< Declaration * > &memb = aggDecl->get_members();
+
+		if ( ! memb.empty() ) {
+			before << endl << string( cur_indent, ' ' ) << "{" << endl;
+
+			cur_indent += CodeGenerator2::tabsize; 
+			for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end();  i++) {
+				before << string( cur_indent, ' ' ); 
+				(*i)->accept(*this );
+				before << ";" << endl;
+			}
+
+			cur_indent -= CodeGenerator2::tabsize; 
+
+			before << string( cur_indent, ' ' ) << "}";
+		} // if
+	}
+
+	void CodeGenerator2::visit( StructDecl *structDecl ) {
+		before << "struct ";
+		handleAggregate( structDecl );
+	}
+
+	void CodeGenerator2::visit( UnionDecl *aggregateDecl ) {
+		before << "union ";
+		handleAggregate( aggregateDecl );
+	}
+  
+	void CodeGenerator2::visit( EnumDecl *aggDecl ) {
+		before << "enum ";
+
+		if ( aggDecl->get_name() != "" )
+			before << aggDecl->get_name();
+	
+		std::list< Declaration* > &memb = aggDecl->get_members();
+
+		if ( ! memb.empty() ) {
+			before << endl << "{" << endl;
+
+			cur_indent += CodeGenerator2::tabsize; 
+			for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end();  i++) {
+				ObjectDecl *obj = dynamic_cast< ObjectDecl* >( *i );
+				assert( obj );
+				before << string( cur_indent, ' ' ) << mangleName( obj ); 
+				if ( obj->get_init() ) {
+					before << " = ";
+					obj->get_init()->accept(*this );
+				} // if
+				before << "," << endl;
+			} // for
+
+			cur_indent -= CodeGenerator2::tabsize; 
+
+			before << "}" << endl;
+		} // if
+	}
+  
+	void CodeGenerator2::visit( ContextDecl *aggregateDecl ) {}
+  
+	void CodeGenerator2::visit( TypedefDecl *typeDecl ) {
+		before << "typedef ";
+		before << genType( typeDecl->get_base(), typeDecl->get_name() );
+	}
+  
+	void CodeGenerator2::visit( TypeDecl *typeDecl ) {
+		// really, we should mutate this into something that isn't a TypeDecl but that requires large-scale changes,
+		// still to be done
+		before << "extern unsigned long " << typeDecl->get_name();
+		if ( typeDecl->get_base() ) {
+			before << " = sizeof( " << genType( typeDecl->get_base(), "" ) << " )";
+		} // if
+	}
+
+	void CodeGenerator2::visit( SingleInit *init ) {
+		init->get_value()->accept( *this );
+	}
+
+	void CodeGenerator2::visit( ListInit *init ) {
+		before << "{ ";
+		genCommaList( init->begin_initializers(), init->end_initializers() );
+		before << " }";
+	}
+
+	void CodeGenerator2::visit( Constant *constant ) { 
+		before << constant->get_value() ;
+	}
+
+	//*** Expressions
+	void CodeGenerator2::visit( ApplicationExpr *applicationExpr ) {
+		if ( VariableExpr *varExpr = dynamic_cast< VariableExpr* >( applicationExpr->get_function() ) ) {
+			OperatorInfo opInfo;
+			if ( varExpr->get_var()->get_linkage() == LinkageSpec::Intrinsic && operatorLookup( varExpr->get_var()->get_name(), opInfo ) ) {
+				std::list< Expression* >::iterator arg = applicationExpr->get_args().begin();
+				switch ( opInfo.type ) {
+				  case OT_PREFIXASSIGN:
+				  case OT_POSTFIXASSIGN:
+				  case OT_INFIXASSIGN:
+					{
+						assert( arg != applicationExpr->get_args().end() );
+						if ( AddressExpr *addrExpr = dynamic_cast< AddressExpr * >( *arg ) ) {
+	        
+							*arg = addrExpr->get_arg();
+						} else {
+							UntypedExpr *newExpr = new UntypedExpr( new NameExpr( "*?" ) );
+							newExpr->get_args().push_back( *arg );
+							*arg = newExpr;
+						} // if
+						break;
+					}
+	      
+				  default:
+					// do nothing
+					;
+				}
+	    
+				switch ( opInfo.type ) {
+				  case OT_INDEX:
+					assert( applicationExpr->get_args().size() == 2 );
+					(*arg++)->accept( *this );
+					before << "[";
+					(*arg)->accept( *this );
+					before << "]";
+					break;
+	      
+				  case OT_CALL:
+					// there are no intrinsic definitions of the function call operator
+					assert( false );
+					break;
+	      
+				  case OT_PREFIX:
+				  case OT_PREFIXASSIGN:
+					assert( applicationExpr->get_args().size() == 1 );
+					before << "(";
+					before << opInfo.symbol;
+					(*arg)->accept( *this );
+					before << ")";
+					break;
+	      
+				  case OT_POSTFIX:
+				  case OT_POSTFIXASSIGN:
+					assert( applicationExpr->get_args().size() == 1 );
+					(*arg)->accept( *this );
+					before << opInfo.symbol;
+					break;
+
+				  case OT_INFIX:
+				  case OT_INFIXASSIGN:
+					assert( applicationExpr->get_args().size() == 2 );
+					before << "(";
+					(*arg++)->accept( *this );
+					before << opInfo.symbol;
+					(*arg)->accept( *this );
+					before << ")";
+					break;
+	      
+				  case OT_CONSTANT:
+					// there are no intrinsic definitions of 0 or 1 as functions
+					assert( false );
+				}
+			} else {
+				varExpr->accept( *this );
+				before << "(";
+				genCommaList( applicationExpr->get_args().begin(), applicationExpr->get_args().end() );
+				before << ")";
+			} // if
+		} else {
+			applicationExpr->get_function()->accept( *this );
+			before << "(";
+			genCommaList( applicationExpr->get_args().begin(), applicationExpr->get_args().end() );
+			before << ")";
+		} // if
+	}
+  
+	void CodeGenerator2::visit( UntypedExpr *untypedExpr ) {
+		if ( NameExpr *nameExpr = dynamic_cast< NameExpr* >( untypedExpr->get_function() ) ) {
+			OperatorInfo opInfo;
+			if ( operatorLookup( nameExpr->get_name(), opInfo ) ) {
+				std::list< Expression* >::iterator arg = untypedExpr->get_args().begin();
+				switch ( opInfo.type ) {
+				  case OT_INDEX:
+					assert( untypedExpr->get_args().size() == 2 );
+					(*arg++)->accept( *this );
+					before << "[";
+					(*arg)->accept( *this );
+					before << "]";
+					break;
+	      
+				  case OT_CALL:
+					assert( false );
+					break;
+	      
+				  case OT_PREFIX:
+				  case OT_PREFIXASSIGN:
+					assert( untypedExpr->get_args().size() == 1 );
+					before << "(";
+					before << opInfo.symbol;
+					(*arg)->accept( *this );
+					before << ")";
+					break;
+	      
+				  case OT_POSTFIX:
+				  case OT_POSTFIXASSIGN:
+					assert( untypedExpr->get_args().size() == 1 );
+					(*arg)->accept( *this );
+					before << opInfo.symbol;
+					break;
+  
+				  case OT_INFIX:
+				  case OT_INFIXASSIGN:
+					assert( untypedExpr->get_args().size() == 2 );
+					before << "(";
+					(*arg++)->accept( *this );
+					before << opInfo.symbol;
+					(*arg)->accept( *this );
+					before << ")";
+					break;
+	      
+				  case OT_CONSTANT:
+					// there are no intrinsic definitions of 0 or 1 as functions
+					assert( false );
+				}
+			} else {
+				nameExpr->accept( *this );
+				before << "(";
+				genCommaList( untypedExpr->get_args().begin(), untypedExpr->get_args().end() );
+				before << ")";
+			} // if
+		} else {
+			untypedExpr->get_function()->accept( *this );
+			before << "(";
+			genCommaList( untypedExpr->get_args().begin(), untypedExpr->get_args().end() );
+			before << ")";
+		} // if
+	}
+  
+	void CodeGenerator2::visit( NameExpr *nameExpr ) {
+		OperatorInfo opInfo;
+		if ( operatorLookup( nameExpr->get_name(), opInfo ) ) {
+			assert( opInfo.type == OT_CONSTANT );
+			before << opInfo.symbol;
+		} else {
+			before << nameExpr->get_name();
+		} // if
+	}
+  
+	void CodeGenerator2::visit( AddressExpr *addressExpr ) {
+		before << "(&";
+		// this hack makes sure that we don't convert "constant_zero" to "0" if we're taking its address
+		if ( VariableExpr *variableExpr = dynamic_cast< VariableExpr* >( addressExpr->get_arg() ) ) {
+			before << mangleName( variableExpr->get_var() );
+		} else {
+			addressExpr->get_arg()->accept( *this );
+		} // if
+		before << ")";
+	}
+
+	void CodeGenerator2::visit( CastExpr *castExpr ) {
+		before << "((";
+		if ( castExpr->get_results().empty() ) {
+			before << "void" ;
+		} else {
+			before << genType( castExpr->get_results().front(), "" );
+		} // if
+		before << ")";
+		castExpr->get_arg()->accept( *this );
+		before << ")";
+	}
+  
+	void CodeGenerator2::visit( UntypedMemberExpr *memberExpr ) {
+		assert( false );
+	}
+  
+	void CodeGenerator2::visit( MemberExpr *memberExpr ) {
+		memberExpr->get_aggregate()->accept( *this );
+		before << "." << mangleName( memberExpr->get_member() );
+	}
+  
+	void CodeGenerator2::visit( VariableExpr *variableExpr ) {
+		OperatorInfo opInfo;
+		if ( variableExpr->get_var()->get_linkage() == LinkageSpec::Intrinsic && operatorLookup( variableExpr->get_var()->get_name(), opInfo ) && opInfo.type == OT_CONSTANT ) {
+			before << opInfo.symbol;
+		} else {
+			before << mangleName( variableExpr->get_var() );
+		} // if
+	}
+  
+	void CodeGenerator2::visit( ConstantExpr *constantExpr ) {
+		assert( constantExpr->get_constant() );
+		constantExpr->get_constant()->accept( *this );
+	}
+  
+	void CodeGenerator2::visit( SizeofExpr *sizeofExpr ) {
+		before << "sizeof(";
+		if ( sizeofExpr->get_isType() ) {
+			before << genType( sizeofExpr->get_type(), "" );
+		} else {
+			sizeofExpr->get_expr()->accept( *this );
+		} // if
+		before << ")";
+	}
+  
+	void CodeGenerator2::visit( LogicalExpr *logicalExpr ) {
+		before << "(";
+		logicalExpr->get_arg1()->accept( *this );
+		if ( logicalExpr->get_isAnd() ) {
+			before << " && ";
+		} else {
+			before << " || ";
+		} // if
+		logicalExpr->get_arg2()->accept( *this );
+		before << ")";
+	}
+  
+	void CodeGenerator2::visit( ConditionalExpr *conditionalExpr ) {
+		before << "(";
+		conditionalExpr->get_arg1()->accept( *this );
+		before << " ? ";
+		conditionalExpr->get_arg2()->accept( *this );
+		before << " : ";
+		conditionalExpr->get_arg3()->accept( *this );
+		before << ")";
+	}
+  
+	void CodeGenerator2::visit( CommaExpr *commaExpr ) {
+		before << "(";
+		commaExpr->get_arg1()->accept( *this );
+		before << " , ";
+		commaExpr->get_arg2()->accept( *this );
+		before << ")";
+	}
+  
+	void CodeGenerator2::visit( TupleExpr *tupleExpr ) {}
+  
+	void CodeGenerator2::visit( TypeExpr *typeExpr ) {}
+  
+  
+	//*** Statements
+	void CodeGenerator2::visit( CompoundStmt *compoundStmt ) {
+		std::list<Statement*> ks = compoundStmt->get_kids();
+
+		before << endl << string( cur_indent, ' ' ) << "{" << endl;
+
+		cur_indent += CodeGenerator2::tabsize; 
+
+		for ( std::list<Statement *>::iterator i = ks.begin(); i != ks.end();  i++) {
+			before << string( cur_indent, ' ' ) << printLabels( (*i)->get_labels() )  ;
+			(*i)->accept(*this );
+			shift_left();
+			before << endl;
+		}
+		cur_indent -= CodeGenerator2::tabsize; 
+
+		before << string( cur_indent, ' ' ) << "}" << endl;
+	}
+
+	void CodeGenerator2::visit( ExprStmt *exprStmt ) {
+		if ( exprStmt != 0 ) {
+			exprStmt->get_expr()->accept( *this );
+			shift_left();
+			before << ";" ;
+		} // if
+	}
+
+	void CodeGenerator2::visit( IfStmt *ifStmt ) {
+		before << "if (";
+		ifStmt->get_condition()->accept(*this );
+		after += ")\n";
+		shift_left(); 
+
+		cur_indent += CodeGenerator2::tabsize;
+		before << string( cur_indent, ' ' );
+		ifStmt->get_thenPart()->accept(*this );
+		cur_indent -= CodeGenerator2::tabsize; 
+		shift_left(); before << endl;
+
+		if ( ifStmt->get_elsePart() != 0) {
+			before << string( cur_indent, ' ' ) << " else " << endl ;
+
+			cur_indent += CodeGenerator2::tabsize; 
+			ifStmt->get_elsePart()->accept(*this );
+			cur_indent -= CodeGenerator2::tabsize; 
+		} // if
+	}
+
+	void CodeGenerator2::visit( SwitchStmt *switchStmt ) {
+		//before << /* "\r" << */ string( cur_indent, ' ' ) << CodeGenerator2::printLabels( switchStmt->get_labels() ) 
+		before << "switch (" ;
+		switchStmt->get_condition()->accept(*this );
+		after += ")\n";
+		shift_left();
+
+		before << string( cur_indent, ' ' ) << "{" << std::endl;
+		cur_indent += CodeGenerator2::tabsize;
+
+		std::list< Statement * > stmts = switchStmt->get_branches();
+		bool lastBreak = false; 
+
+		// horrible, horrible hack
+		if ( dynamic_cast<BranchStmt *>( stmts.back() ) != 0 ) {
+			lastBreak = true;
+			stmts.pop_back();
+		} // if
+		acceptAll( stmts, *this );
+		if ( lastBreak ) {
+			Statement *st = switchStmt->get_branches().back();
+			before << CodeGenerator2::printLabels( st->get_labels());
+			st->accept( *this );
+		} // if
+	  
+		cur_indent -= CodeGenerator2::tabsize; 
+
+		before << /* "\r" << */ string( cur_indent, ' ' ) << "}" << endl ;
+	}
+
+	void CodeGenerator2::visit( CaseStmt *caseStmt ) {
+		before << string( cur_indent, ' ' );
+		if ( caseStmt->isDefault()) 
+			before << "default "  ;
+		else {
+			before << "case "  ;
+			caseStmt->get_condition()->accept(*this );
+		} // if
+		after += ":\n";
+		shift_left();
+
+		std::list<Statement *> sts = caseStmt->get_statements();
+
+		cur_indent += CodeGenerator2::tabsize;
+		for ( std::list<Statement *>::iterator i = sts.begin(); i != sts.end();  i++) {
+			before << /* "\r" << */ string( cur_indent, ' ' ) << printLabels( (*i)->get_labels() )  ;
+			(*i)->accept(*this );
+			shift_left();
+			before << ";" << endl;
+		}
+		cur_indent -= CodeGenerator2::tabsize;
+	}
+
+	void CodeGenerator2::visit( BranchStmt *branchStmt ) {
+		switch ( branchStmt->get_type()) {
+		  case BranchStmt::Goto:
+			if ( ! branchStmt->get_target().empty() )
+				before << "goto " << branchStmt->get_target();
+			else { 
+				if ( branchStmt->get_computedTarget() != 0 ) {
+					before << "goto *";
+					branchStmt->get_computedTarget()->accept( *this );
+				} // if
+			} // if
+			break;
+		  case BranchStmt::Break:
+			before << "break";
+			break;
+		  case BranchStmt::Continue:
+			before << "continue";
+			break;
+		}
+		before << ";";
+	}
+
+
+	void CodeGenerator2::visit( ReturnStmt *returnStmt ) {
+		before << "return ";
+
+		// xxx -- check for null expression;
+		if ( returnStmt->get_expr() ) {
+			returnStmt->get_expr()->accept( *this );
+		} // if
+		after += ";";
+	}
+
+	void CodeGenerator2::visit( WhileStmt *whileStmt ) {
+		if ( whileStmt->get_isDoWhile() )
+			before << "do" ;
+		else {
+			before << "while (" ;
+			whileStmt->get_condition()->accept(*this );
+			after += ")";
+		} // if
+		after += "{\n";
+		shift_left();
+
+		whileStmt->get_body()->accept( *this );
+
+		before << /* "\r" << */ string( cur_indent, ' ' ) << "}" ;
+
+		if ( whileStmt->get_isDoWhile() ) {
+			before << " while (" ;
+			whileStmt->get_condition()->accept(*this );
+			after += ");";
+		} // if
+
+		after += "\n";
+	}
+
+	void CodeGenerator2::visit( ForStmt *forStmt ) {
+		before << "for (";
+
+		if ( forStmt->get_initialization() != 0 )
+			forStmt->get_initialization()->accept( *this );
+		else
+			before << ";";
+		shift_left();
+
+		if ( forStmt->get_condition() != 0 )
+			forStmt->get_condition()->accept( *this );
+		shift_left(); before << ";";
+
+		if ( forStmt->get_increment() != 0 )
+			forStmt->get_increment()->accept( *this );
+		shift_left(); before << ")" << endl;
+
+		if ( forStmt->get_body() != 0 ) {
+			cur_indent += CodeGenerator2::tabsize; 
+			before << string( cur_indent, ' ' ) << CodeGenerator2::printLabels( forStmt->get_body()->get_labels() );
+			forStmt->get_body()->accept( *this );
+			cur_indent -= CodeGenerator2::tabsize; 
+		} // if
+	}
+
+	void CodeGenerator2::visit( NullStmt *nullStmt ) {
+		//before << /* "\r" << */ string( cur_indent, ' ' ) << CodeGenerator2::printLabels( nullStmt->get_labels() );
+		before << "/* null statement */ ;";
+	}
+
+	void CodeGenerator2::visit( DeclStmt *declStmt ) {
+		declStmt->get_decl()->accept( *this );
+	
+		if ( doSemicolon( declStmt->get_decl() ) ) {
+			after += ";";
+		} // if
+		shift_left();
+	}
+
+	std::string CodeGenerator2::printLabels( std::list< Label > &l ) {
+		std::string str( "" );
+		l.unique();
+
+		for ( std::list< Label >::iterator i = l.begin(); i != l.end(); i++ )
+			str += *i + ": ";
+
+		return str;
+	}
+
+	void CodeGenerator2::shift_left() {
+		before << after;
+		after = "";
+	}
+
+	void CodeGenerator2::handleStorageClass( Declaration *decl ) {
+		switch ( decl->get_storageClass() ) {
+		  case Declaration::NoStorageClass:
+			break;
+		  case Declaration::Extern:
+			before << "extern ";
+			break;
+		  case Declaration::Static:
+			before << "static ";
+			break;
+		  case Declaration::Auto:
+			// silently drop storage class
+			break;
+		  case Declaration::Register:
+			before << "register ";
+			break;
+		} // switch
+	}
+} // namespace CodeGen
+
+// Local Variables: //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: src/CodeGen/CodeGenerator2.h
===================================================================
--- src/CodeGen/CodeGenerator2.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/CodeGen/CodeGenerator2.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,126 @@
+//
+// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+//
+// CodeGenerator2.h -- 
+//
+// Author           : Richard C. Bilson
+// Created On       : Mon May 18 07:44:20 2015
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon May 18 23:35:37 2015
+// Update Count     : 2
+//
+
+#ifndef CODEGENV_H
+#define CODEGENV_H
+
+#include <strstream>
+#include <list>
+
+#include "SynTree/SynTree.h"
+#include "SynTree/Visitor.h"
+#include "SymTab/Indexer.h"
+
+namespace CodeGen {
+	class CodeGenerator2 : public Visitor {
+	  public:
+		static int tabsize;
+
+		CodeGenerator2( std::ostream &os );
+		CodeGenerator2( std::ostream &os, std::string, int indent = 0, bool infun = false );
+		CodeGenerator2( std::ostream &os, char *, int indent = 0, bool infun = false );
+
+		CodeGenerator2( CodeGenerator2 & );
+
+		//*** Declaration
+		virtual void visit( StructDecl * );
+		virtual void visit( FunctionDecl * );
+		virtual void visit( ObjectDecl * );
+		virtual void visit( UnionDecl *aggregateDecl );
+		virtual void visit( EnumDecl *aggregateDecl );
+		virtual void visit( ContextDecl *aggregateDecl );
+		virtual void visit( TypedefDecl *typeDecl );
+		virtual void visit( TypeDecl *typeDecl );
+
+		//*** Initializer
+		virtual void visit( SingleInit * );
+		virtual void visit( ListInit * );
+
+		//*** Constant
+		virtual void visit( Constant * );
+
+		//*** Expression
+		virtual void visit( ApplicationExpr *applicationExpr );
+		virtual void visit( UntypedExpr *untypedExpr );
+		virtual void visit( NameExpr *nameExpr );
+		virtual void visit( AddressExpr *addressExpr );
+		virtual void visit( CastExpr *castExpr );
+		virtual void visit( UntypedMemberExpr *memberExpr );
+		virtual void visit( MemberExpr *memberExpr );
+		virtual void visit( VariableExpr *variableExpr );
+		virtual void visit( ConstantExpr *constantExpr ); 
+		virtual void visit( SizeofExpr *sizeofExpr );
+		virtual void visit( LogicalExpr *logicalExpr );
+		virtual void visit( ConditionalExpr *conditionalExpr );
+		virtual void visit( CommaExpr *commaExpr );
+		virtual void visit( TupleExpr *tupleExpr );
+		virtual void visit( TypeExpr *typeExpr );
+
+		//*** Statements
+		virtual void visit( CompoundStmt * );
+		virtual void visit( ExprStmt * );
+		virtual void visit( IfStmt * );
+		virtual void visit( SwitchStmt * );
+		virtual void visit( CaseStmt * );
+		virtual void visit( BranchStmt * );
+		virtual void visit( ReturnStmt * );
+		virtual void visit( WhileStmt * );
+		virtual void visit( ForStmt * );
+		virtual void visit( NullStmt * );
+		virtual void visit( DeclStmt * ); 
+
+		std::string get_string( void );
+		void add_string_left( std::string s ) { before << s; }
+		void shift_left();
+		template< class Iterator > void genCommaList( Iterator begin, Iterator end );
+	  private:
+		int cur_indent;
+		bool insideFunction;
+		std::ostream &before;
+		std::string after;
+
+		static std::string printLabels ( std::list < Label > & );
+		void handleStorageClass( Declaration *decl );
+		void handleAggregate( AggregateDecl *aggDecl );
+		void handleTypedef( NamedTypeDecl *namedType );
+
+	};
+	
+	template< class Iterator >
+	void CodeGenerator2::genCommaList( Iterator begin, Iterator end ) {
+		if ( begin == end ) return;
+
+		for ( ;; ) {
+			(*begin++)->accept( *this );
+			if ( begin == end ) return;
+			before << ", ";
+		} // for
+	}
+  
+	inline bool doSemicolon( Declaration* decl ) {
+		if ( FunctionDecl* func = dynamic_cast< FunctionDecl* >( decl ) ) {
+			return ! func->get_statements();
+		} // if
+		return true;
+	}
+} // namespace CodeGen
+
+#endif // CODEGENV_H
+
+// Local Variables: //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: src/CodeGen/GenType.cc
===================================================================
--- src/CodeGen/GenType.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/CodeGen/GenType.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,13 +10,13 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 14:36:02 2015
-// Update Count     : 9
-//
-
-#include <sstream>
+// Last Modified On : Mon May 18 23:38:22 2015
+// Update Count     : 2
+//
+
+#include <strstream>
 #include <cassert>
 
 #include "GenType.h"
-#include "CodeGenerator.h"
+#include "CodeGenerator2.h"
 #include "SynTree/Visitor.h"
 #include "SynTree/Type.h"
@@ -68,5 +68,5 @@
 
 	void GenType::genArray( const Type::Qualifiers &qualifiers, Type *base, Expression *dimension, bool isVarLen, bool isStatic ) {
-		std::ostringstream os;
+		std::ostrstream os;
 		if ( typeString != "" ) {
 			if ( typeString[ 0 ] == '*' ) {
@@ -97,10 +97,10 @@
 		} // if
 		if ( dimension != 0 ) {
-			CodeGenerator cg( os );
+			CodeGenerator2 cg( os );
 			dimension->accept( cg );
 		} // if
 		os << "]";
 
-		typeString = os.str();
+		typeString = std::string( os.str(), os.pcount() );
   
 		base->accept( *this );
@@ -127,5 +127,5 @@
 
 	void GenType::visit( FunctionType *funcType ) {
-		std::ostringstream os;
+		std::ostrstream os;
 
 		if ( typeString != "" ) {
@@ -148,5 +148,5 @@
 			} // if
 		} else {
-			CodeGenerator cg( os );
+			CodeGenerator2 cg( os );
 			os << "(" ;
 
@@ -159,5 +159,5 @@
 		} // if
   
-		typeString = os.str();
+		typeString = std::string( os.str(), os.pcount() );
 
 		if ( funcType->get_returnVals().size() == 0 ) {
Index: src/CodeGen/Generate.cc
===================================================================
--- src/CodeGen/Generate.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/CodeGen/Generate.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jun  4 14:04:25 2015
-// Update Count     : 5
+// Last Modified On : Mon May 18 23:39:24 2015
+// Update Count     : 1
 //
 
@@ -21,5 +21,6 @@
 #include "Generate.h"
 #include "SynTree/Declaration.h"
-#include "CodeGenerator.h"
+
+#include "CodeGenerator2.h"
 
 using namespace std;
@@ -27,9 +28,10 @@
 namespace CodeGen {
 	void generate( std::list< Declaration* > translationUnit, std::ostream &os, bool doIntrinsics ) {
-		CodeGen::CodeGenerator cgv( os );
+		CodeGen::CodeGenerator2 cgv( os );
 
 		for ( std::list<Declaration *>::iterator i = translationUnit.begin(); i != translationUnit.end();  i++ ) {
 			if ( LinkageSpec::isGeneratable( (*i)->get_linkage() ) && (doIntrinsics || ! LinkageSpec::isBuiltin( (*i)->get_linkage() ) ) ) {
 				(*i)->accept(cgv);
+				cgv.shift_left();
 				if ( doSemicolon( *i ) ) {
 					os << ";";
Index: src/CodeGen/OperatorTable.cc
===================================================================
--- src/CodeGen/OperatorTable.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/CodeGen/OperatorTable.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 17:41:14 2015
-// Update Count     : 5
+// Last Modified On : Mon May 18 23:42:07 2015
+// Update Count     : 2
 //
 
@@ -20,45 +20,44 @@
 	namespace {
 		const OperatorInfo tableValues[] = {
-			{	"?[?]",		"",		"_operator_index",				OT_INDEX			},
-			{	"?()",		"",		"_operator_call",				OT_CALL				},
-			{	"?++",		"++",	"_operator_postincr",			OT_POSTFIXASSIGN	},
-			{	"?--",		"--",	"_operator_postdecr",			OT_POSTFIXASSIGN	},
-			{	"*?",		"*",	"_operator_deref",				OT_PREFIX			},
-			{	"+?",		"+",	"_operator_unaryplus",			OT_PREFIX			},
-			{	"-?",		"-",	"_operator_unaryminus",			OT_PREFIX			},
-			{	"~?",		"~",	"_operator_bitnot",				OT_PREFIX			},
-			{	"!?",		"!",	"_operator_lognot",				OT_PREFIX			},
-			{	"++?",		"++",	"_operator_preincr",			OT_PREFIXASSIGN		},
-			{	"--?",		"--",	"_operator_predecr",			OT_PREFIXASSIGN		},
-			{	"?*?",		"*",	"_operator_multiply",			OT_INFIX			},
-			{	"?/?",		"/",	"_operator_divide",				OT_INFIX			},
-			{	"?%?",		"%",	"_operator_modulus",			OT_INFIX			},
-			{	"?+?",		"+",	"_operator_add",				OT_INFIX			},
-			{	"?-?",		"-",	"_operator_subtract",			OT_INFIX			},
-			{	"?<<?",		"<<",	"_operator_shiftleft",			OT_INFIX			},
-			{	"?>>?",		">>",	"_operator_shiftright",			OT_INFIX			},
-			{	"?<?",		"<",	"_operator_less",				OT_INFIX			},
-			{	"?>?",		">",	"_operator_greater",			OT_INFIX			},
-			{	"?<=?",		"<=",	"_operator_lessequal",			OT_INFIX			},
-			{	"?>=?",		">=",	"_operator_greaterequal",		OT_INFIX			},
-			{	"?==?",		"==",	"_operator_equal",				OT_INFIX			},
-			{	"?!=?",		"!=",	"_operator_notequal",			OT_INFIX			},
-			{	"?&?",		"&",	"_operator_bitand",				OT_INFIX			},
-			{	"?^?",		"^",	"_operator_bitxor",				OT_INFIX			},
-			{	"?|?",		"|",	"_operator_bitor",				OT_INFIX			},
-			{	"?=?",		"=",	"_operator_assign",				OT_INFIXASSIGN		},
-			{	"?*=?",		"*=",	"_operator_multassign",			OT_INFIXASSIGN		},
-			{	"?/=?",		"/=",	"_operator_divassign",			OT_INFIXASSIGN		},
-			{	"?%=?",		"%=",	"_operator_modassign",			OT_INFIXASSIGN		},
-			{	"?+=?",		"+=",	"_operator_addassign",			OT_INFIXASSIGN		},
-			{	"?-=?",		"-=",	"_operator_subassign",			OT_INFIXASSIGN		},
+			{	"?[?]",		"",		"_operator_index",			OT_INDEX		},
+			{	"?()",		"",		"_operator_call",			OT_CALL			},
+			{	"?++",		"++",	"_operator_postincr",		OT_POSTFIXASSIGN	},
+			{	"?--",		"--",	"_operator_postdecr",		OT_POSTFIXASSIGN	},
+			{	"*?",		"*",	"_operator_deref",			OT_PREFIX		},
+			{	"+?",		"+",	"_operator_unaryplus",		OT_PREFIX		},
+			{	"-?",		"-",	"_operator_unaryminus",		OT_PREFIX		},
+			{	"~?",		"~",	"_operator_bitnot",			OT_PREFIX		},
+			{	"!?",		"!",	"_operator_lognot",			OT_PREFIX		},
+			{	"++?",		"++",	"_operator_preincr",		OT_PREFIXASSIGN		},
+			{	"--?",		"--",	"_operator_predecr",		OT_PREFIXASSIGN		},
+			{	"?*?",		"*",	"_operator_multiply",		OT_INFIX		},
+			{	"?/?",		"/",	"_operator_divide",			OT_INFIX		},
+			{	"?%?",		"%",	"_operator_modulus",		OT_INFIX		},
+			{	"?+?",		"+",	"_operator_add",			OT_INFIX		},
+			{	"?-?",		"-",	"_operator_subtract",		OT_INFIX		},
+			{	"?<<?",		"<<",	"_operator_shiftleft",		OT_INFIX		},
+			{	"?>>?",		">>",	"_operator_shiftright",		OT_INFIX		},
+			{	"?<?",		"<",	"_operator_less",			OT_INFIX		},
+			{	"?>?",		">",	"_operator_greater",		OT_INFIX		},
+			{	"?<=?",		"<=",	"_operator_lessequal",		OT_INFIX		},
+			{	"?>=?",		">=",	"_operator_greaterequal",	OT_INFIX		},
+			{	"?==?",		"==",	"_operator_equal",			OT_INFIX		},
+			{	"?!=?",		"!=",	"_operator_notequal",		OT_INFIX		},
+			{	"?&?",		"&",	"_operator_bitand",			OT_INFIX		},
+			{	"?^?",		"^",	"_operator_bitxor",			OT_INFIX		},
+			{	"?|?",		"|",	"_operator_bitor",			OT_INFIX		},
+			{	"?=?",		"=",	"_operator_assign",			OT_INFIXASSIGN		},
+			{	"?*=?",		"*=",	"_operator_multassign",		OT_INFIXASSIGN		},
+			{	"?/=?",		"/=",	"_operator_divassign",		OT_INFIXASSIGN		},
+			{	"?%=?",		"%=",	"_operator_modassign",		OT_INFIXASSIGN		},
+			{	"?+=?",		"+=",	"_operator_addassign",		OT_INFIXASSIGN		},
+			{	"?-=?",		"-=",	"_operator_subassign",		OT_INFIXASSIGN		},
 			{	"?<<=?",	"<<=",	"_operator_shiftleftassign",	OT_INFIXASSIGN		},
 			{	"?>>=?",	">>=",	"_operator_shiftrightassign",	OT_INFIXASSIGN		},
-			{	"?&=?",		"&=",	"_operator_bitandassign",		OT_INFIXASSIGN		},
-			{	"?^=?",		"^=",	"_operator_bitxorassign",		OT_INFIXASSIGN		},
-			{	"?|=?",		"|=",	"_operator_bitorassign",		OT_INFIXASSIGN		},
-			{	"&&",		"&&",	"&&",							OT_LABELADDRESS		},
-			{	"0",		"0",	"_constant_zero",				OT_CONSTANT			},
-			{	"1",		"1",	"_constant_one",				OT_CONSTANT			}
+			{	"?&=?",		"&=",	"_operator_bitandassign",	OT_INFIXASSIGN		},
+			{	"?^=?",		"^=",	"_operator_bitxorassign",	OT_INFIXASSIGN		},
+			{	"?|=?",		"|=",	"_operator_bitorassign",	OT_INFIXASSIGN		},
+			{	"0",		"0",	"_constant_zero",			OT_CONSTANT		},
+			{	"1",		"1",	"_constant_one",			OT_CONSTANT		}
 		};
 
Index: src/CodeGen/OperatorTable.h
===================================================================
--- src/CodeGen/OperatorTable.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/CodeGen/OperatorTable.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 16:09:27 2015
-// Update Count     : 3
+// Last Modified On : Mon May 18 23:43:07 2015
+// Update Count     : 2
 //
 
@@ -29,5 +29,4 @@
 		OT_POSTFIXASSIGN,
 		OT_INFIXASSIGN,
-		OT_LABELADDRESS,
 		OT_CONSTANT
 	};
Index: src/CodeGen/module.mk
===================================================================
--- src/CodeGen/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/CodeGen/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,24 +1,6 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Tue Jun  2 11:17:02 2015
-## Update Count     : 3
-###############################################################################
-
-#SRC +=  ArgTweak/Rewriter.cc \
-#	ArgTweak/Mutate.cc
-
 SRC +=  CodeGen/Generate.cc \
-	CodeGen/CodeGenerator.cc \
+	CodeGen/CodeGenerator2.cc \
 	CodeGen/GenType.cc \
 	CodeGen/FixNames.cc \
-	CodeGen/OperatorTable.cc
+	CodeGen/OperatorTable.cc \
+	$(NULL)
Index: src/Common/SemanticError.h
===================================================================
--- src/Common/SemanticError.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Common/SemanticError.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 14:38:53 2015
-// Update Count     : 4
+// Last Modified On : Tue May 19 07:22:23 2015
+// Update Count     : 1
 //
 
@@ -19,5 +19,5 @@
 #include <exception>
 #include <string>
-#include <sstream>
+#include <strstream>
 #include <list>
 #include <iostream>
@@ -42,8 +42,8 @@
 template< typename T >
 SemanticError::SemanticError( const std::string &error, const T *obj ) {
-	std::ostringstream os;
+	std::ostrstream os;
 	os << "Error: " << error;
 	obj->print( os );
-	errors.push_back( os.str() );
+	errors.push_back( std::string( os.str(), os.pcount() ) );
 }
 
Index: src/Common/UniqueName.cc
===================================================================
--- src/Common/UniqueName.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Common/UniqueName.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,10 +10,10 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 14:47:49 2015
-// Update Count     : 3
+// Last Modified On : Tue May 19 07:23:41 2015
+// Update Count     : 1
 //
 
 #include <string>
-#include <sstream>
+#include <strstream>
 
 #include "UniqueName.h"
@@ -23,7 +23,7 @@
 
 std::string UniqueName::newName( const std::string &additional ) {
-	std::ostringstream os;
+	std::ostrstream os;
 	os << base << additional << count++;
-	return os.str();
+	return std::string( os.str(), os.pcount() );
 }
 
Index: src/Common/module.mk
===================================================================
--- src/Common/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Common/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,18 +1,2 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:51:23 2015
-## Update Count     : 1
-###############################################################################
-
 SRC += Common/SemanticError.cc \
        Common/UniqueName.cc
Index: src/Common/utility.h
===================================================================
--- src/Common/utility.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Common/utility.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 14:43:54 2015
-// Update Count     : 13
+// Last Modified On : Tue May 19 15:34:57 2015
+// Update Count     : 3
 //
 
@@ -18,5 +18,5 @@
 
 #include <iostream>
-#include <sstream>
+#include <strstream>
 #include <iterator>
 #include <string>
@@ -60,5 +60,5 @@
 	for ( typename Container::const_iterator i = container.begin(); i != container.end(); ++i ) {
 		if ( *i ) {
-			os << std::string( indent,  ' ' );
+			os << std::string(indent,  ' ');
 			(*i)->print( os, indent + 2 );
 			os << std::endl;
@@ -130,7 +130,10 @@
 template < typename T > 
 std::string toString ( T value ) {
-	std::ostringstream os;
+	std::ostrstream os;
+  
 	os << value; // << std::ends;
-	return os.str();
+	os.freeze( false );
+
+	return std::string(os.str(), os.pcount());
 }
 
@@ -148,4 +151,6 @@
 template< typename T >
 void replace( std::list< T > &org, typename std::list< T >::iterator pos, std::list< T > &with ) {
+	// TIter should secretly be a typename std::list< T >::iterator
+	//   ( g++ 3.2 issues a 'is implicitly a typename' warning if I make this explicit )
 	typename std::list< T >::iterator next = pos; advance( next, 1 );
 
@@ -191,14 +196,4 @@
 	while ( b1 != e1 && b2 != e2 )
 		*out++ = func(*b1++, *b2++);
-}
-
-// it's nice to actually be able to increment iterators by an arbitrary amount
-template< typename Iterator >
-Iterator operator+(Iterator i, int inc) {
-	while ( inc > 0 ) {
-		++i;
-		--inc;
-	}
-	return i;
 }
 
Index: src/ControlStruct/ChooseMutator.cc
===================================================================
--- src/ControlStruct/ChooseMutator.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/ChooseMutator.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 03 15:30:20 2015
-// Update Count     : 5
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 19 15:31:39 2015
+// Update Count     : 2
 //
 
@@ -44,9 +44,4 @@
 		std::list< Statement * > &stmts = caseStmt->get_statements();
 
-		// the difference between switch and choose is that switch has an implicit fallthrough
-		// to the next case, whereas choose has an implicit break at the end of the current case.
-		// thus to transform a choose statement into a switch, we only need to insert breaks at the
-		// end of any case that doesn't already end in a break and that doesn't end in a fallthru
-
 		if ( insideChoose ) {
 			BranchStmt *posBrk;
Index: src/ControlStruct/LabelFixer.cc
===================================================================
--- src/ControlStruct/LabelFixer.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/LabelFixer.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 24 16:24:34 2015
-// Update Count     : 141
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 19 15:25:59 2015
+// Update Count     : 1
 //
 
@@ -19,38 +19,17 @@
 #include "LabelFixer.h"
 #include "MLEMutator.h"
-#include "SynTree/Expression.h"
 #include "SynTree/Statement.h"
 #include "SynTree/Declaration.h"
 #include "utility.h"
 
-#include <iostream>
-
 namespace ControlStruct {
 	LabelFixer::Entry::Entry( Statement *to, Statement *from ) : definition ( to ) {
-		if ( from != 0 ) {
-			UsageLoc loc; loc.stmt = from;
-			usage.push_back( loc );
-		}
+		if ( from != 0 )
+			usage.push_back( from );
 	}
-
-	LabelFixer::Entry::Entry( Statement *to, Expression *from ) : definition ( to ) {
-		if ( from != 0 ) {
-			UsageLoc loc; loc.expr = from;
-			usage.push_back( loc );
-		}
-	}
-
 
 	bool LabelFixer::Entry::insideLoop() {
 		return ( dynamic_cast< ForStmt * > ( definition ) ||
-			dynamic_cast< WhileStmt * > ( definition )  );
-	}
-
-	void LabelFixer::Entry::UsageLoc::accept( Visitor & visitor ) {
-		if ( dynamic_cast< Statement * >( stmt ) ) {
-			stmt->accept( visitor );
-		} else {
-			expr->accept( visitor );
-		}
+				 dynamic_cast< WhileStmt * > ( definition )  );
 	}
 
@@ -61,5 +40,6 @@
 
 	void LabelFixer::visit( FunctionDecl *functionDecl ) {
-		maybeAccept( functionDecl->get_statements(), *this );
+		if ( functionDecl->get_statements() != 0 )
+			functionDecl->get_statements()->accept( *this );
 
 		MLEMutator mlemut( resolveJumps(), generator );
@@ -67,11 +47,8 @@
 	}
 
-	// prune to at most one label definition for each statement
 	void LabelFixer::visit( Statement *stmt ) {
-		currentStatement = stmt;
 		std::list< Label > &labels = stmt->get_labels();
 
 		if ( ! labels.empty() ) {
-			// only remember one label for each statement
 			Label current = setLabelsDef( labels, stmt );
 			labels.clear();
@@ -81,166 +58,84 @@
 
 	void LabelFixer::visit( BranchStmt *branchStmt ) {
-		visit ( ( Statement * )branchStmt );
+		visit ( ( Statement * )branchStmt );  // the labels this statement might have
 
-		// for labeled branches, add an entry to the label table
-		Label target = branchStmt->get_target();
-		if ( target != "" ) {
+		Label target;
+		if ( (target = branchStmt->get_target()) != "" ) {
 			setLabelsUsg( target, branchStmt );
-		}
+		} //else       /* computed goto or normal exit-loop statements */
 	}
 
-	void LabelFixer::visit( UntypedExpr *untyped ) {
-		if ( NameExpr * func = dynamic_cast< NameExpr * >( untyped->get_function() ) ) {
-			if ( func->get_name() == "&&" ) {
-				NameExpr * arg = dynamic_cast< NameExpr * >( untyped->get_args().front() );
-				Label target = arg->get_name();
-				assert( target != "" );
-				setLabelsUsg( target, untyped );
-			} else {
-				Visitor::visit( untyped );
-			}
-		}
+	Label LabelFixer::setLabelsDef( std::list< Label > &llabel, Statement *definition ) {
+		assert( definition != 0 );
+		Entry *entry = new Entry( definition );
+		bool used = false;
+
+		for ( std::list< Label >::iterator i = llabel.begin(); i != llabel.end(); i++ )
+			if ( labelTable.find( *i ) == labelTable.end() )
+				{ used = true; labelTable[ *i ] = entry; } // undefined and unused
+			else
+				if ( labelTable[ *i ]->defined() )
+					throw SemanticError( "Duplicate definition of label: " + *i );
+				else
+					labelTable[ *i ]->set_definition( definition );
+
+		if ( ! used ) delete entry;
+
+		return labelTable[ llabel.front() ]->get_label();  // this *must* exist
 	}
 
+	Label LabelFixer::setLabelsUsg( Label orgValue, Statement *use ) {
+		assert( use != 0 );
 
-	// sets the definition of the labelTable entry to be the provided 
-	// statement for every label in the list parameter. Happens for every kind of statement
-	Label LabelFixer::setLabelsDef( std::list< Label > &llabel, Statement *definition ) {
-		assert( definition != 0 );
-		assert( llabel.size() > 0 );
+		if ( labelTable.find( orgValue ) != labelTable.end() )
+			labelTable[ orgValue ]->add_use( use );         // the label has been defined or used before
+		else
+			labelTable[ orgValue ] = new Entry( 0, use );
 
-		Entry * e = new Entry( definition );
-
-		for ( std::list< Label >::iterator i = llabel.begin(); i != llabel.end(); i++ ) {
-			if ( labelTable.find( *i ) == labelTable.end() ) {
-				// all labels on this statement need to use the same entry, so this should only be created once
-				// undefined and unused until now, add an entry
-				labelTable[ *i ] =  e;
-			} else if ( labelTable[ *i ]->defined() ) {
-				// defined twice, error
-				throw SemanticError( "Duplicate definition of label: " + *i );
-			}	else {
-				// used previously, but undefined until now -> link with this entry
-				Entry * oldEntry = labelTable[ *i ];
-				e->add_uses( *oldEntry );
-				labelTable[ *i ] = e;
-			} // if
-		} // for
-
-		// produce one of the labels attached to this statement to be 
-		// temporarily used as the canonical label
-		return labelTable[ llabel.front() ]->get_label();
+		return labelTable[ orgValue ]->get_label();
 	}
 
-	// Remember all uses of a label.
-	template< typename UsageNode >
-	void LabelFixer::setLabelsUsg( Label orgValue, UsageNode *use ) {
-		assert( use != 0 );
-
-		if ( labelTable.find( orgValue ) != labelTable.end() ) {
-			// the label has been defined or used before
-			labelTable[ orgValue ]->add_use( use );
-		} else {
-			labelTable[ orgValue ] = new Entry( 0, use );
-		}
-	}
-
-	class LabelGetter : public Visitor {
-		public:
-		LabelGetter( Label &label ) : label( label ) {}
-
-		virtual void visit( BranchStmt * branchStmt ) {
-			label = branchStmt->get_target();
-		}
-
-		virtual void visit( UntypedExpr * untyped ) {
-			NameExpr * name = dynamic_cast< NameExpr * >( untyped->get_function() );
-			assert( name );
-			assert( name->get_name() == "&&" );
-			NameExpr * arg = dynamic_cast< NameExpr * >( untyped->get_args().front() );
-			assert( arg );
-			label = arg->get_name();
-		}		
-
-		private:
-			Label &label;
-	};
-
-	class LabelSetter : public Visitor {
-		public:
-		LabelSetter( Label label ) : label( label ) {}
-
-		virtual void visit( BranchStmt * branchStmt ) {
-			branchStmt->set_target( label );
-		}
-
-		virtual void visit( UntypedExpr * untyped ) {
-			NameExpr * name = dynamic_cast< NameExpr * >( untyped->get_function() );
-			assert( name );
-			assert( name->get_name() == "&&" );
-			NameExpr * arg = dynamic_cast< NameExpr * >( untyped->get_args().front() );
-			assert( arg );
-			arg->set_name( label );
-		}
-
-	private:
-		Label label;
-	};
-
-	// Ultimately builds a table that maps a label to its defining statement.
-	// In the process, 
 	std::map<Label, Statement * > *LabelFixer::resolveJumps() throw ( SemanticError ) {
 		std::map< Statement *, Entry * > def_us;
 
-		// combine the entries for all labels that target the same location
-		for ( std::map< Label, Entry *>::iterator i = labelTable.begin(); i != labelTable.end(); ++i ) {
+		for ( std::map< Label, Entry *>::iterator i = labelTable.begin(); i != labelTable.end(); i++ ) {
 			Entry *e = i->second;
 
-			if ( def_us.find ( e->get_definition() ) == def_us.end() ) {
+			if ( def_us.find ( e->get_definition() ) == def_us.end() )
 				def_us[ e->get_definition() ] = e;
-			} else if ( e->used() ) {
-				def_us[ e->get_definition() ]->add_uses( *e );
-			}
+			else
+				if ( e->used() )
+					def_us[ e->get_definition() ]->add_uses( e->get_uses() );
 		}
 
-		// create a unique label for each target location. 
-		for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); ++i ) {
+		// get rid of labelTable
+		for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); i++ ) {
 			Statement *to = (*i).first;
-			Entry * entry = (*i).second;
-			std::list< Entry::UsageLoc > &from = entry->get_uses();
+			std::list< Statement *> &from = (*i).second->get_uses();
+			Label finalLabel = generator->newLabel();
+			(*i).second->set_label( finalLabel );
 
-			// no label definition found
 			if ( to == 0 ) {
-				Label undef;
-				LabelGetter getLabel( undef );
-				from.back().accept( getLabel );
-				// Label undef = getLabel( from.back()->get_target() );
+				BranchStmt *first_use = dynamic_cast<BranchStmt *>(from.back());
+				Label undef("");
+				if ( first_use != 0 )
+					undef = first_use->get_target();
 				throw SemanticError ( "'" + undef + "' label not defined");
-			} // if
-
-			// generate a new label, and attach it to its defining statement as the only label on that statement
-			Label finalLabel = generator->newLabel( to->get_labels().back() );
-			entry->set_label( finalLabel );
+			}
 
 			to->get_labels().clear();
 			to->get_labels().push_back( finalLabel );
 
-			// redirect each of the source branch statements to the new target label
-			for ( std::list< Entry::UsageLoc >::iterator j = from.begin(); j != from.end(); ++j ) {
-				LabelSetter setLabel( finalLabel );
-				(*j).accept( setLabel );
-				// setLabel( *j, finalLabel );
-
-				// BranchStmt *jump = *j;
-				// assert( jump != 0 );
-				// jump->set_target( finalLabel );
+			for ( std::list< Statement *>::iterator j = from.begin(); j != from.end(); j++ ) {
+				BranchStmt *jumpTo = dynamic_cast< BranchStmt * > ( *j );
+				assert( jumpTo != 0 );
+				jumpTo->set_target( finalLabel );
 			} // for
 		} // for
 
-		// create a table where each label maps to its defining statement
+		// reverse table
 		std::map< Label, Statement * > *ret = new std::map< Label, Statement * >();
-		for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); ++i ) {
+		for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); i++ ) 
 			(*ret)[ (*i).second->get_label() ] = (*i).first;
-		}
 
 		return ret;
Index: src/ControlStruct/LabelFixer.h
===================================================================
--- src/ControlStruct/LabelFixer.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/LabelFixer.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Tue Jun 23 15:47:25 2015
-// Update Count     : 28
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 19 15:31:55 2015
+// Update Count     : 3
 //
 
@@ -53,23 +53,12 @@
 		virtual void visit( DeclStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }
 		virtual void visit( BranchStmt *branchStmt );
-		virtual void visit( UntypedExpr *untyped );
 
 		Label setLabelsDef( std::list< Label > &, Statement *definition );
-		template< typename UsageNode >
-		void setLabelsUsg( Label, UsageNode *usage = 0 );
+		Label setLabelsUsg( Label, Statement *usage = 0 );
 
 	  private:
 		class Entry {
-			public:
-			union UsageLoc {
-				Statement * stmt;
-				Expression * expr;
-
-				void accept( Visitor &visitor );
-			};
-
-			Entry( Statement *to ) : definition( to ) {}
-			Entry( Statement *to, Statement *from );
-			Entry( Statement *to, Expression *from );
+		  public:
+			Entry( Statement *to = 0, Statement *from = 0 );
 			bool used() { return ( usage.empty() ); }
 			bool defined() { return ( definition != 0 ); }
@@ -77,31 +66,21 @@
 
 			Label get_label() const { return label; }
-			void set_label( Label lab ) { label = lab; }
+			Statement *get_definition() const { return definition; }
+			std::list< Statement *> &get_uses() { return usage; }
 
-			Statement *get_definition() const { return definition; }
+			void add_use ( Statement *use ) { usage.push_back( use ); }
+			void add_uses ( std::list<Statement *> uses ) { usage.insert( usage.end(), uses.begin(), uses.end() ); }
 			void set_definition( Statement *def ) { definition = def; }
 
-			std::list< UsageLoc > &get_uses() { return usage; }
-			void add_use( Statement *use ) {
-				UsageLoc loc;
-				loc.stmt = use;
-				usage.push_back( loc ); 
-			}
-			void add_use( Expression *use ) {
-				UsageLoc loc;
-				loc.expr = use;
-				usage.push_back( loc ); 				
-			}
-
-			void add_uses ( Entry &other ) { usage.insert( usage.end(), other.usage.begin(), usage.end() ); }
+			void set_label( Label lab ) { label = lab; }
+			Label gset_label() const { return label; }
 		  private:
 			Label label;  
 			Statement *definition;
-			std::list<UsageLoc> usage;
+			std::list<Statement *> usage;
 		};
 	          
 		std::map < Label, Entry *> labelTable;
 		LabelGenerator *generator;
-		Statement * currentStatement;
 	};
 } // namespace ControlStruct
Index: src/ControlStruct/LabelGenerator.cc
===================================================================
--- src/ControlStruct/LabelGenerator.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/LabelGenerator.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,10 +10,10 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 12:18:34 2015
-// Update Count     : 13
+// Last Modified On : Tue May 19 15:32:04 2015
+// Update Count     : 2
 //
 
 #include <iostream>
-#include <sstream>
+#include <strstream>
 
 #include "LabelGenerator.h"
@@ -29,8 +29,9 @@
 	}
 
-	Label LabelGenerator::newLabel( std::string suffix ) {
-		std::ostringstream os;
-		os << "__L" << current++ << "__" << suffix;
-		std::string ret = os.str();
+	Label LabelGenerator::newLabel() {
+		std::ostrstream os;
+		os << "__L" << current++ << "__";// << std::ends;
+		os.freeze( false );
+		std::string ret = std::string (os.str(), os.pcount());
 		return Label( ret );
 	}
Index: src/ControlStruct/LabelGenerator.h
===================================================================
--- src/ControlStruct/LabelGenerator.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/LabelGenerator.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 03 14:16:26 2015
-// Update Count     : 5
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 19 15:33:20 2015
+// Update Count     : 3
 //
 
@@ -18,5 +18,4 @@
 
 #include "SynTree/SynTree.h"
-#include <string>
 
 namespace ControlStruct {
@@ -24,5 +23,5 @@
 	  public:
 		static LabelGenerator *getGenerator();
-		Label newLabel(std::string suffix = "");
+		Label newLabel();
 		void reset() { current = 0; }
 		void rewind() { current--; }
Index: src/ControlStruct/LabelTypeChecker.cc
===================================================================
--- src/ControlStruct/LabelTypeChecker.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/LabelTypeChecker.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 24 16:24:48 2015
-// Update Count     : 3
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 19 15:32:15 2015
+// Update Count     : 2
 //
 
@@ -29,5 +29,5 @@
 		NameExpr *fname;
 		if ( ((fname = dynamic_cast<NameExpr *>(untypedExpr->get_function())) != 0) 
-			 && fname->get_name() == std::string("&&") )
+			 && fname->get_name() == std::string("LabAddress") )
 			std::cerr << "Taking the label of an address." << std::endl;
 		else {
Index: src/ControlStruct/MLEMutator.cc
===================================================================
--- src/ControlStruct/MLEMutator.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/MLEMutator.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Thu Jun 04 15:12:33 2015
-// Update Count     : 173
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 19 15:32:26 2015
+// Update Count     : 2
 //
 
@@ -19,5 +19,4 @@
 #include "MLEMutator.h"
 #include "SynTree/Statement.h"
-#include "SynTree/Expression.h"
 
 namespace ControlStruct {
@@ -27,124 +26,69 @@
 	}
 
-	// break labels have to come after the statement they break out of, 
-	// so mutate a statement, then if they inform us through the breakLabel field
-	// tha they need a place to jump to on a break statement, add the break label 
-	// to the body of statements
-	void MLEMutator::fixBlock( std::list< Statement * > &kids ) {
+	CompoundStmt* MLEMutator::mutate( CompoundStmt *cmpndStmt ) {
+		bool labeledBlock = false;
+		if ( !((cmpndStmt->get_labels()).empty()) ) {
+			labeledBlock = true;
+			enclosingBlocks.push_back( Entry( cmpndStmt ) );
+		} // if
+
+		std::list< Statement * > &kids = cmpndStmt->get_kids();
 		for ( std::list< Statement * >::iterator k = kids.begin(); k != kids.end(); k++ ) {
 			*k = (*k)->acceptMutator(*this);
 
 			if ( ! get_breakLabel().empty() ) {
-				std::list< Statement * >::iterator next = k+1;
+				std::list< Statement * >::iterator next = k; next++;
 				if ( next == kids.end() ) {
 					std::list<Label> ls; ls.push_back( get_breakLabel() );
 					kids.push_back( new NullStmt( ls ) );
-				} else {
+				} else
 					(*next)->get_labels().push_back( get_breakLabel() );
-				}
 
 				set_breakLabel("");
 			} // if
 		} // for
-	}
-
-	CompoundStmt* MLEMutator::mutate( CompoundStmt *cmpndStmt ) {
-		bool labeledBlock = !(cmpndStmt->get_labels().empty());
-		if ( labeledBlock ) {
-			Label brkLabel = generator->newLabel("blockBreak");
-			enclosingBlocks.push_back( Entry( cmpndStmt, brkLabel ) );
-		} // if
-
-		// a child statement may set the break label
-		// - if they do, attach it to the next statement
-		std::list< Statement * > &kids = cmpndStmt->get_kids();
-		fixBlock( kids );
 
 		if ( labeledBlock ) {
 			assert( ! enclosingBlocks.empty() );
-			if ( ! enclosingBlocks.back().useBreakExit().empty() ) {
-				set_breakLabel( enclosingBlocks.back().useBreakExit() );
-			}
+			if ( ! enclosingBlocks.back().get_breakExit().empty() )
+				set_breakLabel( enclosingBlocks.back().get_breakExit() );
 			enclosingBlocks.pop_back();
 		} // if
 
+		//mutateAll( cmpndStmt->get_kids(), *this );
 		return cmpndStmt;
 	}
 
-	template< typename LoopClass >
-	Statement *MLEMutator::handleLoopStmt( LoopClass *loopStmt ) {
-		// remember this as the most recent enclosing loop, then mutate 
-		// the body of the loop -- this will determine whether brkLabel
-		// and contLabel are used with branch statements
-		// and will recursively do the same to nested loops
-		Label brkLabel = generator->newLabel("loopBreak");
-		Label contLabel = generator->newLabel("loopContinue");
-		enclosingLoops.push_back( Entry( loopStmt, brkLabel, contLabel ) );
-		loopStmt->set_body ( loopStmt->get_body()->acceptMutator( *this ) );
-
-		// sanity check that the enclosing loops have been popped correctly
+	Statement *MLEMutator::mutate( WhileStmt *whileStmt ) {
+		enclosingLoops.push_back( Entry( whileStmt ) );
+		whileStmt->set_body ( whileStmt->get_body()->acceptMutator( *this ) );
+
 		Entry &e = enclosingLoops.back();
-		assert ( e == loopStmt );
-
-		// this will take the necessary steps to add definitions of the previous
-		// two labels, if they are used.
-		loopStmt->set_body( mutateLoop( loopStmt->get_body(), e ) );
+		assert ( e == whileStmt );
+		whileStmt->set_body( mutateLoop( whileStmt->get_body(), e ) );
 		enclosingLoops.pop_back();
 
-		return loopStmt;
-	}
-
-	Statement *MLEMutator::mutate( CaseStmt *caseStmt ) {
-		caseStmt->set_condition( maybeMutate( caseStmt->get_condition(), *this ) );
-		fixBlock( caseStmt->get_statements() );
-
-		return caseStmt;
-	}
-
-	template< typename SwitchClass >
-	Statement *MLEMutator::handleSwitchStmt( SwitchClass *switchStmt ) {
-		// generate a label for breaking out of a labeled switch 
-		Label brkLabel = generator->newLabel("switchBreak");
-		enclosingSwitches.push_back( Entry(switchStmt, brkLabel) );
-		mutateAll( switchStmt->get_branches(), *this ); 
-
-		Entry &e = enclosingSwitches.back();
-		assert ( e == switchStmt );
-
-		// only generate break label if labeled break is used
-		if (e.isBreakUsed()) {
-			// for the purposes of keeping switch statements uniform (i.e. all statements that are 
-			// direct children of a switch should be CastStmts), append the exit label + break to the 
-			// last case statement; create a default case if there are no cases
-			std::list< Statement * > &branches = switchStmt->get_branches();
-			if ( branches.empty() ) {
-				branches.push_back( CaseStmt::makeDefault() );
-			}
-
-			if ( CaseStmt * c = dynamic_cast< CaseStmt * >( branches.back() ) ) {
-				std::list<Label> temp; temp.push_back( brkLabel );
-				c->get_statements().push_back( new BranchStmt( temp, Label(""), BranchStmt::Break ) );
-			} else assert(0); // as of this point, all branches of a switch are still CaseStmts
-		}
-
-		assert ( enclosingSwitches.back() == switchStmt );
-		enclosingSwitches.pop_back();
-		return switchStmt;
+		return whileStmt;
+	}
+
+	Statement *MLEMutator::mutate( ForStmt *forStmt ) {
+		enclosingLoops.push_back( Entry( forStmt ) );
+		maybeMutate( forStmt->get_body(), *this );
+
+		Entry &e = enclosingLoops.back();
+		assert ( e == forStmt );
+		forStmt->set_body( mutateLoop( forStmt->get_body(), e ) );
+		enclosingLoops.pop_back();
+
+		return forStmt;
 	}
 
 	Statement *MLEMutator::mutate( BranchStmt *branchStmt ) throw ( SemanticError ) {
-		std::string originalTarget = branchStmt->get_originalTarget();
-
 		if ( branchStmt->get_type() == BranchStmt::Goto )
 			return branchStmt;
 
 		// test if continue target is a loop
-		if ( branchStmt->get_type() == BranchStmt::Continue) {
-			if ( enclosingLoops.empty() ) {
-				throw SemanticError( "'continue' outside a loop" );
-			} else if ( std::find( enclosingLoops.begin(), enclosingLoops.end(), (*targetTable)[branchStmt->get_target()] ) == enclosingLoops.end() ) {
-				throw SemanticError( "'continue' target label must be an enclosing loop: " + originalTarget );
-			}
-		}
+		if ( branchStmt->get_type() == BranchStmt::Continue && enclosingLoops.empty() )
+			throw SemanticError( "'continue' outside a loop" );
 
 		if ( branchStmt->get_type() == BranchStmt::Break && (enclosingLoops.empty() && enclosingSwitches.empty() && enclosingBlocks.empty() ) )
@@ -154,5 +98,5 @@
 
 		if ( targetTable->find( branchStmt->get_target() ) == targetTable->end() )
-			throw SemanticError("The label defined in the exit loop statement does not exist: " + originalTarget );  // shouldn't happen (since that's already checked)
+			throw SemanticError("The label defined in the exit loop statement does not exist." );  // shouldn't happen (since that's already checked)
 
 		std::list< Entry >::iterator check;
@@ -162,30 +106,62 @@
 				// neither in loop nor in block, checking if in switch/choose
 				if ( (check = std::find( enclosingSwitches.begin(), enclosingSwitches.end(), (*targetTable)[branchStmt->get_target()] )) == enclosingSwitches.end() )
-					throw SemanticError("The target specified in the exit loop statement does not correspond to an enclosing control structure: " + originalTarget );
-
-		// what about exiting innermost block or switch???
+					throw SemanticError("The target specified in the exit loop statement does not correspond to an enclosing loop.");
+
 		if ( enclosingLoops.back() == (*check) )
 			return branchStmt;				// exit the innermost loop (labels unnecessary)
 
-		// branch error checks, get the appropriate label name and create a goto
-		Label exitLabel;
+		Label newLabel;
 		switch ( branchStmt->get_type() ) {
 		  case BranchStmt::Break:
-				assert( check->useBreakExit() != "");
-				exitLabel = check->useBreakExit();
-				break;
+			if ( check->get_breakExit() != "" )
+				newLabel = check->get_breakExit();
+			else {
+				newLabel = generator->newLabel();
+				check->set_breakExit( newLabel );
+			} // if
+			break;
 		  case BranchStmt::Continue:
-				assert( check->useContExit() != "");
-				exitLabel = check->useContExit();
-				break;
+			if ( check->get_contExit() != "" )
+				newLabel = check->get_contExit();
+			else {
+				newLabel = generator->newLabel();
+				check->set_contExit( newLabel );
+			} // if
+			break;
 		  default:
-				assert(0);					// shouldn't be here
+			return 0;					// shouldn't be here
 		} // switch
 
-		return new BranchStmt( std::list<Label>(), exitLabel, BranchStmt::Goto );
+		return new BranchStmt( std::list<Label>(), newLabel, BranchStmt::Goto );
+	}
+
+
+	Statement *MLEMutator::mutate( SwitchStmt *switchStmt ) {
+		Label brkLabel = generator->newLabel();
+		enclosingSwitches.push_back( Entry(switchStmt, "", brkLabel) );
+		mutateAll( switchStmt->get_branches(), *this ); {
+			// check if this is necessary (if there is a break to this point, otherwise do not generate
+			std::list<Label> temp; temp.push_back( brkLabel );
+			switchStmt->get_branches().push_back( new BranchStmt( temp, Label(""), BranchStmt::Break ) );
+		}
+		assert ( enclosingSwitches.back() == switchStmt );
+		enclosingSwitches.pop_back();
+		return switchStmt;
+	}
+
+	Statement *MLEMutator::mutate( ChooseStmt *switchStmt ) {
+		Label brkLabel = generator->newLabel();
+		enclosingSwitches.push_back( Entry(switchStmt,"", brkLabel) );
+		mutateAll( switchStmt->get_branches(), *this ); {
+			// check if this is necessary (if there is a break to this point, otherwise do not generate
+			std::list<Label> temp; temp.push_back( brkLabel );
+			switchStmt->get_branches().push_back( new BranchStmt( temp, Label(""), BranchStmt::Break ) );
+		}
+		assert ( enclosingSwitches.back() == switchStmt );
+		enclosingSwitches.pop_back();
+		return switchStmt;
 	}
 
 	Statement *MLEMutator::mutateLoop( Statement *bodyLoop, Entry &e ) {
-		// ensure loop body is a block
 		CompoundStmt *newBody;
 		if ( ! (newBody = dynamic_cast<CompoundStmt *>( bodyLoop )) ) {
@@ -194,37 +170,39 @@
 		} // if
 
-		// only generate these when needed
-
-		if ( e.isContUsed() ) {
-			// continue label goes in the body as the last statement
-			std::list< Label > labels; labels.push_back( e.useContExit() );
-			newBody->get_kids().push_back( new NullStmt( labels ) );			
-		}
-
-		if ( e.isBreakUsed() ) {
-			// break label goes after the loop -- it'll get set by the 
-			// outer mutator if we do this
-			set_breakLabel( e.useBreakExit() );			
-		}
+		Label endLabel = e.get_contExit();
+
+		if ( e.get_breakExit() != "" ) {
+			if ( endLabel == "" ) endLabel = generator->newLabel();
+			// check for whether this label is used or not, so as to not generate extraneous gotos
+			if (e.breakExitUsed)
+				newBody->get_kids().push_back( new BranchStmt( std::list< Label >(), endLabel, BranchStmt::Goto ) );
+			// xxx
+			//std::list< Label > ls; ls.push_back( e.get_breakExit() );
+			set_breakLabel( e.get_breakExit() );
+			//newBody->get_kids().push_back( new BranchStmt( ls, "", BranchStmt::Break ) );
+		} // if
+
+		if ( e.get_breakExit() != "" || e.get_contExit() != "" ) {
+			if (dynamic_cast< NullStmt *>( newBody->get_kids().back() ))
+				newBody->get_kids().back()->get_labels().push_back( endLabel );
+			else {
+				std::list < Label > ls; ls.push_back( endLabel );
+				newBody->get_kids().push_back( new NullStmt( ls ) );
+			} // if
+		} // if
 
 		return newBody;
 	}
 
-	Statement *MLEMutator::mutate( WhileStmt *whileStmt ) {
-		return handleLoopStmt( whileStmt );
-	}
-
-	Statement *MLEMutator::mutate( ForStmt *forStmt ) {
-		return handleLoopStmt( forStmt );
-	}
-
-	Statement *MLEMutator::mutate( SwitchStmt *switchStmt ) {
-		return handleSwitchStmt( switchStmt );
-	}
-
-	Statement *MLEMutator::mutate( ChooseStmt *switchStmt ) {
-		return handleSwitchStmt( switchStmt );		
-	}
-
+	//*** Entry's methods
+	void MLEMutator::Entry::set_contExit( Label l ) {
+		assert ( contExit == "" || contExit == l );
+		contExit = l;
+	}
+
+	void MLEMutator::Entry::set_breakExit( Label l ) {
+		assert ( breakExit == "" || breakExit == l );
+		breakExit = l;
+	}
 } // namespace ControlStruct
 
Index: src/ControlStruct/MLEMutator.h
===================================================================
--- src/ControlStruct/MLEMutator.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/MLEMutator.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 03 15:06:36 2015
-// Update Count     : 25
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 19 15:32:39 2015
+// Update Count     : 3
 //
 
@@ -38,5 +38,4 @@
 		Statement *mutate( BranchStmt *branchStmt ) throw ( SemanticError );
 
-		Statement *mutate( CaseStmt *caseStmt ); 
 		Statement *mutate( SwitchStmt *switchStmt );
 		Statement *mutate( ChooseStmt *switchStmt );
@@ -49,6 +48,6 @@
 		class Entry {
 		  public:
-			explicit Entry( Statement *_loop, Label _breakExit, Label _contExit = Label("") ) :
-				loop( _loop ), breakExit( _breakExit ), contExit( _contExit ), breakUsed(false), contUsed(false) {}
+			explicit Entry( Statement *_loop = 0, Label _contExit = Label(""), Label _breakExit = Label("") ) :
+				loop( _loop ), contExit( _contExit ), breakExit( _breakExit ), contExitUsed( false ), breakExitUsed( false ) {}
 
 			bool operator==( const Statement *stmt ) { return ( loop == stmt ); }
@@ -59,14 +58,15 @@
 			Statement *get_loop() const { return loop; }
 
-			Label useContExit() { contUsed = true; return contExit; }
-			Label useBreakExit() { breakUsed = true; return breakExit; }
+			Label get_contExit() const { return contExit; }
+			void set_contExit( Label );
 
-			bool isContUsed() const { return contUsed; }
-			bool isBreakUsed() const { return breakUsed; }
+			Label get_breakExit() const { return breakExit; }
+			void set_breakExit( Label );
 
 		  private:
 			Statement *loop;
-			Label breakExit, contExit;
-			bool breakUsed, contUsed;
+			Label contExit, breakExit;
+		  public: // hack, provide proper [sg]etters
+			bool contExitUsed, breakExitUsed;
 		};
 
@@ -75,12 +75,4 @@
 		Label breakLabel;
 		LabelGenerator *generator;
-
-		template< typename LoopClass >
-		Statement *handleLoopStmt( LoopClass *loopStmt );
-
-		template< typename SwitchClass > 
-		Statement *handleSwitchStmt( SwitchClass *switchStmt );
-
-		void fixBlock( std::list< Statement * > &kids );
 	};
 } // namespace ControlStruct
Index: src/ControlStruct/Mutate.cc
===================================================================
--- src/ControlStruct/Mutate.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/Mutate.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 03 23:08:43 2015
-// Update Count     : 5
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 19 15:32:52 2015
+// Update Count     : 2
 //
 
@@ -37,15 +37,7 @@
 	void mutate( std::list< Declaration * > translationUnit ) {
 		// ForExprMutator formut;
-
-		// normalizes label definitions and generates multi-level
-		// exit labels
 		LabelFixer lfix;
-
-		// transform choose statements into switch statements
 		ChooseMutator chmut;
-
-		// expand case ranges and turn fallthru into a null statement
 		CaseRangeMutator ranges;  // has to run after ChooseMutator
-
 		//ExceptMutator exc;
 		// LabelTypeChecker lbl;
Index: src/ControlStruct/module.mk
===================================================================
--- src/ControlStruct/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ControlStruct/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,20 +1,4 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:51:45 2015
-## Update Count     : 1
-###############################################################################
-
 SRC +=  ControlStruct/LabelGenerator.cc \
-	ControlStruct/LabelFixer.cc \
+        ControlStruct/LabelFixer.cc \
         ControlStruct/MLEMutator.cc \
 	ControlStruct/CaseRangeMutator.cc \
@@ -22,4 +6,5 @@
 	ControlStruct/ChooseMutator.cc \
 	ControlStruct/ForExprMutator.cc \
-	ControlStruct/LabelTypeChecker.cc
+	ControlStruct/LabelTypeChecker.cc \
+	$(NULL)
 
Index: src/Designators/module.mk
===================================================================
--- src/Designators/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Designators/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:52:06 2015
-## Update Count     : 1
-###############################################################################
-
-SRC += Designators/Processor.cc
+SRC +=  Designators/Processor.cc \
+	$(NULL)
Index: src/GenPoly/Box.cc
===================================================================
--- src/GenPoly/Box.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/GenPoly/Box.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 09:12:19 2015
-// Update Count     : 4
+// Last Modified On : Tue May 19 07:31:41 2015
+// Update Count     : 1
 //
 
@@ -26,6 +26,5 @@
 #include "ScrubTyVars.h"
 
-#include "Parser/ParseNode.h"
-
+#include "SynTree/Declaration.h"
 #include "SynTree/Type.h"
 #include "SynTree/Expression.h"
@@ -33,7 +32,5 @@
 #include "SynTree/Statement.h"
 #include "SynTree/Mutator.h"
-
 #include "ResolvExpr/TypeEnvironment.h"
-
 #include "SymTab/Mangler.h"
 
@@ -285,5 +282,5 @@
 
 		ObjectDecl *Pass1::makeTemporary( Type *type ) {
-			ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, type, 0 );
+			ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, type, 0 );
 			stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) );
 			return newObj;
@@ -365,5 +362,5 @@
 					arg = new AddressExpr( arg );
 				} else {
-					ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 );
+					ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 );
 					newObj->get_type()->get_qualifiers() = Type::Qualifiers();
 					stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) );
@@ -436,5 +433,5 @@
 				makeRetParm( adapter );
 			} // if
-			adapter->get_parameters().push_front( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );
+			adapter->get_parameters().push_front( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );
 			return adapter;
 		}
@@ -524,5 +521,5 @@
 			adapterBody->get_kids().push_back( bodyStmt );
 			std::string adapterName = makeAdapterName( mangleName );
-			return new FunctionDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false, false );
+			return new FunctionDecl( adapterName, Declaration::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false );
 		}
 
@@ -905,5 +902,5 @@
 				if ( adaptersDone.find( mangleName ) == adaptersDone.end() ) {
 					std::string adapterName = makeAdapterName( mangleName );
-					paramList.push_front( new ObjectDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );
+					paramList.push_front( new ObjectDecl( adapterName, Declaration::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );
 					adaptersDone.insert( adaptersDone.begin(), mangleName );
 				}
@@ -964,6 +961,6 @@
 			std::list< DeclarationWithType *>::iterator last = funcType->get_parameters().begin();
 			std::list< DeclarationWithType *> inferredParams;
-			ObjectDecl *newObj = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 );
-///   ObjectDecl *newFunPtr = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 );
+			ObjectDecl *newObj = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 );
+///   ObjectDecl *newFunPtr = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 );
 			for ( std::list< TypeDecl *>::const_iterator tyParm = funcType->get_forall().begin(); tyParm != funcType->get_forall().end(); ++tyParm ) {
 				ObjectDecl *thisParm;
Index: src/GenPoly/Specialize.cc
===================================================================
--- src/GenPoly/Specialize.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/GenPoly/Specialize.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 15:54:07 2015
-// Update Count     : 6
+// Last Modified On : Tue May 19 07:55:09 2015
+// Update Count     : 4
 //
 
@@ -19,8 +19,7 @@
 #include "PolyMutator.h"
 
-#include "Parser/ParseNode.h"
-
+#include "SynTree/Declaration.h"
+#include "SynTree/Statement.h"
 #include "SynTree/Expression.h"
-#include "SynTree/Statement.h"
 #include "SynTree/Type.h"
 #include "SynTree/TypeSubstitution.h"
@@ -97,5 +96,5 @@
 					newEnv.applyFree( newType );
 				} // if
-				FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false, false );
+				FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false );
 				thunkFunc->fixUniqueId();
 
Index: src/GenPoly/module.mk
===================================================================
--- src/GenPoly/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/GenPoly/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,18 +1,2 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:52:30 2015
-## Update Count     : 1
-###############################################################################
-
 SRC += GenPoly/Box.cc \
        GenPoly/GenPoly.cc \
@@ -23,2 +7,3 @@
        GenPoly/CopyParams.cc \
        GenPoly/FindFunction.cc
+       
Index: src/InitTweak/module.mk
===================================================================
--- src/InitTweak/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/InitTweak/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,22 +1,7 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:52:49 2015
-## Update Count     : 1
-###############################################################################
-
 SRC += InitTweak/InitModel.cc \
        InitTweak/InitExpander.cc \
-       InitTweak/Mutate.cc \
-       InitTweak/Association.cc \
-       InitTweak/RemoveInit.cc
+       InitTweak/Mutate.cc     \
+       InitTweak/Association.cc     \
+       InitTweak/RemoveInit.cc     \
+	$(NULL)
 
Index: src/MakeLibCfa.cc
===================================================================
--- src/MakeLibCfa.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/MakeLibCfa.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 10:33:33 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 16:52:59 2015
-// Update Count     : 14
+// Last Modified On : Sat May 16 10:40:44 2015
+// Update Count     : 13
 // 
 
@@ -78,6 +78,4 @@
 			}
 		  case CodeGen::OT_CONSTANT:
-		  case CodeGen::OT_LABELADDRESS:
-			// there are no intrinsic definitions of 0/1 or label addresses as functions
 			assert( false );
 		} // switch
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,43 +1,0 @@
-######################## -*- Mode: Makefile-Automake -*- ######################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## Makefile.am -- 
-##
-## Author           : Peter A. Buhr
-## Created On       : Sun May 31 08:51:46 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Sat Jun 13 08:22:14 2015
-## Update Count     : 17
-###############################################################################
-
-# create object files in directory with source files
-AUTOMAKE_OPTIONS = subdir-objects
-
-SRC = main.cc MakeLibCfa.cc
-
-# Is there a way to use a variable for the directory names?
-include ArgTweak/module.mk
-include CodeGen/module.mk
-include Common/module.mk
-include ControlStruct/module.mk
-include Designators/module.mk
-include GenPoly/module.mk
-include InitTweak/module.mk
-include Parser/module.mk
-include ResolvExpr/module.mk
-include SymTab/module.mk
-include SynTree/module.mk
-include Tuples/module.mk
-
-# put into lib for now
-cfa_cpplibdir = ${libdir}
-cfa_cpplib_PROGRAMS = cfa-cpp
-cfa_cpp_SOURCES = ${SRC}
-# need files Common/utility.h
-cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common
-
-CXXFLAGS = -g	# remove default -O2 to allow better debugging
Index: src/Makefile.in
===================================================================
--- src/Makefile.in	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Makefile.in	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,2697 +1,68 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-######################## -*- Mode: Makefile-Automake -*- ######################
+######################### -*- Mode: Makefile-Gmake -*- ########################
+##
+## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+##
+## The contents of this file are covered under the licence agreement in the
+## file "LICENCE" distributed with Cforall.
+##
+## Makefile.in -- 
+##
+## Author           : Richard C. Bilson
+## Created On       : Sat May 16 08:37:37 2015
+## Last Modified By : Peter A. Buhr
+## Last Modified On : Thu May 21 21:17:32 2015
+## Update Count     : 3
 ###############################################################################
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# This makefile is adapted from Peter Miller's article "Recursive Make Considered Harmful"
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+MODULES := Common Parser SynTree SymTab ResolvExpr CodeGen ControlStruct GenPoly Tuples InitTweak Designators # Try ArgTweak Explain
+TARGET := cfa-cpp
 
-#SRC +=  ArgTweak/Rewriter.cc \
-#	ArgTweak/Mutate.cc
+all: ${TARGET}
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# look for include files in each of the modules
+CXX := @CXX@
+CXXFLAGS += -Wno-deprecated -Wall -g -DDEBUG_ALL -I. -I Common -MMD
+INSTALL=@INSTALL@
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# this is the back-end compiler, used to compile libcfa & builtins to link with user code
+BACKEND_CC := @BACKEND_CC@
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# extra libraries if required
+LIBS :=
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# each module will add to this
+SRC := main.cc MakeLibCfa.cc
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# other things that ought to be cleaned up
+EXTRA_OUTPUT := core
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# include the description for each module
+include ${patsubst %,%/module.mk,${MODULES}}
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# determine the object files
+OBJ := ${patsubst %.cc,%.o,${filter %.cc,${SRC}}} \
+       ${patsubst %.y,%.tab.o,${filter %.y,${SRC}}} \
+       ${patsubst %.l,%.yy.o,${filter %.l,${SRC}}}
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# include the C include dependencies
+DEPS := ${OBJ:.o=.d}
+-include ${DEPS}
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+# link the program
+${TARGET}: ${OBJ}
+	${PURIFY} ${CXX} -o $@ ${OBJ} ${LIBS}
 
-######################### -*- Mode: Makefile-Gmake -*- ########################
-###############################################################################
+#installing
+install: ${TARGET}
+	${INSTALL} -d @CFA_LIBDIR@
+	${INSTALL} ${TARGET} @CFA_LIBDIR@
 
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-DIST_COMMON = $(srcdir)/ArgTweak/module.mk $(srcdir)/CodeGen/module.mk \
-	$(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk \
-	$(srcdir)/Designators/module.mk $(srcdir)/GenPoly/module.mk \
-	$(srcdir)/InitTweak/module.mk $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in $(srcdir)/Parser/module.mk \
-	$(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk \
-	$(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk \
-	Parser/lex.cc Parser/parser.cc Parser/parser.h
-cfa_cpplib_PROGRAMS = cfa-cpp$(EXEEXT)
-subdir = src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(cfa_cpplibdir)"
-PROGRAMS = $(cfa_cpplib_PROGRAMS)
-am__dirstamp = $(am__leading_dot)dirstamp
-am__objects_1 = cfa_cpp-main.$(OBJEXT) cfa_cpp-MakeLibCfa.$(OBJEXT) \
-	CodeGen/cfa_cpp-Generate.$(OBJEXT) \
-	CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT) \
-	CodeGen/cfa_cpp-GenType.$(OBJEXT) \
-	CodeGen/cfa_cpp-FixNames.$(OBJEXT) \
-	CodeGen/cfa_cpp-OperatorTable.$(OBJEXT) \
-	Common/cfa_cpp-SemanticError.$(OBJEXT) \
-	Common/cfa_cpp-UniqueName.$(OBJEXT) \
-	ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT) \
-	ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT) \
-	ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT) \
-	ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT) \
-	ControlStruct/cfa_cpp-Mutate.$(OBJEXT) \
-	ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT) \
-	ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT) \
-	ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT) \
-	Designators/cfa_cpp-Processor.$(OBJEXT) \
-	GenPoly/cfa_cpp-Box.$(OBJEXT) \
-	GenPoly/cfa_cpp-GenPoly.$(OBJEXT) \
-	GenPoly/cfa_cpp-PolyMutator.$(OBJEXT) \
-	GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT) \
-	GenPoly/cfa_cpp-Lvalue.$(OBJEXT) \
-	GenPoly/cfa_cpp-Specialize.$(OBJEXT) \
-	GenPoly/cfa_cpp-CopyParams.$(OBJEXT) \
-	GenPoly/cfa_cpp-FindFunction.$(OBJEXT) \
-	InitTweak/cfa_cpp-InitModel.$(OBJEXT) \
-	InitTweak/cfa_cpp-InitExpander.$(OBJEXT) \
-	InitTweak/cfa_cpp-Mutate.$(OBJEXT) \
-	InitTweak/cfa_cpp-Association.$(OBJEXT) \
-	InitTweak/cfa_cpp-RemoveInit.$(OBJEXT) \
-	Parser/cfa_cpp-parser.$(OBJEXT) Parser/cfa_cpp-lex.$(OBJEXT) \
-	Parser/cfa_cpp-TypedefTable.$(OBJEXT) \
-	Parser/cfa_cpp-ParseNode.$(OBJEXT) \
-	Parser/cfa_cpp-DeclarationNode.$(OBJEXT) \
-	Parser/cfa_cpp-ExpressionNode.$(OBJEXT) \
-	Parser/cfa_cpp-StatementNode.$(OBJEXT) \
-	Parser/cfa_cpp-InitializerNode.$(OBJEXT) \
-	Parser/cfa_cpp-TypeData.$(OBJEXT) \
-	Parser/cfa_cpp-LinkageSpec.$(OBJEXT) \
-	Parser/cfa_cpp-parseutility.$(OBJEXT) \
-	Parser/cfa_cpp-Parser.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-Alternative.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-Unify.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-CommonType.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-CastCost.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-Resolver.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-Occurs.$(OBJEXT) \
-	ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT) \
-	SymTab/cfa_cpp-IdTable.$(OBJEXT) \
-	SymTab/cfa_cpp-Indexer.$(OBJEXT) \
-	SymTab/cfa_cpp-Mangler.$(OBJEXT) \
-	SymTab/cfa_cpp-Validate.$(OBJEXT) \
-	SymTab/cfa_cpp-FixFunction.$(OBJEXT) \
-	SymTab/cfa_cpp-ImplementationType.$(OBJEXT) \
-	SynTree/cfa_cpp-Type.$(OBJEXT) \
-	SynTree/cfa_cpp-VoidType.$(OBJEXT) \
-	SynTree/cfa_cpp-BasicType.$(OBJEXT) \
-	SynTree/cfa_cpp-PointerType.$(OBJEXT) \
-	SynTree/cfa_cpp-ArrayType.$(OBJEXT) \
-	SynTree/cfa_cpp-FunctionType.$(OBJEXT) \
-	SynTree/cfa_cpp-ReferenceToType.$(OBJEXT) \
-	SynTree/cfa_cpp-TupleType.$(OBJEXT) \
-	SynTree/cfa_cpp-TypeofType.$(OBJEXT) \
-	SynTree/cfa_cpp-AttrType.$(OBJEXT) \
-	SynTree/cfa_cpp-Constant.$(OBJEXT) \
-	SynTree/cfa_cpp-Expression.$(OBJEXT) \
-	SynTree/cfa_cpp-TupleExpr.$(OBJEXT) \
-	SynTree/cfa_cpp-CommaExpr.$(OBJEXT) \
-	SynTree/cfa_cpp-TypeExpr.$(OBJEXT) \
-	SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT) \
-	SynTree/cfa_cpp-AddressExpr.$(OBJEXT) \
-	SynTree/cfa_cpp-Statement.$(OBJEXT) \
-	SynTree/cfa_cpp-CompoundStmt.$(OBJEXT) \
-	SynTree/cfa_cpp-DeclStmt.$(OBJEXT) \
-	SynTree/cfa_cpp-Declaration.$(OBJEXT) \
-	SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT) \
-	SynTree/cfa_cpp-ObjectDecl.$(OBJEXT) \
-	SynTree/cfa_cpp-FunctionDecl.$(OBJEXT) \
-	SynTree/cfa_cpp-AggregateDecl.$(OBJEXT) \
-	SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT) \
-	SynTree/cfa_cpp-TypeDecl.$(OBJEXT) \
-	SynTree/cfa_cpp-Initializer.$(OBJEXT) \
-	SynTree/cfa_cpp-Visitor.$(OBJEXT) \
-	SynTree/cfa_cpp-Mutator.$(OBJEXT) \
-	SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT) \
-	SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT) \
-	Tuples/cfa_cpp-Mutate.$(OBJEXT) \
-	Tuples/cfa_cpp-AssignExpand.$(OBJEXT) \
-	Tuples/cfa_cpp-FunctionFixer.$(OBJEXT) \
-	Tuples/cfa_cpp-TupleAssignment.$(OBJEXT) \
-	Tuples/cfa_cpp-FunctionChecker.$(OBJEXT) \
-	Tuples/cfa_cpp-NameMatcher.$(OBJEXT)
-am_cfa_cpp_OBJECTS = $(am__objects_1)
-cfa_cpp_OBJECTS = $(am_cfa_cpp_OBJECTS)
-am__DEPENDENCIES_1 =
-cfa_cpp_DEPENDENCIES = $(am__DEPENDENCIES_1)
-cfa_cpp_LINK = $(CXXLD) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-	-o $@
-@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ ||
-LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
-YLWRAP = $(top_srcdir)/automake/ylwrap
-@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
-YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(cfa_cpp_SOURCES)
-DIST_SOURCES = $(cfa_cpp_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BACKEND_CC = @BACKEND_CC@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFA_BINDIR = @CFA_BINDIR@
-CFA_INCDIR = @CFA_INCDIR@
-CFA_LIBDIR = @CFA_LIBDIR@
-CFA_PREFIX = @CFA_PREFIX@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = -g	# remove default -O2 to allow better debugging
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GCC_PATH = @GCC_PATH@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LEX = @LEX@
-LEXLIB = @LEXLIB@
-LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-YACC = @YACC@
-YFLAGS = @YFLAGS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build_alias = @build_alias@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
+# clean-up rule
+clean:
+	rm -f ${OBJ} ${DEPS} ${TARGET} tags ${EXTRA_OUTPUT}
+	find . -name "Expected*" -prune -o \( -name "*.tst" -o -name "report" \) -print | xargs rm -f
+	find . -name "core*" -print | xargs rm -f
 
-# create object files in directory with source files
-AUTOMAKE_OPTIONS = subdir-objects
-SRC = main.cc MakeLibCfa.cc CodeGen/Generate.cc \
-	CodeGen/CodeGenerator.cc CodeGen/GenType.cc \
-	CodeGen/FixNames.cc CodeGen/OperatorTable.cc \
-	Common/SemanticError.cc Common/UniqueName.cc \
-	ControlStruct/LabelGenerator.cc ControlStruct/LabelFixer.cc \
-	ControlStruct/MLEMutator.cc ControlStruct/CaseRangeMutator.cc \
-	ControlStruct/Mutate.cc ControlStruct/ChooseMutator.cc \
-	ControlStruct/ForExprMutator.cc \
-	ControlStruct/LabelTypeChecker.cc Designators/Processor.cc \
-	GenPoly/Box.cc GenPoly/GenPoly.cc GenPoly/PolyMutator.cc \
-	GenPoly/ScrubTyVars.cc GenPoly/Lvalue.cc GenPoly/Specialize.cc \
-	GenPoly/CopyParams.cc GenPoly/FindFunction.cc \
-	InitTweak/InitModel.cc InitTweak/InitExpander.cc \
-	InitTweak/Mutate.cc InitTweak/Association.cc \
-	InitTweak/RemoveInit.cc Parser/parser.yy Parser/lex.ll \
-	Parser/TypedefTable.cc Parser/ParseNode.cc \
-	Parser/DeclarationNode.cc Parser/ExpressionNode.cc \
-	Parser/StatementNode.cc Parser/InitializerNode.cc \
-	Parser/TypeData.cc Parser/LinkageSpec.cc \
-	Parser/parseutility.cc Parser/Parser.cc \
-	ResolvExpr/AlternativeFinder.cc ResolvExpr/Alternative.cc \
-	ResolvExpr/Unify.cc ResolvExpr/PtrsAssignable.cc \
-	ResolvExpr/CommonType.cc ResolvExpr/ConversionCost.cc \
-	ResolvExpr/CastCost.cc ResolvExpr/PtrsCastable.cc \
-	ResolvExpr/AdjustExprType.cc ResolvExpr/AlternativePrinter.cc \
-	ResolvExpr/Resolver.cc ResolvExpr/ResolveTypeof.cc \
-	ResolvExpr/RenameVars.cc ResolvExpr/FindOpenVars.cc \
-	ResolvExpr/PolyCost.cc ResolvExpr/Occurs.cc \
-	ResolvExpr/TypeEnvironment.cc SymTab/IdTable.cc \
-	SymTab/Indexer.cc SymTab/Mangler.cc SymTab/Validate.cc \
-	SymTab/FixFunction.cc SymTab/ImplementationType.cc \
-	SynTree/Type.cc SynTree/VoidType.cc SynTree/BasicType.cc \
-	SynTree/PointerType.cc SynTree/ArrayType.cc \
-	SynTree/FunctionType.cc SynTree/ReferenceToType.cc \
-	SynTree/TupleType.cc SynTree/TypeofType.cc SynTree/AttrType.cc \
-	SynTree/Constant.cc SynTree/Expression.cc SynTree/TupleExpr.cc \
-	SynTree/CommaExpr.cc SynTree/TypeExpr.cc \
-	SynTree/ApplicationExpr.cc SynTree/AddressExpr.cc \
-	SynTree/Statement.cc SynTree/CompoundStmt.cc \
-	SynTree/DeclStmt.cc SynTree/Declaration.cc \
-	SynTree/DeclarationWithType.cc SynTree/ObjectDecl.cc \
-	SynTree/FunctionDecl.cc SynTree/AggregateDecl.cc \
-	SynTree/NamedTypeDecl.cc SynTree/TypeDecl.cc \
-	SynTree/Initializer.cc SynTree/Visitor.cc SynTree/Mutator.cc \
-	SynTree/CodeGenVisitor.cc SynTree/TypeSubstitution.cc \
-	Tuples/Mutate.cc Tuples/AssignExpand.cc \
-	Tuples/FunctionFixer.cc Tuples/TupleAssignment.cc \
-	Tuples/FunctionChecker.cc Tuples/NameMatcher.cc
-BUILT_SOURCES = Parser/parser.h
-AM_YFLAGS = -d -t -v
-cfa_cpp_LDADD = ${LEXLIB}	# yywrap
-MAINTAINERCLEANFILES = Parser/parser.output
-
-# Is there a way to use a variable for the directory names?
-
-# put into lib for now
-cfa_cpplibdir = ${libdir}
-cfa_cpp_SOURCES = ${SRC}
-# need files Common/utility.h
-cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common
-all: $(BUILT_SOURCES)
-	$(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .ll .o .obj .yy
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/ArgTweak/module.mk $(srcdir)/CodeGen/module.mk $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk $(srcdir)/Designators/module.mk $(srcdir)/GenPoly/module.mk $(srcdir)/InitTweak/module.mk $(srcdir)/Parser/module.mk $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu src/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-$(srcdir)/ArgTweak/module.mk $(srcdir)/CodeGen/module.mk $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk $(srcdir)/Designators/module.mk $(srcdir)/GenPoly/module.mk $(srcdir)/InitTweak/module.mk $(srcdir)/Parser/module.mk $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk:
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-cfa_cpplibPROGRAMS: $(cfa_cpplib_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	test -z "$(cfa_cpplibdir)" || $(MKDIR_P) "$(DESTDIR)$(cfa_cpplibdir)"
-	@list='$(cfa_cpplib_PROGRAMS)'; test -n "$(cfa_cpplibdir)" || list=; \
-	for p in $$list; do echo "$$p $$p"; done | \
-	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
-	sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
-	    else { print "f", $$3 "/" $$4, $$1; } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	    test -z "$$files" || { \
-	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \
-	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \
-	    } \
-	; done
-
-uninstall-cfa_cpplibPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(cfa_cpplib_PROGRAMS)'; test -n "$(cfa_cpplibdir)" || list=; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
-	test -n "$$list" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(cfa_cpplibdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(cfa_cpplibdir)" && rm -f $$files
-
-clean-cfa_cpplibPROGRAMS:
-	-test -z "$(cfa_cpplib_PROGRAMS)" || rm -f $(cfa_cpplib_PROGRAMS)
-CodeGen/$(am__dirstamp):
-	@$(MKDIR_P) CodeGen
-	@: > CodeGen/$(am__dirstamp)
-CodeGen/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) CodeGen/$(DEPDIR)
-	@: > CodeGen/$(DEPDIR)/$(am__dirstamp)
-CodeGen/cfa_cpp-Generate.$(OBJEXT): CodeGen/$(am__dirstamp) \
-	CodeGen/$(DEPDIR)/$(am__dirstamp)
-CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT): CodeGen/$(am__dirstamp) \
-	CodeGen/$(DEPDIR)/$(am__dirstamp)
-CodeGen/cfa_cpp-GenType.$(OBJEXT): CodeGen/$(am__dirstamp) \
-	CodeGen/$(DEPDIR)/$(am__dirstamp)
-CodeGen/cfa_cpp-FixNames.$(OBJEXT): CodeGen/$(am__dirstamp) \
-	CodeGen/$(DEPDIR)/$(am__dirstamp)
-CodeGen/cfa_cpp-OperatorTable.$(OBJEXT): CodeGen/$(am__dirstamp) \
-	CodeGen/$(DEPDIR)/$(am__dirstamp)
-Common/$(am__dirstamp):
-	@$(MKDIR_P) Common
-	@: > Common/$(am__dirstamp)
-Common/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) Common/$(DEPDIR)
-	@: > Common/$(DEPDIR)/$(am__dirstamp)
-Common/cfa_cpp-SemanticError.$(OBJEXT): Common/$(am__dirstamp) \
-	Common/$(DEPDIR)/$(am__dirstamp)
-Common/cfa_cpp-UniqueName.$(OBJEXT): Common/$(am__dirstamp) \
-	Common/$(DEPDIR)/$(am__dirstamp)
-ControlStruct/$(am__dirstamp):
-	@$(MKDIR_P) ControlStruct
-	@: > ControlStruct/$(am__dirstamp)
-ControlStruct/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) ControlStruct/$(DEPDIR)
-	@: > ControlStruct/$(DEPDIR)/$(am__dirstamp)
-ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT):  \
-	ControlStruct/$(am__dirstamp) \
-	ControlStruct/$(DEPDIR)/$(am__dirstamp)
-ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT):  \
-	ControlStruct/$(am__dirstamp) \
-	ControlStruct/$(DEPDIR)/$(am__dirstamp)
-ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT):  \
-	ControlStruct/$(am__dirstamp) \
-	ControlStruct/$(DEPDIR)/$(am__dirstamp)
-ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT):  \
-	ControlStruct/$(am__dirstamp) \
-	ControlStruct/$(DEPDIR)/$(am__dirstamp)
-ControlStruct/cfa_cpp-Mutate.$(OBJEXT): ControlStruct/$(am__dirstamp) \
-	ControlStruct/$(DEPDIR)/$(am__dirstamp)
-ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT):  \
-	ControlStruct/$(am__dirstamp) \
-	ControlStruct/$(DEPDIR)/$(am__dirstamp)
-ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT):  \
-	ControlStruct/$(am__dirstamp) \
-	ControlStruct/$(DEPDIR)/$(am__dirstamp)
-ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT):  \
-	ControlStruct/$(am__dirstamp) \
-	ControlStruct/$(DEPDIR)/$(am__dirstamp)
-Designators/$(am__dirstamp):
-	@$(MKDIR_P) Designators
-	@: > Designators/$(am__dirstamp)
-Designators/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) Designators/$(DEPDIR)
-	@: > Designators/$(DEPDIR)/$(am__dirstamp)
-Designators/cfa_cpp-Processor.$(OBJEXT): Designators/$(am__dirstamp) \
-	Designators/$(DEPDIR)/$(am__dirstamp)
-GenPoly/$(am__dirstamp):
-	@$(MKDIR_P) GenPoly
-	@: > GenPoly/$(am__dirstamp)
-GenPoly/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) GenPoly/$(DEPDIR)
-	@: > GenPoly/$(DEPDIR)/$(am__dirstamp)
-GenPoly/cfa_cpp-Box.$(OBJEXT): GenPoly/$(am__dirstamp) \
-	GenPoly/$(DEPDIR)/$(am__dirstamp)
-GenPoly/cfa_cpp-GenPoly.$(OBJEXT): GenPoly/$(am__dirstamp) \
-	GenPoly/$(DEPDIR)/$(am__dirstamp)
-GenPoly/cfa_cpp-PolyMutator.$(OBJEXT): GenPoly/$(am__dirstamp) \
-	GenPoly/$(DEPDIR)/$(am__dirstamp)
-GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT): GenPoly/$(am__dirstamp) \
-	GenPoly/$(DEPDIR)/$(am__dirstamp)
-GenPoly/cfa_cpp-Lvalue.$(OBJEXT): GenPoly/$(am__dirstamp) \
-	GenPoly/$(DEPDIR)/$(am__dirstamp)
-GenPoly/cfa_cpp-Specialize.$(OBJEXT): GenPoly/$(am__dirstamp) \
-	GenPoly/$(DEPDIR)/$(am__dirstamp)
-GenPoly/cfa_cpp-CopyParams.$(OBJEXT): GenPoly/$(am__dirstamp) \
-	GenPoly/$(DEPDIR)/$(am__dirstamp)
-GenPoly/cfa_cpp-FindFunction.$(OBJEXT): GenPoly/$(am__dirstamp) \
-	GenPoly/$(DEPDIR)/$(am__dirstamp)
-InitTweak/$(am__dirstamp):
-	@$(MKDIR_P) InitTweak
-	@: > InitTweak/$(am__dirstamp)
-InitTweak/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) InitTweak/$(DEPDIR)
-	@: > InitTweak/$(DEPDIR)/$(am__dirstamp)
-InitTweak/cfa_cpp-InitModel.$(OBJEXT): InitTweak/$(am__dirstamp) \
-	InitTweak/$(DEPDIR)/$(am__dirstamp)
-InitTweak/cfa_cpp-InitExpander.$(OBJEXT): InitTweak/$(am__dirstamp) \
-	InitTweak/$(DEPDIR)/$(am__dirstamp)
-InitTweak/cfa_cpp-Mutate.$(OBJEXT): InitTweak/$(am__dirstamp) \
-	InitTweak/$(DEPDIR)/$(am__dirstamp)
-InitTweak/cfa_cpp-Association.$(OBJEXT): InitTweak/$(am__dirstamp) \
-	InitTweak/$(DEPDIR)/$(am__dirstamp)
-InitTweak/cfa_cpp-RemoveInit.$(OBJEXT): InitTweak/$(am__dirstamp) \
-	InitTweak/$(DEPDIR)/$(am__dirstamp)
-Parser/parser.h: Parser/parser.cc
-	@if test ! -f $@; then rm -f Parser/parser.cc; else :; fi
-	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) Parser/parser.cc; else :; fi
-Parser/$(am__dirstamp):
-	@$(MKDIR_P) Parser
-	@: > Parser/$(am__dirstamp)
-Parser/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) Parser/$(DEPDIR)
-	@: > Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-parser.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-lex.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-TypedefTable.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-ParseNode.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-DeclarationNode.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-ExpressionNode.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-StatementNode.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-InitializerNode.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-TypeData.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-LinkageSpec.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-parseutility.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-Parser/cfa_cpp-Parser.$(OBJEXT): Parser/$(am__dirstamp) \
-	Parser/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/$(am__dirstamp):
-	@$(MKDIR_P) ResolvExpr
-	@: > ResolvExpr/$(am__dirstamp)
-ResolvExpr/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) ResolvExpr/$(DEPDIR)
-	@: > ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT):  \
-	ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-Alternative.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-Unify.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT):  \
-	ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-CommonType.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT):  \
-	ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-CastCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT):  \
-	ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT):  \
-	ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-Resolver.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT):  \
-	ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-Occurs.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT):  \
-	ResolvExpr/$(am__dirstamp) \
-	ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-SymTab/$(am__dirstamp):
-	@$(MKDIR_P) SymTab
-	@: > SymTab/$(am__dirstamp)
-SymTab/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) SymTab/$(DEPDIR)
-	@: > SymTab/$(DEPDIR)/$(am__dirstamp)
-SymTab/cfa_cpp-IdTable.$(OBJEXT): SymTab/$(am__dirstamp) \
-	SymTab/$(DEPDIR)/$(am__dirstamp)
-SymTab/cfa_cpp-Indexer.$(OBJEXT): SymTab/$(am__dirstamp) \
-	SymTab/$(DEPDIR)/$(am__dirstamp)
-SymTab/cfa_cpp-Mangler.$(OBJEXT): SymTab/$(am__dirstamp) \
-	SymTab/$(DEPDIR)/$(am__dirstamp)
-SymTab/cfa_cpp-Validate.$(OBJEXT): SymTab/$(am__dirstamp) \
-	SymTab/$(DEPDIR)/$(am__dirstamp)
-SymTab/cfa_cpp-FixFunction.$(OBJEXT): SymTab/$(am__dirstamp) \
-	SymTab/$(DEPDIR)/$(am__dirstamp)
-SymTab/cfa_cpp-ImplementationType.$(OBJEXT): SymTab/$(am__dirstamp) \
-	SymTab/$(DEPDIR)/$(am__dirstamp)
-SynTree/$(am__dirstamp):
-	@$(MKDIR_P) SynTree
-	@: > SynTree/$(am__dirstamp)
-SynTree/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) SynTree/$(DEPDIR)
-	@: > SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-Type.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-VoidType.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-BasicType.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-PointerType.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-ArrayType.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-FunctionType.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-ReferenceToType.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-TupleType.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-TypeofType.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-AttrType.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-Constant.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-Expression.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-TupleExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-CommaExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-TypeExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-AddressExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-Statement.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-CompoundStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-DeclStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-Declaration.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT):  \
-	SynTree/$(am__dirstamp) SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-ObjectDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-FunctionDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-AggregateDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-TypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-Initializer.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-Visitor.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-Mutator.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT): SynTree/$(am__dirstamp) \
-	SynTree/$(DEPDIR)/$(am__dirstamp)
-Tuples/$(am__dirstamp):
-	@$(MKDIR_P) Tuples
-	@: > Tuples/$(am__dirstamp)
-Tuples/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) Tuples/$(DEPDIR)
-	@: > Tuples/$(DEPDIR)/$(am__dirstamp)
-Tuples/cfa_cpp-Mutate.$(OBJEXT): Tuples/$(am__dirstamp) \
-	Tuples/$(DEPDIR)/$(am__dirstamp)
-Tuples/cfa_cpp-AssignExpand.$(OBJEXT): Tuples/$(am__dirstamp) \
-	Tuples/$(DEPDIR)/$(am__dirstamp)
-Tuples/cfa_cpp-FunctionFixer.$(OBJEXT): Tuples/$(am__dirstamp) \
-	Tuples/$(DEPDIR)/$(am__dirstamp)
-Tuples/cfa_cpp-TupleAssignment.$(OBJEXT): Tuples/$(am__dirstamp) \
-	Tuples/$(DEPDIR)/$(am__dirstamp)
-Tuples/cfa_cpp-FunctionChecker.$(OBJEXT): Tuples/$(am__dirstamp) \
-	Tuples/$(DEPDIR)/$(am__dirstamp)
-Tuples/cfa_cpp-NameMatcher.$(OBJEXT): Tuples/$(am__dirstamp) \
-	Tuples/$(DEPDIR)/$(am__dirstamp)
-cfa-cpp$(EXEEXT): $(cfa_cpp_OBJECTS) $(cfa_cpp_DEPENDENCIES) $(EXTRA_cfa_cpp_DEPENDENCIES) 
-	@rm -f cfa-cpp$(EXEEXT)
-	$(cfa_cpp_LINK) $(cfa_cpp_OBJECTS) $(cfa_cpp_LDADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-	-rm -f CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT)
-	-rm -f CodeGen/cfa_cpp-FixNames.$(OBJEXT)
-	-rm -f CodeGen/cfa_cpp-GenType.$(OBJEXT)
-	-rm -f CodeGen/cfa_cpp-Generate.$(OBJEXT)
-	-rm -f CodeGen/cfa_cpp-OperatorTable.$(OBJEXT)
-	-rm -f Common/cfa_cpp-SemanticError.$(OBJEXT)
-	-rm -f Common/cfa_cpp-UniqueName.$(OBJEXT)
-	-rm -f ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT)
-	-rm -f ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT)
-	-rm -f ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT)
-	-rm -f ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT)
-	-rm -f ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT)
-	-rm -f ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT)
-	-rm -f ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT)
-	-rm -f ControlStruct/cfa_cpp-Mutate.$(OBJEXT)
-	-rm -f Designators/cfa_cpp-Processor.$(OBJEXT)
-	-rm -f GenPoly/cfa_cpp-Box.$(OBJEXT)
-	-rm -f GenPoly/cfa_cpp-CopyParams.$(OBJEXT)
-	-rm -f GenPoly/cfa_cpp-FindFunction.$(OBJEXT)
-	-rm -f GenPoly/cfa_cpp-GenPoly.$(OBJEXT)
-	-rm -f GenPoly/cfa_cpp-Lvalue.$(OBJEXT)
-	-rm -f GenPoly/cfa_cpp-PolyMutator.$(OBJEXT)
-	-rm -f GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT)
-	-rm -f GenPoly/cfa_cpp-Specialize.$(OBJEXT)
-	-rm -f InitTweak/cfa_cpp-Association.$(OBJEXT)
-	-rm -f InitTweak/cfa_cpp-InitExpander.$(OBJEXT)
-	-rm -f InitTweak/cfa_cpp-InitModel.$(OBJEXT)
-	-rm -f InitTweak/cfa_cpp-Mutate.$(OBJEXT)
-	-rm -f InitTweak/cfa_cpp-RemoveInit.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-DeclarationNode.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-ExpressionNode.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-InitializerNode.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-LinkageSpec.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-ParseNode.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-Parser.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-StatementNode.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-TypeData.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-TypedefTable.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-lex.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-parser.$(OBJEXT)
-	-rm -f Parser/cfa_cpp-parseutility.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-Alternative.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-CastCost.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-CommonType.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-Occurs.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-Resolver.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT)
-	-rm -f ResolvExpr/cfa_cpp-Unify.$(OBJEXT)
-	-rm -f SymTab/cfa_cpp-FixFunction.$(OBJEXT)
-	-rm -f SymTab/cfa_cpp-IdTable.$(OBJEXT)
-	-rm -f SymTab/cfa_cpp-ImplementationType.$(OBJEXT)
-	-rm -f SymTab/cfa_cpp-Indexer.$(OBJEXT)
-	-rm -f SymTab/cfa_cpp-Mangler.$(OBJEXT)
-	-rm -f SymTab/cfa_cpp-Validate.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-AddressExpr.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-AggregateDecl.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-ArrayType.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-AttrType.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-BasicType.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-CommaExpr.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-CompoundStmt.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-Constant.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-DeclStmt.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-Declaration.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-Expression.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-FunctionDecl.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-FunctionType.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-Initializer.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-Mutator.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-ObjectDecl.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-PointerType.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-ReferenceToType.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-Statement.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-TupleExpr.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-TupleType.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-Type.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-TypeDecl.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-TypeExpr.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-TypeofType.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-Visitor.$(OBJEXT)
-	-rm -f SynTree/cfa_cpp-VoidType.$(OBJEXT)
-	-rm -f Tuples/cfa_cpp-AssignExpand.$(OBJEXT)
-	-rm -f Tuples/cfa_cpp-FunctionChecker.$(OBJEXT)
-	-rm -f Tuples/cfa_cpp-FunctionFixer.$(OBJEXT)
-	-rm -f Tuples/cfa_cpp-Mutate.$(OBJEXT)
-	-rm -f Tuples/cfa_cpp-NameMatcher.$(OBJEXT)
-	-rm -f Tuples/cfa_cpp-TupleAssignment.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfa_cpp-MakeLibCfa.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfa_cpp-main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-GenType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-Generate.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/cfa_cpp-SemanticError.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/cfa_cpp-UniqueName.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Designators/$(DEPDIR)/cfa_cpp-Processor.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-Box.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-Association.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-ParseNode.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-Parser.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-StatementNode.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-TypeData.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-lex.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-parser.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-parseutility.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-IdTable.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-Indexer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-Mangler.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-Validate.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-AttrType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-BasicType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Constant.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Declaration.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Expression.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Initializer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Mutator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-PointerType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Statement.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TupleType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Type.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Visitor.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-VoidType.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-Mutate.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Po@am__quote@
-
-.cc.o:
-@am__fastdepCXX_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
-@am__fastdepCXX_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-cfa_cpp-main.o: main.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-main.o -MD -MP -MF $(DEPDIR)/cfa_cpp-main.Tpo -c -o cfa_cpp-main.o `test -f 'main.cc' || echo '$(srcdir)/'`main.cc
-@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/cfa_cpp-main.Tpo $(DEPDIR)/cfa_cpp-main.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='main.cc' object='cfa_cpp-main.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-main.o `test -f 'main.cc' || echo '$(srcdir)/'`main.cc
-
-cfa_cpp-main.obj: main.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-main.obj -MD -MP -MF $(DEPDIR)/cfa_cpp-main.Tpo -c -o cfa_cpp-main.obj `if test -f 'main.cc'; then $(CYGPATH_W) 'main.cc'; else $(CYGPATH_W) '$(srcdir)/main.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/cfa_cpp-main.Tpo $(DEPDIR)/cfa_cpp-main.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='main.cc' object='cfa_cpp-main.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-main.obj `if test -f 'main.cc'; then $(CYGPATH_W) 'main.cc'; else $(CYGPATH_W) '$(srcdir)/main.cc'; fi`
-
-cfa_cpp-MakeLibCfa.o: MakeLibCfa.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-MakeLibCfa.o -MD -MP -MF $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo -c -o cfa_cpp-MakeLibCfa.o `test -f 'MakeLibCfa.cc' || echo '$(srcdir)/'`MakeLibCfa.cc
-@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo $(DEPDIR)/cfa_cpp-MakeLibCfa.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='MakeLibCfa.cc' object='cfa_cpp-MakeLibCfa.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-MakeLibCfa.o `test -f 'MakeLibCfa.cc' || echo '$(srcdir)/'`MakeLibCfa.cc
-
-cfa_cpp-MakeLibCfa.obj: MakeLibCfa.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-MakeLibCfa.obj -MD -MP -MF $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo -c -o cfa_cpp-MakeLibCfa.obj `if test -f 'MakeLibCfa.cc'; then $(CYGPATH_W) 'MakeLibCfa.cc'; else $(CYGPATH_W) '$(srcdir)/MakeLibCfa.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo $(DEPDIR)/cfa_cpp-MakeLibCfa.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='MakeLibCfa.cc' object='cfa_cpp-MakeLibCfa.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-MakeLibCfa.obj `if test -f 'MakeLibCfa.cc'; then $(CYGPATH_W) 'MakeLibCfa.cc'; else $(CYGPATH_W) '$(srcdir)/MakeLibCfa.cc'; fi`
-
-CodeGen/cfa_cpp-Generate.o: CodeGen/Generate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-Generate.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo -c -o CodeGen/cfa_cpp-Generate.o `test -f 'CodeGen/Generate.cc' || echo '$(srcdir)/'`CodeGen/Generate.cc
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo CodeGen/$(DEPDIR)/cfa_cpp-Generate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/Generate.cc' object='CodeGen/cfa_cpp-Generate.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-Generate.o `test -f 'CodeGen/Generate.cc' || echo '$(srcdir)/'`CodeGen/Generate.cc
-
-CodeGen/cfa_cpp-Generate.obj: CodeGen/Generate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-Generate.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo -c -o CodeGen/cfa_cpp-Generate.obj `if test -f 'CodeGen/Generate.cc'; then $(CYGPATH_W) 'CodeGen/Generate.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/Generate.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo CodeGen/$(DEPDIR)/cfa_cpp-Generate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/Generate.cc' object='CodeGen/cfa_cpp-Generate.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-Generate.obj `if test -f 'CodeGen/Generate.cc'; then $(CYGPATH_W) 'CodeGen/Generate.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/Generate.cc'; fi`
-
-CodeGen/cfa_cpp-CodeGenerator.o: CodeGen/CodeGenerator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-CodeGenerator.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo -c -o CodeGen/cfa_cpp-CodeGenerator.o `test -f 'CodeGen/CodeGenerator.cc' || echo '$(srcdir)/'`CodeGen/CodeGenerator.cc
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/CodeGenerator.cc' object='CodeGen/cfa_cpp-CodeGenerator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-CodeGenerator.o `test -f 'CodeGen/CodeGenerator.cc' || echo '$(srcdir)/'`CodeGen/CodeGenerator.cc
-
-CodeGen/cfa_cpp-CodeGenerator.obj: CodeGen/CodeGenerator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-CodeGenerator.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo -c -o CodeGen/cfa_cpp-CodeGenerator.obj `if test -f 'CodeGen/CodeGenerator.cc'; then $(CYGPATH_W) 'CodeGen/CodeGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/CodeGenerator.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/CodeGenerator.cc' object='CodeGen/cfa_cpp-CodeGenerator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-CodeGenerator.obj `if test -f 'CodeGen/CodeGenerator.cc'; then $(CYGPATH_W) 'CodeGen/CodeGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/CodeGenerator.cc'; fi`
-
-CodeGen/cfa_cpp-GenType.o: CodeGen/GenType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-GenType.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo -c -o CodeGen/cfa_cpp-GenType.o `test -f 'CodeGen/GenType.cc' || echo '$(srcdir)/'`CodeGen/GenType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo CodeGen/$(DEPDIR)/cfa_cpp-GenType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/GenType.cc' object='CodeGen/cfa_cpp-GenType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-GenType.o `test -f 'CodeGen/GenType.cc' || echo '$(srcdir)/'`CodeGen/GenType.cc
-
-CodeGen/cfa_cpp-GenType.obj: CodeGen/GenType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-GenType.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo -c -o CodeGen/cfa_cpp-GenType.obj `if test -f 'CodeGen/GenType.cc'; then $(CYGPATH_W) 'CodeGen/GenType.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/GenType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo CodeGen/$(DEPDIR)/cfa_cpp-GenType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/GenType.cc' object='CodeGen/cfa_cpp-GenType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-GenType.obj `if test -f 'CodeGen/GenType.cc'; then $(CYGPATH_W) 'CodeGen/GenType.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/GenType.cc'; fi`
-
-CodeGen/cfa_cpp-FixNames.o: CodeGen/FixNames.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-FixNames.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo -c -o CodeGen/cfa_cpp-FixNames.o `test -f 'CodeGen/FixNames.cc' || echo '$(srcdir)/'`CodeGen/FixNames.cc
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/FixNames.cc' object='CodeGen/cfa_cpp-FixNames.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-FixNames.o `test -f 'CodeGen/FixNames.cc' || echo '$(srcdir)/'`CodeGen/FixNames.cc
-
-CodeGen/cfa_cpp-FixNames.obj: CodeGen/FixNames.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-FixNames.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo -c -o CodeGen/cfa_cpp-FixNames.obj `if test -f 'CodeGen/FixNames.cc'; then $(CYGPATH_W) 'CodeGen/FixNames.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/FixNames.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/FixNames.cc' object='CodeGen/cfa_cpp-FixNames.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-FixNames.obj `if test -f 'CodeGen/FixNames.cc'; then $(CYGPATH_W) 'CodeGen/FixNames.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/FixNames.cc'; fi`
-
-CodeGen/cfa_cpp-OperatorTable.o: CodeGen/OperatorTable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-OperatorTable.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo -c -o CodeGen/cfa_cpp-OperatorTable.o `test -f 'CodeGen/OperatorTable.cc' || echo '$(srcdir)/'`CodeGen/OperatorTable.cc
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/OperatorTable.cc' object='CodeGen/cfa_cpp-OperatorTable.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-OperatorTable.o `test -f 'CodeGen/OperatorTable.cc' || echo '$(srcdir)/'`CodeGen/OperatorTable.cc
-
-CodeGen/cfa_cpp-OperatorTable.obj: CodeGen/OperatorTable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-OperatorTable.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo -c -o CodeGen/cfa_cpp-OperatorTable.obj `if test -f 'CodeGen/OperatorTable.cc'; then $(CYGPATH_W) 'CodeGen/OperatorTable.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/OperatorTable.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='CodeGen/OperatorTable.cc' object='CodeGen/cfa_cpp-OperatorTable.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-OperatorTable.obj `if test -f 'CodeGen/OperatorTable.cc'; then $(CYGPATH_W) 'CodeGen/OperatorTable.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/OperatorTable.cc'; fi`
-
-Common/cfa_cpp-SemanticError.o: Common/SemanticError.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-SemanticError.o -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo -c -o Common/cfa_cpp-SemanticError.o `test -f 'Common/SemanticError.cc' || echo '$(srcdir)/'`Common/SemanticError.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo Common/$(DEPDIR)/cfa_cpp-SemanticError.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Common/SemanticError.cc' object='Common/cfa_cpp-SemanticError.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-SemanticError.o `test -f 'Common/SemanticError.cc' || echo '$(srcdir)/'`Common/SemanticError.cc
-
-Common/cfa_cpp-SemanticError.obj: Common/SemanticError.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-SemanticError.obj -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo -c -o Common/cfa_cpp-SemanticError.obj `if test -f 'Common/SemanticError.cc'; then $(CYGPATH_W) 'Common/SemanticError.cc'; else $(CYGPATH_W) '$(srcdir)/Common/SemanticError.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo Common/$(DEPDIR)/cfa_cpp-SemanticError.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Common/SemanticError.cc' object='Common/cfa_cpp-SemanticError.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-SemanticError.obj `if test -f 'Common/SemanticError.cc'; then $(CYGPATH_W) 'Common/SemanticError.cc'; else $(CYGPATH_W) '$(srcdir)/Common/SemanticError.cc'; fi`
-
-Common/cfa_cpp-UniqueName.o: Common/UniqueName.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-UniqueName.o -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo -c -o Common/cfa_cpp-UniqueName.o `test -f 'Common/UniqueName.cc' || echo '$(srcdir)/'`Common/UniqueName.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo Common/$(DEPDIR)/cfa_cpp-UniqueName.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Common/UniqueName.cc' object='Common/cfa_cpp-UniqueName.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-UniqueName.o `test -f 'Common/UniqueName.cc' || echo '$(srcdir)/'`Common/UniqueName.cc
-
-Common/cfa_cpp-UniqueName.obj: Common/UniqueName.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-UniqueName.obj -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo -c -o Common/cfa_cpp-UniqueName.obj `if test -f 'Common/UniqueName.cc'; then $(CYGPATH_W) 'Common/UniqueName.cc'; else $(CYGPATH_W) '$(srcdir)/Common/UniqueName.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo Common/$(DEPDIR)/cfa_cpp-UniqueName.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Common/UniqueName.cc' object='Common/cfa_cpp-UniqueName.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-UniqueName.obj `if test -f 'Common/UniqueName.cc'; then $(CYGPATH_W) 'Common/UniqueName.cc'; else $(CYGPATH_W) '$(srcdir)/Common/UniqueName.cc'; fi`
-
-ControlStruct/cfa_cpp-LabelGenerator.o: ControlStruct/LabelGenerator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelGenerator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo -c -o ControlStruct/cfa_cpp-LabelGenerator.o `test -f 'ControlStruct/LabelGenerator.cc' || echo '$(srcdir)/'`ControlStruct/LabelGenerator.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/LabelGenerator.cc' object='ControlStruct/cfa_cpp-LabelGenerator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelGenerator.o `test -f 'ControlStruct/LabelGenerator.cc' || echo '$(srcdir)/'`ControlStruct/LabelGenerator.cc
-
-ControlStruct/cfa_cpp-LabelGenerator.obj: ControlStruct/LabelGenerator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelGenerator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo -c -o ControlStruct/cfa_cpp-LabelGenerator.obj `if test -f 'ControlStruct/LabelGenerator.cc'; then $(CYGPATH_W) 'ControlStruct/LabelGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelGenerator.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/LabelGenerator.cc' object='ControlStruct/cfa_cpp-LabelGenerator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelGenerator.obj `if test -f 'ControlStruct/LabelGenerator.cc'; then $(CYGPATH_W) 'ControlStruct/LabelGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelGenerator.cc'; fi`
-
-ControlStruct/cfa_cpp-LabelFixer.o: ControlStruct/LabelFixer.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelFixer.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo -c -o ControlStruct/cfa_cpp-LabelFixer.o `test -f 'ControlStruct/LabelFixer.cc' || echo '$(srcdir)/'`ControlStruct/LabelFixer.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/LabelFixer.cc' object='ControlStruct/cfa_cpp-LabelFixer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelFixer.o `test -f 'ControlStruct/LabelFixer.cc' || echo '$(srcdir)/'`ControlStruct/LabelFixer.cc
-
-ControlStruct/cfa_cpp-LabelFixer.obj: ControlStruct/LabelFixer.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelFixer.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo -c -o ControlStruct/cfa_cpp-LabelFixer.obj `if test -f 'ControlStruct/LabelFixer.cc'; then $(CYGPATH_W) 'ControlStruct/LabelFixer.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelFixer.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/LabelFixer.cc' object='ControlStruct/cfa_cpp-LabelFixer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelFixer.obj `if test -f 'ControlStruct/LabelFixer.cc'; then $(CYGPATH_W) 'ControlStruct/LabelFixer.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelFixer.cc'; fi`
-
-ControlStruct/cfa_cpp-MLEMutator.o: ControlStruct/MLEMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-MLEMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo -c -o ControlStruct/cfa_cpp-MLEMutator.o `test -f 'ControlStruct/MLEMutator.cc' || echo '$(srcdir)/'`ControlStruct/MLEMutator.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/MLEMutator.cc' object='ControlStruct/cfa_cpp-MLEMutator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-MLEMutator.o `test -f 'ControlStruct/MLEMutator.cc' || echo '$(srcdir)/'`ControlStruct/MLEMutator.cc
-
-ControlStruct/cfa_cpp-MLEMutator.obj: ControlStruct/MLEMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-MLEMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo -c -o ControlStruct/cfa_cpp-MLEMutator.obj `if test -f 'ControlStruct/MLEMutator.cc'; then $(CYGPATH_W) 'ControlStruct/MLEMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/MLEMutator.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/MLEMutator.cc' object='ControlStruct/cfa_cpp-MLEMutator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-MLEMutator.obj `if test -f 'ControlStruct/MLEMutator.cc'; then $(CYGPATH_W) 'ControlStruct/MLEMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/MLEMutator.cc'; fi`
-
-ControlStruct/cfa_cpp-CaseRangeMutator.o: ControlStruct/CaseRangeMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-CaseRangeMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo -c -o ControlStruct/cfa_cpp-CaseRangeMutator.o `test -f 'ControlStruct/CaseRangeMutator.cc' || echo '$(srcdir)/'`ControlStruct/CaseRangeMutator.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/CaseRangeMutator.cc' object='ControlStruct/cfa_cpp-CaseRangeMutator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-CaseRangeMutator.o `test -f 'ControlStruct/CaseRangeMutator.cc' || echo '$(srcdir)/'`ControlStruct/CaseRangeMutator.cc
-
-ControlStruct/cfa_cpp-CaseRangeMutator.obj: ControlStruct/CaseRangeMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-CaseRangeMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo -c -o ControlStruct/cfa_cpp-CaseRangeMutator.obj `if test -f 'ControlStruct/CaseRangeMutator.cc'; then $(CYGPATH_W) 'ControlStruct/CaseRangeMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/CaseRangeMutator.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/CaseRangeMutator.cc' object='ControlStruct/cfa_cpp-CaseRangeMutator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-CaseRangeMutator.obj `if test -f 'ControlStruct/CaseRangeMutator.cc'; then $(CYGPATH_W) 'ControlStruct/CaseRangeMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/CaseRangeMutator.cc'; fi`
-
-ControlStruct/cfa_cpp-Mutate.o: ControlStruct/Mutate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-Mutate.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o ControlStruct/cfa_cpp-Mutate.o `test -f 'ControlStruct/Mutate.cc' || echo '$(srcdir)/'`ControlStruct/Mutate.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/Mutate.cc' object='ControlStruct/cfa_cpp-Mutate.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-Mutate.o `test -f 'ControlStruct/Mutate.cc' || echo '$(srcdir)/'`ControlStruct/Mutate.cc
-
-ControlStruct/cfa_cpp-Mutate.obj: ControlStruct/Mutate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-Mutate.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o ControlStruct/cfa_cpp-Mutate.obj `if test -f 'ControlStruct/Mutate.cc'; then $(CYGPATH_W) 'ControlStruct/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/Mutate.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/Mutate.cc' object='ControlStruct/cfa_cpp-Mutate.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-Mutate.obj `if test -f 'ControlStruct/Mutate.cc'; then $(CYGPATH_W) 'ControlStruct/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/Mutate.cc'; fi`
-
-ControlStruct/cfa_cpp-ChooseMutator.o: ControlStruct/ChooseMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ChooseMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo -c -o ControlStruct/cfa_cpp-ChooseMutator.o `test -f 'ControlStruct/ChooseMutator.cc' || echo '$(srcdir)/'`ControlStruct/ChooseMutator.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/ChooseMutator.cc' object='ControlStruct/cfa_cpp-ChooseMutator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ChooseMutator.o `test -f 'ControlStruct/ChooseMutator.cc' || echo '$(srcdir)/'`ControlStruct/ChooseMutator.cc
-
-ControlStruct/cfa_cpp-ChooseMutator.obj: ControlStruct/ChooseMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ChooseMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo -c -o ControlStruct/cfa_cpp-ChooseMutator.obj `if test -f 'ControlStruct/ChooseMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ChooseMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ChooseMutator.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/ChooseMutator.cc' object='ControlStruct/cfa_cpp-ChooseMutator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ChooseMutator.obj `if test -f 'ControlStruct/ChooseMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ChooseMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ChooseMutator.cc'; fi`
-
-ControlStruct/cfa_cpp-ForExprMutator.o: ControlStruct/ForExprMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ForExprMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo -c -o ControlStruct/cfa_cpp-ForExprMutator.o `test -f 'ControlStruct/ForExprMutator.cc' || echo '$(srcdir)/'`ControlStruct/ForExprMutator.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/ForExprMutator.cc' object='ControlStruct/cfa_cpp-ForExprMutator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ForExprMutator.o `test -f 'ControlStruct/ForExprMutator.cc' || echo '$(srcdir)/'`ControlStruct/ForExprMutator.cc
-
-ControlStruct/cfa_cpp-ForExprMutator.obj: ControlStruct/ForExprMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ForExprMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo -c -o ControlStruct/cfa_cpp-ForExprMutator.obj `if test -f 'ControlStruct/ForExprMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ForExprMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ForExprMutator.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/ForExprMutator.cc' object='ControlStruct/cfa_cpp-ForExprMutator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ForExprMutator.obj `if test -f 'ControlStruct/ForExprMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ForExprMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ForExprMutator.cc'; fi`
-
-ControlStruct/cfa_cpp-LabelTypeChecker.o: ControlStruct/LabelTypeChecker.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelTypeChecker.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo -c -o ControlStruct/cfa_cpp-LabelTypeChecker.o `test -f 'ControlStruct/LabelTypeChecker.cc' || echo '$(srcdir)/'`ControlStruct/LabelTypeChecker.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/LabelTypeChecker.cc' object='ControlStruct/cfa_cpp-LabelTypeChecker.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelTypeChecker.o `test -f 'ControlStruct/LabelTypeChecker.cc' || echo '$(srcdir)/'`ControlStruct/LabelTypeChecker.cc
-
-ControlStruct/cfa_cpp-LabelTypeChecker.obj: ControlStruct/LabelTypeChecker.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelTypeChecker.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo -c -o ControlStruct/cfa_cpp-LabelTypeChecker.obj `if test -f 'ControlStruct/LabelTypeChecker.cc'; then $(CYGPATH_W) 'ControlStruct/LabelTypeChecker.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelTypeChecker.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ControlStruct/LabelTypeChecker.cc' object='ControlStruct/cfa_cpp-LabelTypeChecker.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelTypeChecker.obj `if test -f 'ControlStruct/LabelTypeChecker.cc'; then $(CYGPATH_W) 'ControlStruct/LabelTypeChecker.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelTypeChecker.cc'; fi`
-
-Designators/cfa_cpp-Processor.o: Designators/Processor.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Designators/cfa_cpp-Processor.o -MD -MP -MF Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo -c -o Designators/cfa_cpp-Processor.o `test -f 'Designators/Processor.cc' || echo '$(srcdir)/'`Designators/Processor.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo Designators/$(DEPDIR)/cfa_cpp-Processor.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Designators/Processor.cc' object='Designators/cfa_cpp-Processor.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Designators/cfa_cpp-Processor.o `test -f 'Designators/Processor.cc' || echo '$(srcdir)/'`Designators/Processor.cc
-
-Designators/cfa_cpp-Processor.obj: Designators/Processor.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Designators/cfa_cpp-Processor.obj -MD -MP -MF Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo -c -o Designators/cfa_cpp-Processor.obj `if test -f 'Designators/Processor.cc'; then $(CYGPATH_W) 'Designators/Processor.cc'; else $(CYGPATH_W) '$(srcdir)/Designators/Processor.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo Designators/$(DEPDIR)/cfa_cpp-Processor.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Designators/Processor.cc' object='Designators/cfa_cpp-Processor.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Designators/cfa_cpp-Processor.obj `if test -f 'Designators/Processor.cc'; then $(CYGPATH_W) 'Designators/Processor.cc'; else $(CYGPATH_W) '$(srcdir)/Designators/Processor.cc'; fi`
-
-GenPoly/cfa_cpp-Box.o: GenPoly/Box.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Box.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo -c -o GenPoly/cfa_cpp-Box.o `test -f 'GenPoly/Box.cc' || echo '$(srcdir)/'`GenPoly/Box.cc
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Box.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/Box.cc' object='GenPoly/cfa_cpp-Box.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Box.o `test -f 'GenPoly/Box.cc' || echo '$(srcdir)/'`GenPoly/Box.cc
-
-GenPoly/cfa_cpp-Box.obj: GenPoly/Box.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Box.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo -c -o GenPoly/cfa_cpp-Box.obj `if test -f 'GenPoly/Box.cc'; then $(CYGPATH_W) 'GenPoly/Box.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Box.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Box.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/Box.cc' object='GenPoly/cfa_cpp-Box.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Box.obj `if test -f 'GenPoly/Box.cc'; then $(CYGPATH_W) 'GenPoly/Box.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Box.cc'; fi`
-
-GenPoly/cfa_cpp-GenPoly.o: GenPoly/GenPoly.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-GenPoly.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo -c -o GenPoly/cfa_cpp-GenPoly.o `test -f 'GenPoly/GenPoly.cc' || echo '$(srcdir)/'`GenPoly/GenPoly.cc
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/GenPoly.cc' object='GenPoly/cfa_cpp-GenPoly.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-GenPoly.o `test -f 'GenPoly/GenPoly.cc' || echo '$(srcdir)/'`GenPoly/GenPoly.cc
-
-GenPoly/cfa_cpp-GenPoly.obj: GenPoly/GenPoly.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-GenPoly.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo -c -o GenPoly/cfa_cpp-GenPoly.obj `if test -f 'GenPoly/GenPoly.cc'; then $(CYGPATH_W) 'GenPoly/GenPoly.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/GenPoly.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/GenPoly.cc' object='GenPoly/cfa_cpp-GenPoly.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-GenPoly.obj `if test -f 'GenPoly/GenPoly.cc'; then $(CYGPATH_W) 'GenPoly/GenPoly.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/GenPoly.cc'; fi`
-
-GenPoly/cfa_cpp-PolyMutator.o: GenPoly/PolyMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-PolyMutator.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo -c -o GenPoly/cfa_cpp-PolyMutator.o `test -f 'GenPoly/PolyMutator.cc' || echo '$(srcdir)/'`GenPoly/PolyMutator.cc
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/PolyMutator.cc' object='GenPoly/cfa_cpp-PolyMutator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-PolyMutator.o `test -f 'GenPoly/PolyMutator.cc' || echo '$(srcdir)/'`GenPoly/PolyMutator.cc
-
-GenPoly/cfa_cpp-PolyMutator.obj: GenPoly/PolyMutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-PolyMutator.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo -c -o GenPoly/cfa_cpp-PolyMutator.obj `if test -f 'GenPoly/PolyMutator.cc'; then $(CYGPATH_W) 'GenPoly/PolyMutator.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/PolyMutator.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/PolyMutator.cc' object='GenPoly/cfa_cpp-PolyMutator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-PolyMutator.obj `if test -f 'GenPoly/PolyMutator.cc'; then $(CYGPATH_W) 'GenPoly/PolyMutator.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/PolyMutator.cc'; fi`
-
-GenPoly/cfa_cpp-ScrubTyVars.o: GenPoly/ScrubTyVars.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-ScrubTyVars.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo -c -o GenPoly/cfa_cpp-ScrubTyVars.o `test -f 'GenPoly/ScrubTyVars.cc' || echo '$(srcdir)/'`GenPoly/ScrubTyVars.cc
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/ScrubTyVars.cc' object='GenPoly/cfa_cpp-ScrubTyVars.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-ScrubTyVars.o `test -f 'GenPoly/ScrubTyVars.cc' || echo '$(srcdir)/'`GenPoly/ScrubTyVars.cc
-
-GenPoly/cfa_cpp-ScrubTyVars.obj: GenPoly/ScrubTyVars.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-ScrubTyVars.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo -c -o GenPoly/cfa_cpp-ScrubTyVars.obj `if test -f 'GenPoly/ScrubTyVars.cc'; then $(CYGPATH_W) 'GenPoly/ScrubTyVars.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/ScrubTyVars.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/ScrubTyVars.cc' object='GenPoly/cfa_cpp-ScrubTyVars.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-ScrubTyVars.obj `if test -f 'GenPoly/ScrubTyVars.cc'; then $(CYGPATH_W) 'GenPoly/ScrubTyVars.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/ScrubTyVars.cc'; fi`
-
-GenPoly/cfa_cpp-Lvalue.o: GenPoly/Lvalue.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Lvalue.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo -c -o GenPoly/cfa_cpp-Lvalue.o `test -f 'GenPoly/Lvalue.cc' || echo '$(srcdir)/'`GenPoly/Lvalue.cc
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/Lvalue.cc' object='GenPoly/cfa_cpp-Lvalue.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Lvalue.o `test -f 'GenPoly/Lvalue.cc' || echo '$(srcdir)/'`GenPoly/Lvalue.cc
-
-GenPoly/cfa_cpp-Lvalue.obj: GenPoly/Lvalue.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Lvalue.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo -c -o GenPoly/cfa_cpp-Lvalue.obj `if test -f 'GenPoly/Lvalue.cc'; then $(CYGPATH_W) 'GenPoly/Lvalue.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Lvalue.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/Lvalue.cc' object='GenPoly/cfa_cpp-Lvalue.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Lvalue.obj `if test -f 'GenPoly/Lvalue.cc'; then $(CYGPATH_W) 'GenPoly/Lvalue.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Lvalue.cc'; fi`
-
-GenPoly/cfa_cpp-Specialize.o: GenPoly/Specialize.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Specialize.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo -c -o GenPoly/cfa_cpp-Specialize.o `test -f 'GenPoly/Specialize.cc' || echo '$(srcdir)/'`GenPoly/Specialize.cc
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/Specialize.cc' object='GenPoly/cfa_cpp-Specialize.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Specialize.o `test -f 'GenPoly/Specialize.cc' || echo '$(srcdir)/'`GenPoly/Specialize.cc
-
-GenPoly/cfa_cpp-Specialize.obj: GenPoly/Specialize.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Specialize.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo -c -o GenPoly/cfa_cpp-Specialize.obj `if test -f 'GenPoly/Specialize.cc'; then $(CYGPATH_W) 'GenPoly/Specialize.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Specialize.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/Specialize.cc' object='GenPoly/cfa_cpp-Specialize.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Specialize.obj `if test -f 'GenPoly/Specialize.cc'; then $(CYGPATH_W) 'GenPoly/Specialize.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Specialize.cc'; fi`
-
-GenPoly/cfa_cpp-CopyParams.o: GenPoly/CopyParams.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-CopyParams.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo -c -o GenPoly/cfa_cpp-CopyParams.o `test -f 'GenPoly/CopyParams.cc' || echo '$(srcdir)/'`GenPoly/CopyParams.cc
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/CopyParams.cc' object='GenPoly/cfa_cpp-CopyParams.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-CopyParams.o `test -f 'GenPoly/CopyParams.cc' || echo '$(srcdir)/'`GenPoly/CopyParams.cc
-
-GenPoly/cfa_cpp-CopyParams.obj: GenPoly/CopyParams.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-CopyParams.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo -c -o GenPoly/cfa_cpp-CopyParams.obj `if test -f 'GenPoly/CopyParams.cc'; then $(CYGPATH_W) 'GenPoly/CopyParams.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/CopyParams.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/CopyParams.cc' object='GenPoly/cfa_cpp-CopyParams.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-CopyParams.obj `if test -f 'GenPoly/CopyParams.cc'; then $(CYGPATH_W) 'GenPoly/CopyParams.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/CopyParams.cc'; fi`
-
-GenPoly/cfa_cpp-FindFunction.o: GenPoly/FindFunction.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-FindFunction.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo -c -o GenPoly/cfa_cpp-FindFunction.o `test -f 'GenPoly/FindFunction.cc' || echo '$(srcdir)/'`GenPoly/FindFunction.cc
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/FindFunction.cc' object='GenPoly/cfa_cpp-FindFunction.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-FindFunction.o `test -f 'GenPoly/FindFunction.cc' || echo '$(srcdir)/'`GenPoly/FindFunction.cc
-
-GenPoly/cfa_cpp-FindFunction.obj: GenPoly/FindFunction.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-FindFunction.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo -c -o GenPoly/cfa_cpp-FindFunction.obj `if test -f 'GenPoly/FindFunction.cc'; then $(CYGPATH_W) 'GenPoly/FindFunction.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/FindFunction.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='GenPoly/FindFunction.cc' object='GenPoly/cfa_cpp-FindFunction.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-FindFunction.obj `if test -f 'GenPoly/FindFunction.cc'; then $(CYGPATH_W) 'GenPoly/FindFunction.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/FindFunction.cc'; fi`
-
-InitTweak/cfa_cpp-InitModel.o: InitTweak/InitModel.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitModel.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo -c -o InitTweak/cfa_cpp-InitModel.o `test -f 'InitTweak/InitModel.cc' || echo '$(srcdir)/'`InitTweak/InitModel.cc
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/InitModel.cc' object='InitTweak/cfa_cpp-InitModel.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitModel.o `test -f 'InitTweak/InitModel.cc' || echo '$(srcdir)/'`InitTweak/InitModel.cc
-
-InitTweak/cfa_cpp-InitModel.obj: InitTweak/InitModel.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitModel.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo -c -o InitTweak/cfa_cpp-InitModel.obj `if test -f 'InitTweak/InitModel.cc'; then $(CYGPATH_W) 'InitTweak/InitModel.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitModel.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/InitModel.cc' object='InitTweak/cfa_cpp-InitModel.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitModel.obj `if test -f 'InitTweak/InitModel.cc'; then $(CYGPATH_W) 'InitTweak/InitModel.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitModel.cc'; fi`
-
-InitTweak/cfa_cpp-InitExpander.o: InitTweak/InitExpander.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitExpander.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo -c -o InitTweak/cfa_cpp-InitExpander.o `test -f 'InitTweak/InitExpander.cc' || echo '$(srcdir)/'`InitTweak/InitExpander.cc
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/InitExpander.cc' object='InitTweak/cfa_cpp-InitExpander.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitExpander.o `test -f 'InitTweak/InitExpander.cc' || echo '$(srcdir)/'`InitTweak/InitExpander.cc
-
-InitTweak/cfa_cpp-InitExpander.obj: InitTweak/InitExpander.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitExpander.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo -c -o InitTweak/cfa_cpp-InitExpander.obj `if test -f 'InitTweak/InitExpander.cc'; then $(CYGPATH_W) 'InitTweak/InitExpander.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitExpander.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/InitExpander.cc' object='InitTweak/cfa_cpp-InitExpander.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitExpander.obj `if test -f 'InitTweak/InitExpander.cc'; then $(CYGPATH_W) 'InitTweak/InitExpander.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitExpander.cc'; fi`
-
-InitTweak/cfa_cpp-Mutate.o: InitTweak/Mutate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Mutate.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o InitTweak/cfa_cpp-Mutate.o `test -f 'InitTweak/Mutate.cc' || echo '$(srcdir)/'`InitTweak/Mutate.cc
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/Mutate.cc' object='InitTweak/cfa_cpp-Mutate.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Mutate.o `test -f 'InitTweak/Mutate.cc' || echo '$(srcdir)/'`InitTweak/Mutate.cc
-
-InitTweak/cfa_cpp-Mutate.obj: InitTweak/Mutate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Mutate.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o InitTweak/cfa_cpp-Mutate.obj `if test -f 'InitTweak/Mutate.cc'; then $(CYGPATH_W) 'InitTweak/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Mutate.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/Mutate.cc' object='InitTweak/cfa_cpp-Mutate.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Mutate.obj `if test -f 'InitTweak/Mutate.cc'; then $(CYGPATH_W) 'InitTweak/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Mutate.cc'; fi`
-
-InitTweak/cfa_cpp-Association.o: InitTweak/Association.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Association.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo -c -o InitTweak/cfa_cpp-Association.o `test -f 'InitTweak/Association.cc' || echo '$(srcdir)/'`InitTweak/Association.cc
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Association.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/Association.cc' object='InitTweak/cfa_cpp-Association.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Association.o `test -f 'InitTweak/Association.cc' || echo '$(srcdir)/'`InitTweak/Association.cc
-
-InitTweak/cfa_cpp-Association.obj: InitTweak/Association.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Association.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo -c -o InitTweak/cfa_cpp-Association.obj `if test -f 'InitTweak/Association.cc'; then $(CYGPATH_W) 'InitTweak/Association.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Association.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Association.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/Association.cc' object='InitTweak/cfa_cpp-Association.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Association.obj `if test -f 'InitTweak/Association.cc'; then $(CYGPATH_W) 'InitTweak/Association.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Association.cc'; fi`
-
-InitTweak/cfa_cpp-RemoveInit.o: InitTweak/RemoveInit.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-RemoveInit.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo -c -o InitTweak/cfa_cpp-RemoveInit.o `test -f 'InitTweak/RemoveInit.cc' || echo '$(srcdir)/'`InitTweak/RemoveInit.cc
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/RemoveInit.cc' object='InitTweak/cfa_cpp-RemoveInit.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-RemoveInit.o `test -f 'InitTweak/RemoveInit.cc' || echo '$(srcdir)/'`InitTweak/RemoveInit.cc
-
-InitTweak/cfa_cpp-RemoveInit.obj: InitTweak/RemoveInit.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-RemoveInit.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo -c -o InitTweak/cfa_cpp-RemoveInit.obj `if test -f 'InitTweak/RemoveInit.cc'; then $(CYGPATH_W) 'InitTweak/RemoveInit.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/RemoveInit.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='InitTweak/RemoveInit.cc' object='InitTweak/cfa_cpp-RemoveInit.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-RemoveInit.obj `if test -f 'InitTweak/RemoveInit.cc'; then $(CYGPATH_W) 'InitTweak/RemoveInit.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/RemoveInit.cc'; fi`
-
-Parser/cfa_cpp-parser.o: Parser/parser.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parser.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parser.Tpo -c -o Parser/cfa_cpp-parser.o `test -f 'Parser/parser.cc' || echo '$(srcdir)/'`Parser/parser.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-parser.Tpo Parser/$(DEPDIR)/cfa_cpp-parser.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/parser.cc' object='Parser/cfa_cpp-parser.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parser.o `test -f 'Parser/parser.cc' || echo '$(srcdir)/'`Parser/parser.cc
-
-Parser/cfa_cpp-parser.obj: Parser/parser.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parser.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parser.Tpo -c -o Parser/cfa_cpp-parser.obj `if test -f 'Parser/parser.cc'; then $(CYGPATH_W) 'Parser/parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parser.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-parser.Tpo Parser/$(DEPDIR)/cfa_cpp-parser.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/parser.cc' object='Parser/cfa_cpp-parser.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parser.obj `if test -f 'Parser/parser.cc'; then $(CYGPATH_W) 'Parser/parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parser.cc'; fi`
-
-Parser/cfa_cpp-lex.o: Parser/lex.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-lex.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-lex.Tpo -c -o Parser/cfa_cpp-lex.o `test -f 'Parser/lex.cc' || echo '$(srcdir)/'`Parser/lex.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-lex.Tpo Parser/$(DEPDIR)/cfa_cpp-lex.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/lex.cc' object='Parser/cfa_cpp-lex.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-lex.o `test -f 'Parser/lex.cc' || echo '$(srcdir)/'`Parser/lex.cc
-
-Parser/cfa_cpp-lex.obj: Parser/lex.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-lex.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-lex.Tpo -c -o Parser/cfa_cpp-lex.obj `if test -f 'Parser/lex.cc'; then $(CYGPATH_W) 'Parser/lex.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/lex.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-lex.Tpo Parser/$(DEPDIR)/cfa_cpp-lex.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/lex.cc' object='Parser/cfa_cpp-lex.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-lex.obj `if test -f 'Parser/lex.cc'; then $(CYGPATH_W) 'Parser/lex.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/lex.cc'; fi`
-
-Parser/cfa_cpp-TypedefTable.o: Parser/TypedefTable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypedefTable.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo -c -o Parser/cfa_cpp-TypedefTable.o `test -f 'Parser/TypedefTable.cc' || echo '$(srcdir)/'`Parser/TypedefTable.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/TypedefTable.cc' object='Parser/cfa_cpp-TypedefTable.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypedefTable.o `test -f 'Parser/TypedefTable.cc' || echo '$(srcdir)/'`Parser/TypedefTable.cc
-
-Parser/cfa_cpp-TypedefTable.obj: Parser/TypedefTable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypedefTable.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo -c -o Parser/cfa_cpp-TypedefTable.obj `if test -f 'Parser/TypedefTable.cc'; then $(CYGPATH_W) 'Parser/TypedefTable.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypedefTable.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/TypedefTable.cc' object='Parser/cfa_cpp-TypedefTable.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypedefTable.obj `if test -f 'Parser/TypedefTable.cc'; then $(CYGPATH_W) 'Parser/TypedefTable.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypedefTable.cc'; fi`
-
-Parser/cfa_cpp-ParseNode.o: Parser/ParseNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ParseNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo -c -o Parser/cfa_cpp-ParseNode.o `test -f 'Parser/ParseNode.cc' || echo '$(srcdir)/'`Parser/ParseNode.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ParseNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/ParseNode.cc' object='Parser/cfa_cpp-ParseNode.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ParseNode.o `test -f 'Parser/ParseNode.cc' || echo '$(srcdir)/'`Parser/ParseNode.cc
-
-Parser/cfa_cpp-ParseNode.obj: Parser/ParseNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ParseNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo -c -o Parser/cfa_cpp-ParseNode.obj `if test -f 'Parser/ParseNode.cc'; then $(CYGPATH_W) 'Parser/ParseNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ParseNode.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ParseNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/ParseNode.cc' object='Parser/cfa_cpp-ParseNode.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ParseNode.obj `if test -f 'Parser/ParseNode.cc'; then $(CYGPATH_W) 'Parser/ParseNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ParseNode.cc'; fi`
-
-Parser/cfa_cpp-DeclarationNode.o: Parser/DeclarationNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-DeclarationNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo -c -o Parser/cfa_cpp-DeclarationNode.o `test -f 'Parser/DeclarationNode.cc' || echo '$(srcdir)/'`Parser/DeclarationNode.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/DeclarationNode.cc' object='Parser/cfa_cpp-DeclarationNode.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-DeclarationNode.o `test -f 'Parser/DeclarationNode.cc' || echo '$(srcdir)/'`Parser/DeclarationNode.cc
-
-Parser/cfa_cpp-DeclarationNode.obj: Parser/DeclarationNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-DeclarationNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo -c -o Parser/cfa_cpp-DeclarationNode.obj `if test -f 'Parser/DeclarationNode.cc'; then $(CYGPATH_W) 'Parser/DeclarationNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/DeclarationNode.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/DeclarationNode.cc' object='Parser/cfa_cpp-DeclarationNode.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-DeclarationNode.obj `if test -f 'Parser/DeclarationNode.cc'; then $(CYGPATH_W) 'Parser/DeclarationNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/DeclarationNode.cc'; fi`
-
-Parser/cfa_cpp-ExpressionNode.o: Parser/ExpressionNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ExpressionNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo -c -o Parser/cfa_cpp-ExpressionNode.o `test -f 'Parser/ExpressionNode.cc' || echo '$(srcdir)/'`Parser/ExpressionNode.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/ExpressionNode.cc' object='Parser/cfa_cpp-ExpressionNode.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ExpressionNode.o `test -f 'Parser/ExpressionNode.cc' || echo '$(srcdir)/'`Parser/ExpressionNode.cc
-
-Parser/cfa_cpp-ExpressionNode.obj: Parser/ExpressionNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ExpressionNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo -c -o Parser/cfa_cpp-ExpressionNode.obj `if test -f 'Parser/ExpressionNode.cc'; then $(CYGPATH_W) 'Parser/ExpressionNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ExpressionNode.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/ExpressionNode.cc' object='Parser/cfa_cpp-ExpressionNode.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ExpressionNode.obj `if test -f 'Parser/ExpressionNode.cc'; then $(CYGPATH_W) 'Parser/ExpressionNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ExpressionNode.cc'; fi`
-
-Parser/cfa_cpp-StatementNode.o: Parser/StatementNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-StatementNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo -c -o Parser/cfa_cpp-StatementNode.o `test -f 'Parser/StatementNode.cc' || echo '$(srcdir)/'`Parser/StatementNode.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo Parser/$(DEPDIR)/cfa_cpp-StatementNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/StatementNode.cc' object='Parser/cfa_cpp-StatementNode.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-StatementNode.o `test -f 'Parser/StatementNode.cc' || echo '$(srcdir)/'`Parser/StatementNode.cc
-
-Parser/cfa_cpp-StatementNode.obj: Parser/StatementNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-StatementNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo -c -o Parser/cfa_cpp-StatementNode.obj `if test -f 'Parser/StatementNode.cc'; then $(CYGPATH_W) 'Parser/StatementNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/StatementNode.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo Parser/$(DEPDIR)/cfa_cpp-StatementNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/StatementNode.cc' object='Parser/cfa_cpp-StatementNode.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-StatementNode.obj `if test -f 'Parser/StatementNode.cc'; then $(CYGPATH_W) 'Parser/StatementNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/StatementNode.cc'; fi`
-
-Parser/cfa_cpp-InitializerNode.o: Parser/InitializerNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-InitializerNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo -c -o Parser/cfa_cpp-InitializerNode.o `test -f 'Parser/InitializerNode.cc' || echo '$(srcdir)/'`Parser/InitializerNode.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/InitializerNode.cc' object='Parser/cfa_cpp-InitializerNode.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-InitializerNode.o `test -f 'Parser/InitializerNode.cc' || echo '$(srcdir)/'`Parser/InitializerNode.cc
-
-Parser/cfa_cpp-InitializerNode.obj: Parser/InitializerNode.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-InitializerNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo -c -o Parser/cfa_cpp-InitializerNode.obj `if test -f 'Parser/InitializerNode.cc'; then $(CYGPATH_W) 'Parser/InitializerNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/InitializerNode.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/InitializerNode.cc' object='Parser/cfa_cpp-InitializerNode.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-InitializerNode.obj `if test -f 'Parser/InitializerNode.cc'; then $(CYGPATH_W) 'Parser/InitializerNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/InitializerNode.cc'; fi`
-
-Parser/cfa_cpp-TypeData.o: Parser/TypeData.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypeData.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo -c -o Parser/cfa_cpp-TypeData.o `test -f 'Parser/TypeData.cc' || echo '$(srcdir)/'`Parser/TypeData.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo Parser/$(DEPDIR)/cfa_cpp-TypeData.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/TypeData.cc' object='Parser/cfa_cpp-TypeData.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypeData.o `test -f 'Parser/TypeData.cc' || echo '$(srcdir)/'`Parser/TypeData.cc
-
-Parser/cfa_cpp-TypeData.obj: Parser/TypeData.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypeData.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo -c -o Parser/cfa_cpp-TypeData.obj `if test -f 'Parser/TypeData.cc'; then $(CYGPATH_W) 'Parser/TypeData.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypeData.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo Parser/$(DEPDIR)/cfa_cpp-TypeData.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/TypeData.cc' object='Parser/cfa_cpp-TypeData.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypeData.obj `if test -f 'Parser/TypeData.cc'; then $(CYGPATH_W) 'Parser/TypeData.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypeData.cc'; fi`
-
-Parser/cfa_cpp-LinkageSpec.o: Parser/LinkageSpec.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-LinkageSpec.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo -c -o Parser/cfa_cpp-LinkageSpec.o `test -f 'Parser/LinkageSpec.cc' || echo '$(srcdir)/'`Parser/LinkageSpec.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/LinkageSpec.cc' object='Parser/cfa_cpp-LinkageSpec.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-LinkageSpec.o `test -f 'Parser/LinkageSpec.cc' || echo '$(srcdir)/'`Parser/LinkageSpec.cc
-
-Parser/cfa_cpp-LinkageSpec.obj: Parser/LinkageSpec.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-LinkageSpec.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo -c -o Parser/cfa_cpp-LinkageSpec.obj `if test -f 'Parser/LinkageSpec.cc'; then $(CYGPATH_W) 'Parser/LinkageSpec.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/LinkageSpec.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/LinkageSpec.cc' object='Parser/cfa_cpp-LinkageSpec.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-LinkageSpec.obj `if test -f 'Parser/LinkageSpec.cc'; then $(CYGPATH_W) 'Parser/LinkageSpec.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/LinkageSpec.cc'; fi`
-
-Parser/cfa_cpp-parseutility.o: Parser/parseutility.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parseutility.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo -c -o Parser/cfa_cpp-parseutility.o `test -f 'Parser/parseutility.cc' || echo '$(srcdir)/'`Parser/parseutility.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo Parser/$(DEPDIR)/cfa_cpp-parseutility.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/parseutility.cc' object='Parser/cfa_cpp-parseutility.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parseutility.o `test -f 'Parser/parseutility.cc' || echo '$(srcdir)/'`Parser/parseutility.cc
-
-Parser/cfa_cpp-parseutility.obj: Parser/parseutility.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parseutility.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo -c -o Parser/cfa_cpp-parseutility.obj `if test -f 'Parser/parseutility.cc'; then $(CYGPATH_W) 'Parser/parseutility.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parseutility.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo Parser/$(DEPDIR)/cfa_cpp-parseutility.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/parseutility.cc' object='Parser/cfa_cpp-parseutility.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parseutility.obj `if test -f 'Parser/parseutility.cc'; then $(CYGPATH_W) 'Parser/parseutility.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parseutility.cc'; fi`
-
-Parser/cfa_cpp-Parser.o: Parser/Parser.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-Parser.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo -c -o Parser/cfa_cpp-Parser.o `test -f 'Parser/Parser.cc' || echo '$(srcdir)/'`Parser/Parser.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo Parser/$(DEPDIR)/cfa_cpp-Parser.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/Parser.cc' object='Parser/cfa_cpp-Parser.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-Parser.o `test -f 'Parser/Parser.cc' || echo '$(srcdir)/'`Parser/Parser.cc
-
-Parser/cfa_cpp-Parser.obj: Parser/Parser.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-Parser.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo -c -o Parser/cfa_cpp-Parser.obj `if test -f 'Parser/Parser.cc'; then $(CYGPATH_W) 'Parser/Parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/Parser.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo Parser/$(DEPDIR)/cfa_cpp-Parser.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Parser/Parser.cc' object='Parser/cfa_cpp-Parser.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-Parser.obj `if test -f 'Parser/Parser.cc'; then $(CYGPATH_W) 'Parser/Parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/Parser.cc'; fi`
-
-ResolvExpr/cfa_cpp-AlternativeFinder.o: ResolvExpr/AlternativeFinder.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativeFinder.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo -c -o ResolvExpr/cfa_cpp-AlternativeFinder.o `test -f 'ResolvExpr/AlternativeFinder.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativeFinder.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/AlternativeFinder.cc' object='ResolvExpr/cfa_cpp-AlternativeFinder.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativeFinder.o `test -f 'ResolvExpr/AlternativeFinder.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativeFinder.cc
-
-ResolvExpr/cfa_cpp-AlternativeFinder.obj: ResolvExpr/AlternativeFinder.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativeFinder.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo -c -o ResolvExpr/cfa_cpp-AlternativeFinder.obj `if test -f 'ResolvExpr/AlternativeFinder.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativeFinder.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativeFinder.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/AlternativeFinder.cc' object='ResolvExpr/cfa_cpp-AlternativeFinder.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativeFinder.obj `if test -f 'ResolvExpr/AlternativeFinder.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativeFinder.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativeFinder.cc'; fi`
-
-ResolvExpr/cfa_cpp-Alternative.o: ResolvExpr/Alternative.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Alternative.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo -c -o ResolvExpr/cfa_cpp-Alternative.o `test -f 'ResolvExpr/Alternative.cc' || echo '$(srcdir)/'`ResolvExpr/Alternative.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/Alternative.cc' object='ResolvExpr/cfa_cpp-Alternative.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Alternative.o `test -f 'ResolvExpr/Alternative.cc' || echo '$(srcdir)/'`ResolvExpr/Alternative.cc
-
-ResolvExpr/cfa_cpp-Alternative.obj: ResolvExpr/Alternative.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Alternative.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo -c -o ResolvExpr/cfa_cpp-Alternative.obj `if test -f 'ResolvExpr/Alternative.cc'; then $(CYGPATH_W) 'ResolvExpr/Alternative.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Alternative.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/Alternative.cc' object='ResolvExpr/cfa_cpp-Alternative.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Alternative.obj `if test -f 'ResolvExpr/Alternative.cc'; then $(CYGPATH_W) 'ResolvExpr/Alternative.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Alternative.cc'; fi`
-
-ResolvExpr/cfa_cpp-Unify.o: ResolvExpr/Unify.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Unify.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo -c -o ResolvExpr/cfa_cpp-Unify.o `test -f 'ResolvExpr/Unify.cc' || echo '$(srcdir)/'`ResolvExpr/Unify.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/Unify.cc' object='ResolvExpr/cfa_cpp-Unify.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Unify.o `test -f 'ResolvExpr/Unify.cc' || echo '$(srcdir)/'`ResolvExpr/Unify.cc
-
-ResolvExpr/cfa_cpp-Unify.obj: ResolvExpr/Unify.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Unify.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo -c -o ResolvExpr/cfa_cpp-Unify.obj `if test -f 'ResolvExpr/Unify.cc'; then $(CYGPATH_W) 'ResolvExpr/Unify.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Unify.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/Unify.cc' object='ResolvExpr/cfa_cpp-Unify.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Unify.obj `if test -f 'ResolvExpr/Unify.cc'; then $(CYGPATH_W) 'ResolvExpr/Unify.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Unify.cc'; fi`
-
-ResolvExpr/cfa_cpp-PtrsAssignable.o: ResolvExpr/PtrsAssignable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsAssignable.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsAssignable.o `test -f 'ResolvExpr/PtrsAssignable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsAssignable.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/PtrsAssignable.cc' object='ResolvExpr/cfa_cpp-PtrsAssignable.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsAssignable.o `test -f 'ResolvExpr/PtrsAssignable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsAssignable.cc
-
-ResolvExpr/cfa_cpp-PtrsAssignable.obj: ResolvExpr/PtrsAssignable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsAssignable.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsAssignable.obj `if test -f 'ResolvExpr/PtrsAssignable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsAssignable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsAssignable.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/PtrsAssignable.cc' object='ResolvExpr/cfa_cpp-PtrsAssignable.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsAssignable.obj `if test -f 'ResolvExpr/PtrsAssignable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsAssignable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsAssignable.cc'; fi`
-
-ResolvExpr/cfa_cpp-CommonType.o: ResolvExpr/CommonType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CommonType.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo -c -o ResolvExpr/cfa_cpp-CommonType.o `test -f 'ResolvExpr/CommonType.cc' || echo '$(srcdir)/'`ResolvExpr/CommonType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/CommonType.cc' object='ResolvExpr/cfa_cpp-CommonType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CommonType.o `test -f 'ResolvExpr/CommonType.cc' || echo '$(srcdir)/'`ResolvExpr/CommonType.cc
-
-ResolvExpr/cfa_cpp-CommonType.obj: ResolvExpr/CommonType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CommonType.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo -c -o ResolvExpr/cfa_cpp-CommonType.obj `if test -f 'ResolvExpr/CommonType.cc'; then $(CYGPATH_W) 'ResolvExpr/CommonType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CommonType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/CommonType.cc' object='ResolvExpr/cfa_cpp-CommonType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CommonType.obj `if test -f 'ResolvExpr/CommonType.cc'; then $(CYGPATH_W) 'ResolvExpr/CommonType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CommonType.cc'; fi`
-
-ResolvExpr/cfa_cpp-ConversionCost.o: ResolvExpr/ConversionCost.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ConversionCost.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo -c -o ResolvExpr/cfa_cpp-ConversionCost.o `test -f 'ResolvExpr/ConversionCost.cc' || echo '$(srcdir)/'`ResolvExpr/ConversionCost.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/ConversionCost.cc' object='ResolvExpr/cfa_cpp-ConversionCost.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ConversionCost.o `test -f 'ResolvExpr/ConversionCost.cc' || echo '$(srcdir)/'`ResolvExpr/ConversionCost.cc
-
-ResolvExpr/cfa_cpp-ConversionCost.obj: ResolvExpr/ConversionCost.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ConversionCost.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo -c -o ResolvExpr/cfa_cpp-ConversionCost.obj `if test -f 'ResolvExpr/ConversionCost.cc'; then $(CYGPATH_W) 'ResolvExpr/ConversionCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ConversionCost.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/ConversionCost.cc' object='ResolvExpr/cfa_cpp-ConversionCost.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ConversionCost.obj `if test -f 'ResolvExpr/ConversionCost.cc'; then $(CYGPATH_W) 'ResolvExpr/ConversionCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ConversionCost.cc'; fi`
-
-ResolvExpr/cfa_cpp-CastCost.o: ResolvExpr/CastCost.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CastCost.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo -c -o ResolvExpr/cfa_cpp-CastCost.o `test -f 'ResolvExpr/CastCost.cc' || echo '$(srcdir)/'`ResolvExpr/CastCost.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/CastCost.cc' object='ResolvExpr/cfa_cpp-CastCost.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CastCost.o `test -f 'ResolvExpr/CastCost.cc' || echo '$(srcdir)/'`ResolvExpr/CastCost.cc
-
-ResolvExpr/cfa_cpp-CastCost.obj: ResolvExpr/CastCost.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CastCost.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo -c -o ResolvExpr/cfa_cpp-CastCost.obj `if test -f 'ResolvExpr/CastCost.cc'; then $(CYGPATH_W) 'ResolvExpr/CastCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CastCost.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/CastCost.cc' object='ResolvExpr/cfa_cpp-CastCost.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CastCost.obj `if test -f 'ResolvExpr/CastCost.cc'; then $(CYGPATH_W) 'ResolvExpr/CastCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CastCost.cc'; fi`
-
-ResolvExpr/cfa_cpp-PtrsCastable.o: ResolvExpr/PtrsCastable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsCastable.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsCastable.o `test -f 'ResolvExpr/PtrsCastable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsCastable.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/PtrsCastable.cc' object='ResolvExpr/cfa_cpp-PtrsCastable.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsCastable.o `test -f 'ResolvExpr/PtrsCastable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsCastable.cc
-
-ResolvExpr/cfa_cpp-PtrsCastable.obj: ResolvExpr/PtrsCastable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsCastable.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsCastable.obj `if test -f 'ResolvExpr/PtrsCastable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsCastable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsCastable.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/PtrsCastable.cc' object='ResolvExpr/cfa_cpp-PtrsCastable.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsCastable.obj `if test -f 'ResolvExpr/PtrsCastable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsCastable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsCastable.cc'; fi`
-
-ResolvExpr/cfa_cpp-AdjustExprType.o: ResolvExpr/AdjustExprType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AdjustExprType.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo -c -o ResolvExpr/cfa_cpp-AdjustExprType.o `test -f 'ResolvExpr/AdjustExprType.cc' || echo '$(srcdir)/'`ResolvExpr/AdjustExprType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/AdjustExprType.cc' object='ResolvExpr/cfa_cpp-AdjustExprType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AdjustExprType.o `test -f 'ResolvExpr/AdjustExprType.cc' || echo '$(srcdir)/'`ResolvExpr/AdjustExprType.cc
-
-ResolvExpr/cfa_cpp-AdjustExprType.obj: ResolvExpr/AdjustExprType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AdjustExprType.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo -c -o ResolvExpr/cfa_cpp-AdjustExprType.obj `if test -f 'ResolvExpr/AdjustExprType.cc'; then $(CYGPATH_W) 'ResolvExpr/AdjustExprType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AdjustExprType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/AdjustExprType.cc' object='ResolvExpr/cfa_cpp-AdjustExprType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AdjustExprType.obj `if test -f 'ResolvExpr/AdjustExprType.cc'; then $(CYGPATH_W) 'ResolvExpr/AdjustExprType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AdjustExprType.cc'; fi`
-
-ResolvExpr/cfa_cpp-AlternativePrinter.o: ResolvExpr/AlternativePrinter.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativePrinter.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo -c -o ResolvExpr/cfa_cpp-AlternativePrinter.o `test -f 'ResolvExpr/AlternativePrinter.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativePrinter.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/AlternativePrinter.cc' object='ResolvExpr/cfa_cpp-AlternativePrinter.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativePrinter.o `test -f 'ResolvExpr/AlternativePrinter.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativePrinter.cc
-
-ResolvExpr/cfa_cpp-AlternativePrinter.obj: ResolvExpr/AlternativePrinter.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativePrinter.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo -c -o ResolvExpr/cfa_cpp-AlternativePrinter.obj `if test -f 'ResolvExpr/AlternativePrinter.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativePrinter.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativePrinter.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/AlternativePrinter.cc' object='ResolvExpr/cfa_cpp-AlternativePrinter.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativePrinter.obj `if test -f 'ResolvExpr/AlternativePrinter.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativePrinter.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativePrinter.cc'; fi`
-
-ResolvExpr/cfa_cpp-Resolver.o: ResolvExpr/Resolver.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Resolver.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo -c -o ResolvExpr/cfa_cpp-Resolver.o `test -f 'ResolvExpr/Resolver.cc' || echo '$(srcdir)/'`ResolvExpr/Resolver.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/Resolver.cc' object='ResolvExpr/cfa_cpp-Resolver.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Resolver.o `test -f 'ResolvExpr/Resolver.cc' || echo '$(srcdir)/'`ResolvExpr/Resolver.cc
-
-ResolvExpr/cfa_cpp-Resolver.obj: ResolvExpr/Resolver.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Resolver.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo -c -o ResolvExpr/cfa_cpp-Resolver.obj `if test -f 'ResolvExpr/Resolver.cc'; then $(CYGPATH_W) 'ResolvExpr/Resolver.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Resolver.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/Resolver.cc' object='ResolvExpr/cfa_cpp-Resolver.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Resolver.obj `if test -f 'ResolvExpr/Resolver.cc'; then $(CYGPATH_W) 'ResolvExpr/Resolver.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Resolver.cc'; fi`
-
-ResolvExpr/cfa_cpp-ResolveTypeof.o: ResolvExpr/ResolveTypeof.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ResolveTypeof.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo -c -o ResolvExpr/cfa_cpp-ResolveTypeof.o `test -f 'ResolvExpr/ResolveTypeof.cc' || echo '$(srcdir)/'`ResolvExpr/ResolveTypeof.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/ResolveTypeof.cc' object='ResolvExpr/cfa_cpp-ResolveTypeof.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ResolveTypeof.o `test -f 'ResolvExpr/ResolveTypeof.cc' || echo '$(srcdir)/'`ResolvExpr/ResolveTypeof.cc
-
-ResolvExpr/cfa_cpp-ResolveTypeof.obj: ResolvExpr/ResolveTypeof.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ResolveTypeof.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo -c -o ResolvExpr/cfa_cpp-ResolveTypeof.obj `if test -f 'ResolvExpr/ResolveTypeof.cc'; then $(CYGPATH_W) 'ResolvExpr/ResolveTypeof.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ResolveTypeof.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/ResolveTypeof.cc' object='ResolvExpr/cfa_cpp-ResolveTypeof.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ResolveTypeof.obj `if test -f 'ResolvExpr/ResolveTypeof.cc'; then $(CYGPATH_W) 'ResolvExpr/ResolveTypeof.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ResolveTypeof.cc'; fi`
-
-ResolvExpr/cfa_cpp-RenameVars.o: ResolvExpr/RenameVars.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-RenameVars.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo -c -o ResolvExpr/cfa_cpp-RenameVars.o `test -f 'ResolvExpr/RenameVars.cc' || echo '$(srcdir)/'`ResolvExpr/RenameVars.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/RenameVars.cc' object='ResolvExpr/cfa_cpp-RenameVars.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-RenameVars.o `test -f 'ResolvExpr/RenameVars.cc' || echo '$(srcdir)/'`ResolvExpr/RenameVars.cc
-
-ResolvExpr/cfa_cpp-RenameVars.obj: ResolvExpr/RenameVars.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-RenameVars.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo -c -o ResolvExpr/cfa_cpp-RenameVars.obj `if test -f 'ResolvExpr/RenameVars.cc'; then $(CYGPATH_W) 'ResolvExpr/RenameVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/RenameVars.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/RenameVars.cc' object='ResolvExpr/cfa_cpp-RenameVars.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-RenameVars.obj `if test -f 'ResolvExpr/RenameVars.cc'; then $(CYGPATH_W) 'ResolvExpr/RenameVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/RenameVars.cc'; fi`
-
-ResolvExpr/cfa_cpp-FindOpenVars.o: ResolvExpr/FindOpenVars.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-FindOpenVars.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo -c -o ResolvExpr/cfa_cpp-FindOpenVars.o `test -f 'ResolvExpr/FindOpenVars.cc' || echo '$(srcdir)/'`ResolvExpr/FindOpenVars.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/FindOpenVars.cc' object='ResolvExpr/cfa_cpp-FindOpenVars.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-FindOpenVars.o `test -f 'ResolvExpr/FindOpenVars.cc' || echo '$(srcdir)/'`ResolvExpr/FindOpenVars.cc
-
-ResolvExpr/cfa_cpp-FindOpenVars.obj: ResolvExpr/FindOpenVars.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-FindOpenVars.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo -c -o ResolvExpr/cfa_cpp-FindOpenVars.obj `if test -f 'ResolvExpr/FindOpenVars.cc'; then $(CYGPATH_W) 'ResolvExpr/FindOpenVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/FindOpenVars.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/FindOpenVars.cc' object='ResolvExpr/cfa_cpp-FindOpenVars.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-FindOpenVars.obj `if test -f 'ResolvExpr/FindOpenVars.cc'; then $(CYGPATH_W) 'ResolvExpr/FindOpenVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/FindOpenVars.cc'; fi`
-
-ResolvExpr/cfa_cpp-PolyCost.o: ResolvExpr/PolyCost.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PolyCost.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo -c -o ResolvExpr/cfa_cpp-PolyCost.o `test -f 'ResolvExpr/PolyCost.cc' || echo '$(srcdir)/'`ResolvExpr/PolyCost.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/PolyCost.cc' object='ResolvExpr/cfa_cpp-PolyCost.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PolyCost.o `test -f 'ResolvExpr/PolyCost.cc' || echo '$(srcdir)/'`ResolvExpr/PolyCost.cc
-
-ResolvExpr/cfa_cpp-PolyCost.obj: ResolvExpr/PolyCost.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PolyCost.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo -c -o ResolvExpr/cfa_cpp-PolyCost.obj `if test -f 'ResolvExpr/PolyCost.cc'; then $(CYGPATH_W) 'ResolvExpr/PolyCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PolyCost.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/PolyCost.cc' object='ResolvExpr/cfa_cpp-PolyCost.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PolyCost.obj `if test -f 'ResolvExpr/PolyCost.cc'; then $(CYGPATH_W) 'ResolvExpr/PolyCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PolyCost.cc'; fi`
-
-ResolvExpr/cfa_cpp-Occurs.o: ResolvExpr/Occurs.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Occurs.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo -c -o ResolvExpr/cfa_cpp-Occurs.o `test -f 'ResolvExpr/Occurs.cc' || echo '$(srcdir)/'`ResolvExpr/Occurs.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/Occurs.cc' object='ResolvExpr/cfa_cpp-Occurs.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Occurs.o `test -f 'ResolvExpr/Occurs.cc' || echo '$(srcdir)/'`ResolvExpr/Occurs.cc
-
-ResolvExpr/cfa_cpp-Occurs.obj: ResolvExpr/Occurs.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Occurs.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo -c -o ResolvExpr/cfa_cpp-Occurs.obj `if test -f 'ResolvExpr/Occurs.cc'; then $(CYGPATH_W) 'ResolvExpr/Occurs.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Occurs.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/Occurs.cc' object='ResolvExpr/cfa_cpp-Occurs.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Occurs.obj `if test -f 'ResolvExpr/Occurs.cc'; then $(CYGPATH_W) 'ResolvExpr/Occurs.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Occurs.cc'; fi`
-
-ResolvExpr/cfa_cpp-TypeEnvironment.o: ResolvExpr/TypeEnvironment.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-TypeEnvironment.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo -c -o ResolvExpr/cfa_cpp-TypeEnvironment.o `test -f 'ResolvExpr/TypeEnvironment.cc' || echo '$(srcdir)/'`ResolvExpr/TypeEnvironment.cc
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/TypeEnvironment.cc' object='ResolvExpr/cfa_cpp-TypeEnvironment.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-TypeEnvironment.o `test -f 'ResolvExpr/TypeEnvironment.cc' || echo '$(srcdir)/'`ResolvExpr/TypeEnvironment.cc
-
-ResolvExpr/cfa_cpp-TypeEnvironment.obj: ResolvExpr/TypeEnvironment.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-TypeEnvironment.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo -c -o ResolvExpr/cfa_cpp-TypeEnvironment.obj `if test -f 'ResolvExpr/TypeEnvironment.cc'; then $(CYGPATH_W) 'ResolvExpr/TypeEnvironment.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/TypeEnvironment.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ResolvExpr/TypeEnvironment.cc' object='ResolvExpr/cfa_cpp-TypeEnvironment.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-TypeEnvironment.obj `if test -f 'ResolvExpr/TypeEnvironment.cc'; then $(CYGPATH_W) 'ResolvExpr/TypeEnvironment.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/TypeEnvironment.cc'; fi`
-
-SymTab/cfa_cpp-IdTable.o: SymTab/IdTable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-IdTable.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo -c -o SymTab/cfa_cpp-IdTable.o `test -f 'SymTab/IdTable.cc' || echo '$(srcdir)/'`SymTab/IdTable.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo SymTab/$(DEPDIR)/cfa_cpp-IdTable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/IdTable.cc' object='SymTab/cfa_cpp-IdTable.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-IdTable.o `test -f 'SymTab/IdTable.cc' || echo '$(srcdir)/'`SymTab/IdTable.cc
-
-SymTab/cfa_cpp-IdTable.obj: SymTab/IdTable.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-IdTable.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo -c -o SymTab/cfa_cpp-IdTable.obj `if test -f 'SymTab/IdTable.cc'; then $(CYGPATH_W) 'SymTab/IdTable.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/IdTable.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo SymTab/$(DEPDIR)/cfa_cpp-IdTable.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/IdTable.cc' object='SymTab/cfa_cpp-IdTable.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-IdTable.obj `if test -f 'SymTab/IdTable.cc'; then $(CYGPATH_W) 'SymTab/IdTable.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/IdTable.cc'; fi`
-
-SymTab/cfa_cpp-Indexer.o: SymTab/Indexer.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Indexer.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo -c -o SymTab/cfa_cpp-Indexer.o `test -f 'SymTab/Indexer.cc' || echo '$(srcdir)/'`SymTab/Indexer.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo SymTab/$(DEPDIR)/cfa_cpp-Indexer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/Indexer.cc' object='SymTab/cfa_cpp-Indexer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Indexer.o `test -f 'SymTab/Indexer.cc' || echo '$(srcdir)/'`SymTab/Indexer.cc
-
-SymTab/cfa_cpp-Indexer.obj: SymTab/Indexer.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Indexer.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo -c -o SymTab/cfa_cpp-Indexer.obj `if test -f 'SymTab/Indexer.cc'; then $(CYGPATH_W) 'SymTab/Indexer.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Indexer.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo SymTab/$(DEPDIR)/cfa_cpp-Indexer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/Indexer.cc' object='SymTab/cfa_cpp-Indexer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Indexer.obj `if test -f 'SymTab/Indexer.cc'; then $(CYGPATH_W) 'SymTab/Indexer.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Indexer.cc'; fi`
-
-SymTab/cfa_cpp-Mangler.o: SymTab/Mangler.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Mangler.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo -c -o SymTab/cfa_cpp-Mangler.o `test -f 'SymTab/Mangler.cc' || echo '$(srcdir)/'`SymTab/Mangler.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo SymTab/$(DEPDIR)/cfa_cpp-Mangler.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/Mangler.cc' object='SymTab/cfa_cpp-Mangler.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Mangler.o `test -f 'SymTab/Mangler.cc' || echo '$(srcdir)/'`SymTab/Mangler.cc
-
-SymTab/cfa_cpp-Mangler.obj: SymTab/Mangler.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Mangler.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo -c -o SymTab/cfa_cpp-Mangler.obj `if test -f 'SymTab/Mangler.cc'; then $(CYGPATH_W) 'SymTab/Mangler.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Mangler.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo SymTab/$(DEPDIR)/cfa_cpp-Mangler.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/Mangler.cc' object='SymTab/cfa_cpp-Mangler.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Mangler.obj `if test -f 'SymTab/Mangler.cc'; then $(CYGPATH_W) 'SymTab/Mangler.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Mangler.cc'; fi`
-
-SymTab/cfa_cpp-Validate.o: SymTab/Validate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Validate.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo -c -o SymTab/cfa_cpp-Validate.o `test -f 'SymTab/Validate.cc' || echo '$(srcdir)/'`SymTab/Validate.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo SymTab/$(DEPDIR)/cfa_cpp-Validate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/Validate.cc' object='SymTab/cfa_cpp-Validate.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Validate.o `test -f 'SymTab/Validate.cc' || echo '$(srcdir)/'`SymTab/Validate.cc
-
-SymTab/cfa_cpp-Validate.obj: SymTab/Validate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Validate.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo -c -o SymTab/cfa_cpp-Validate.obj `if test -f 'SymTab/Validate.cc'; then $(CYGPATH_W) 'SymTab/Validate.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Validate.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo SymTab/$(DEPDIR)/cfa_cpp-Validate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/Validate.cc' object='SymTab/cfa_cpp-Validate.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Validate.obj `if test -f 'SymTab/Validate.cc'; then $(CYGPATH_W) 'SymTab/Validate.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Validate.cc'; fi`
-
-SymTab/cfa_cpp-FixFunction.o: SymTab/FixFunction.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-FixFunction.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo -c -o SymTab/cfa_cpp-FixFunction.o `test -f 'SymTab/FixFunction.cc' || echo '$(srcdir)/'`SymTab/FixFunction.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/FixFunction.cc' object='SymTab/cfa_cpp-FixFunction.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-FixFunction.o `test -f 'SymTab/FixFunction.cc' || echo '$(srcdir)/'`SymTab/FixFunction.cc
-
-SymTab/cfa_cpp-FixFunction.obj: SymTab/FixFunction.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-FixFunction.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo -c -o SymTab/cfa_cpp-FixFunction.obj `if test -f 'SymTab/FixFunction.cc'; then $(CYGPATH_W) 'SymTab/FixFunction.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/FixFunction.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/FixFunction.cc' object='SymTab/cfa_cpp-FixFunction.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-FixFunction.obj `if test -f 'SymTab/FixFunction.cc'; then $(CYGPATH_W) 'SymTab/FixFunction.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/FixFunction.cc'; fi`
-
-SymTab/cfa_cpp-ImplementationType.o: SymTab/ImplementationType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-ImplementationType.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo -c -o SymTab/cfa_cpp-ImplementationType.o `test -f 'SymTab/ImplementationType.cc' || echo '$(srcdir)/'`SymTab/ImplementationType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/ImplementationType.cc' object='SymTab/cfa_cpp-ImplementationType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-ImplementationType.o `test -f 'SymTab/ImplementationType.cc' || echo '$(srcdir)/'`SymTab/ImplementationType.cc
-
-SymTab/cfa_cpp-ImplementationType.obj: SymTab/ImplementationType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-ImplementationType.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo -c -o SymTab/cfa_cpp-ImplementationType.obj `if test -f 'SymTab/ImplementationType.cc'; then $(CYGPATH_W) 'SymTab/ImplementationType.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/ImplementationType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SymTab/ImplementationType.cc' object='SymTab/cfa_cpp-ImplementationType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-ImplementationType.obj `if test -f 'SymTab/ImplementationType.cc'; then $(CYGPATH_W) 'SymTab/ImplementationType.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/ImplementationType.cc'; fi`
-
-SynTree/cfa_cpp-Type.o: SynTree/Type.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Type.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo -c -o SynTree/cfa_cpp-Type.o `test -f 'SynTree/Type.cc' || echo '$(srcdir)/'`SynTree/Type.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo SynTree/$(DEPDIR)/cfa_cpp-Type.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Type.cc' object='SynTree/cfa_cpp-Type.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Type.o `test -f 'SynTree/Type.cc' || echo '$(srcdir)/'`SynTree/Type.cc
-
-SynTree/cfa_cpp-Type.obj: SynTree/Type.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Type.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo -c -o SynTree/cfa_cpp-Type.obj `if test -f 'SynTree/Type.cc'; then $(CYGPATH_W) 'SynTree/Type.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Type.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo SynTree/$(DEPDIR)/cfa_cpp-Type.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Type.cc' object='SynTree/cfa_cpp-Type.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Type.obj `if test -f 'SynTree/Type.cc'; then $(CYGPATH_W) 'SynTree/Type.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Type.cc'; fi`
-
-SynTree/cfa_cpp-VoidType.o: SynTree/VoidType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-VoidType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo -c -o SynTree/cfa_cpp-VoidType.o `test -f 'SynTree/VoidType.cc' || echo '$(srcdir)/'`SynTree/VoidType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo SynTree/$(DEPDIR)/cfa_cpp-VoidType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/VoidType.cc' object='SynTree/cfa_cpp-VoidType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-VoidType.o `test -f 'SynTree/VoidType.cc' || echo '$(srcdir)/'`SynTree/VoidType.cc
-
-SynTree/cfa_cpp-VoidType.obj: SynTree/VoidType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-VoidType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo -c -o SynTree/cfa_cpp-VoidType.obj `if test -f 'SynTree/VoidType.cc'; then $(CYGPATH_W) 'SynTree/VoidType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/VoidType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo SynTree/$(DEPDIR)/cfa_cpp-VoidType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/VoidType.cc' object='SynTree/cfa_cpp-VoidType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-VoidType.obj `if test -f 'SynTree/VoidType.cc'; then $(CYGPATH_W) 'SynTree/VoidType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/VoidType.cc'; fi`
-
-SynTree/cfa_cpp-BasicType.o: SynTree/BasicType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-BasicType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo -c -o SynTree/cfa_cpp-BasicType.o `test -f 'SynTree/BasicType.cc' || echo '$(srcdir)/'`SynTree/BasicType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo SynTree/$(DEPDIR)/cfa_cpp-BasicType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/BasicType.cc' object='SynTree/cfa_cpp-BasicType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-BasicType.o `test -f 'SynTree/BasicType.cc' || echo '$(srcdir)/'`SynTree/BasicType.cc
-
-SynTree/cfa_cpp-BasicType.obj: SynTree/BasicType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-BasicType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo -c -o SynTree/cfa_cpp-BasicType.obj `if test -f 'SynTree/BasicType.cc'; then $(CYGPATH_W) 'SynTree/BasicType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/BasicType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo SynTree/$(DEPDIR)/cfa_cpp-BasicType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/BasicType.cc' object='SynTree/cfa_cpp-BasicType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-BasicType.obj `if test -f 'SynTree/BasicType.cc'; then $(CYGPATH_W) 'SynTree/BasicType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/BasicType.cc'; fi`
-
-SynTree/cfa_cpp-PointerType.o: SynTree/PointerType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-PointerType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo -c -o SynTree/cfa_cpp-PointerType.o `test -f 'SynTree/PointerType.cc' || echo '$(srcdir)/'`SynTree/PointerType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo SynTree/$(DEPDIR)/cfa_cpp-PointerType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/PointerType.cc' object='SynTree/cfa_cpp-PointerType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-PointerType.o `test -f 'SynTree/PointerType.cc' || echo '$(srcdir)/'`SynTree/PointerType.cc
-
-SynTree/cfa_cpp-PointerType.obj: SynTree/PointerType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-PointerType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo -c -o SynTree/cfa_cpp-PointerType.obj `if test -f 'SynTree/PointerType.cc'; then $(CYGPATH_W) 'SynTree/PointerType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/PointerType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo SynTree/$(DEPDIR)/cfa_cpp-PointerType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/PointerType.cc' object='SynTree/cfa_cpp-PointerType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-PointerType.obj `if test -f 'SynTree/PointerType.cc'; then $(CYGPATH_W) 'SynTree/PointerType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/PointerType.cc'; fi`
-
-SynTree/cfa_cpp-ArrayType.o: SynTree/ArrayType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ArrayType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo -c -o SynTree/cfa_cpp-ArrayType.o `test -f 'SynTree/ArrayType.cc' || echo '$(srcdir)/'`SynTree/ArrayType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/ArrayType.cc' object='SynTree/cfa_cpp-ArrayType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ArrayType.o `test -f 'SynTree/ArrayType.cc' || echo '$(srcdir)/'`SynTree/ArrayType.cc
-
-SynTree/cfa_cpp-ArrayType.obj: SynTree/ArrayType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ArrayType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo -c -o SynTree/cfa_cpp-ArrayType.obj `if test -f 'SynTree/ArrayType.cc'; then $(CYGPATH_W) 'SynTree/ArrayType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ArrayType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/ArrayType.cc' object='SynTree/cfa_cpp-ArrayType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ArrayType.obj `if test -f 'SynTree/ArrayType.cc'; then $(CYGPATH_W) 'SynTree/ArrayType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ArrayType.cc'; fi`
-
-SynTree/cfa_cpp-FunctionType.o: SynTree/FunctionType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo -c -o SynTree/cfa_cpp-FunctionType.o `test -f 'SynTree/FunctionType.cc' || echo '$(srcdir)/'`SynTree/FunctionType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/FunctionType.cc' object='SynTree/cfa_cpp-FunctionType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionType.o `test -f 'SynTree/FunctionType.cc' || echo '$(srcdir)/'`SynTree/FunctionType.cc
-
-SynTree/cfa_cpp-FunctionType.obj: SynTree/FunctionType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo -c -o SynTree/cfa_cpp-FunctionType.obj `if test -f 'SynTree/FunctionType.cc'; then $(CYGPATH_W) 'SynTree/FunctionType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/FunctionType.cc' object='SynTree/cfa_cpp-FunctionType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionType.obj `if test -f 'SynTree/FunctionType.cc'; then $(CYGPATH_W) 'SynTree/FunctionType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionType.cc'; fi`
-
-SynTree/cfa_cpp-ReferenceToType.o: SynTree/ReferenceToType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ReferenceToType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo -c -o SynTree/cfa_cpp-ReferenceToType.o `test -f 'SynTree/ReferenceToType.cc' || echo '$(srcdir)/'`SynTree/ReferenceToType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/ReferenceToType.cc' object='SynTree/cfa_cpp-ReferenceToType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ReferenceToType.o `test -f 'SynTree/ReferenceToType.cc' || echo '$(srcdir)/'`SynTree/ReferenceToType.cc
-
-SynTree/cfa_cpp-ReferenceToType.obj: SynTree/ReferenceToType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ReferenceToType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo -c -o SynTree/cfa_cpp-ReferenceToType.obj `if test -f 'SynTree/ReferenceToType.cc'; then $(CYGPATH_W) 'SynTree/ReferenceToType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ReferenceToType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/ReferenceToType.cc' object='SynTree/cfa_cpp-ReferenceToType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ReferenceToType.obj `if test -f 'SynTree/ReferenceToType.cc'; then $(CYGPATH_W) 'SynTree/ReferenceToType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ReferenceToType.cc'; fi`
-
-SynTree/cfa_cpp-TupleType.o: SynTree/TupleType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo -c -o SynTree/cfa_cpp-TupleType.o `test -f 'SynTree/TupleType.cc' || echo '$(srcdir)/'`SynTree/TupleType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TupleType.cc' object='SynTree/cfa_cpp-TupleType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleType.o `test -f 'SynTree/TupleType.cc' || echo '$(srcdir)/'`SynTree/TupleType.cc
-
-SynTree/cfa_cpp-TupleType.obj: SynTree/TupleType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo -c -o SynTree/cfa_cpp-TupleType.obj `if test -f 'SynTree/TupleType.cc'; then $(CYGPATH_W) 'SynTree/TupleType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TupleType.cc' object='SynTree/cfa_cpp-TupleType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleType.obj `if test -f 'SynTree/TupleType.cc'; then $(CYGPATH_W) 'SynTree/TupleType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleType.cc'; fi`
-
-SynTree/cfa_cpp-TypeofType.o: SynTree/TypeofType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeofType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo -c -o SynTree/cfa_cpp-TypeofType.o `test -f 'SynTree/TypeofType.cc' || echo '$(srcdir)/'`SynTree/TypeofType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TypeofType.cc' object='SynTree/cfa_cpp-TypeofType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeofType.o `test -f 'SynTree/TypeofType.cc' || echo '$(srcdir)/'`SynTree/TypeofType.cc
-
-SynTree/cfa_cpp-TypeofType.obj: SynTree/TypeofType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeofType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo -c -o SynTree/cfa_cpp-TypeofType.obj `if test -f 'SynTree/TypeofType.cc'; then $(CYGPATH_W) 'SynTree/TypeofType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeofType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TypeofType.cc' object='SynTree/cfa_cpp-TypeofType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeofType.obj `if test -f 'SynTree/TypeofType.cc'; then $(CYGPATH_W) 'SynTree/TypeofType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeofType.cc'; fi`
-
-SynTree/cfa_cpp-AttrType.o: SynTree/AttrType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AttrType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo -c -o SynTree/cfa_cpp-AttrType.o `test -f 'SynTree/AttrType.cc' || echo '$(srcdir)/'`SynTree/AttrType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo SynTree/$(DEPDIR)/cfa_cpp-AttrType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/AttrType.cc' object='SynTree/cfa_cpp-AttrType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AttrType.o `test -f 'SynTree/AttrType.cc' || echo '$(srcdir)/'`SynTree/AttrType.cc
-
-SynTree/cfa_cpp-AttrType.obj: SynTree/AttrType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AttrType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo -c -o SynTree/cfa_cpp-AttrType.obj `if test -f 'SynTree/AttrType.cc'; then $(CYGPATH_W) 'SynTree/AttrType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AttrType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo SynTree/$(DEPDIR)/cfa_cpp-AttrType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/AttrType.cc' object='SynTree/cfa_cpp-AttrType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AttrType.obj `if test -f 'SynTree/AttrType.cc'; then $(CYGPATH_W) 'SynTree/AttrType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AttrType.cc'; fi`
-
-SynTree/cfa_cpp-Constant.o: SynTree/Constant.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Constant.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo -c -o SynTree/cfa_cpp-Constant.o `test -f 'SynTree/Constant.cc' || echo '$(srcdir)/'`SynTree/Constant.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo SynTree/$(DEPDIR)/cfa_cpp-Constant.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Constant.cc' object='SynTree/cfa_cpp-Constant.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Constant.o `test -f 'SynTree/Constant.cc' || echo '$(srcdir)/'`SynTree/Constant.cc
-
-SynTree/cfa_cpp-Constant.obj: SynTree/Constant.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Constant.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo -c -o SynTree/cfa_cpp-Constant.obj `if test -f 'SynTree/Constant.cc'; then $(CYGPATH_W) 'SynTree/Constant.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Constant.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo SynTree/$(DEPDIR)/cfa_cpp-Constant.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Constant.cc' object='SynTree/cfa_cpp-Constant.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Constant.obj `if test -f 'SynTree/Constant.cc'; then $(CYGPATH_W) 'SynTree/Constant.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Constant.cc'; fi`
-
-SynTree/cfa_cpp-Expression.o: SynTree/Expression.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Expression.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo -c -o SynTree/cfa_cpp-Expression.o `test -f 'SynTree/Expression.cc' || echo '$(srcdir)/'`SynTree/Expression.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo SynTree/$(DEPDIR)/cfa_cpp-Expression.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Expression.cc' object='SynTree/cfa_cpp-Expression.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Expression.o `test -f 'SynTree/Expression.cc' || echo '$(srcdir)/'`SynTree/Expression.cc
-
-SynTree/cfa_cpp-Expression.obj: SynTree/Expression.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Expression.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo -c -o SynTree/cfa_cpp-Expression.obj `if test -f 'SynTree/Expression.cc'; then $(CYGPATH_W) 'SynTree/Expression.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Expression.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo SynTree/$(DEPDIR)/cfa_cpp-Expression.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Expression.cc' object='SynTree/cfa_cpp-Expression.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Expression.obj `if test -f 'SynTree/Expression.cc'; then $(CYGPATH_W) 'SynTree/Expression.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Expression.cc'; fi`
-
-SynTree/cfa_cpp-TupleExpr.o: SynTree/TupleExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo -c -o SynTree/cfa_cpp-TupleExpr.o `test -f 'SynTree/TupleExpr.cc' || echo '$(srcdir)/'`SynTree/TupleExpr.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TupleExpr.cc' object='SynTree/cfa_cpp-TupleExpr.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleExpr.o `test -f 'SynTree/TupleExpr.cc' || echo '$(srcdir)/'`SynTree/TupleExpr.cc
-
-SynTree/cfa_cpp-TupleExpr.obj: SynTree/TupleExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo -c -o SynTree/cfa_cpp-TupleExpr.obj `if test -f 'SynTree/TupleExpr.cc'; then $(CYGPATH_W) 'SynTree/TupleExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleExpr.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TupleExpr.cc' object='SynTree/cfa_cpp-TupleExpr.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleExpr.obj `if test -f 'SynTree/TupleExpr.cc'; then $(CYGPATH_W) 'SynTree/TupleExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleExpr.cc'; fi`
-
-SynTree/cfa_cpp-CommaExpr.o: SynTree/CommaExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CommaExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo -c -o SynTree/cfa_cpp-CommaExpr.o `test -f 'SynTree/CommaExpr.cc' || echo '$(srcdir)/'`SynTree/CommaExpr.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/CommaExpr.cc' object='SynTree/cfa_cpp-CommaExpr.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CommaExpr.o `test -f 'SynTree/CommaExpr.cc' || echo '$(srcdir)/'`SynTree/CommaExpr.cc
-
-SynTree/cfa_cpp-CommaExpr.obj: SynTree/CommaExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CommaExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo -c -o SynTree/cfa_cpp-CommaExpr.obj `if test -f 'SynTree/CommaExpr.cc'; then $(CYGPATH_W) 'SynTree/CommaExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CommaExpr.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/CommaExpr.cc' object='SynTree/cfa_cpp-CommaExpr.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CommaExpr.obj `if test -f 'SynTree/CommaExpr.cc'; then $(CYGPATH_W) 'SynTree/CommaExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CommaExpr.cc'; fi`
-
-SynTree/cfa_cpp-TypeExpr.o: SynTree/TypeExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo -c -o SynTree/cfa_cpp-TypeExpr.o `test -f 'SynTree/TypeExpr.cc' || echo '$(srcdir)/'`SynTree/TypeExpr.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TypeExpr.cc' object='SynTree/cfa_cpp-TypeExpr.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeExpr.o `test -f 'SynTree/TypeExpr.cc' || echo '$(srcdir)/'`SynTree/TypeExpr.cc
-
-SynTree/cfa_cpp-TypeExpr.obj: SynTree/TypeExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo -c -o SynTree/cfa_cpp-TypeExpr.obj `if test -f 'SynTree/TypeExpr.cc'; then $(CYGPATH_W) 'SynTree/TypeExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeExpr.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TypeExpr.cc' object='SynTree/cfa_cpp-TypeExpr.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeExpr.obj `if test -f 'SynTree/TypeExpr.cc'; then $(CYGPATH_W) 'SynTree/TypeExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeExpr.cc'; fi`
-
-SynTree/cfa_cpp-ApplicationExpr.o: SynTree/ApplicationExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ApplicationExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo -c -o SynTree/cfa_cpp-ApplicationExpr.o `test -f 'SynTree/ApplicationExpr.cc' || echo '$(srcdir)/'`SynTree/ApplicationExpr.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/ApplicationExpr.cc' object='SynTree/cfa_cpp-ApplicationExpr.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ApplicationExpr.o `test -f 'SynTree/ApplicationExpr.cc' || echo '$(srcdir)/'`SynTree/ApplicationExpr.cc
-
-SynTree/cfa_cpp-ApplicationExpr.obj: SynTree/ApplicationExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ApplicationExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo -c -o SynTree/cfa_cpp-ApplicationExpr.obj `if test -f 'SynTree/ApplicationExpr.cc'; then $(CYGPATH_W) 'SynTree/ApplicationExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ApplicationExpr.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/ApplicationExpr.cc' object='SynTree/cfa_cpp-ApplicationExpr.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ApplicationExpr.obj `if test -f 'SynTree/ApplicationExpr.cc'; then $(CYGPATH_W) 'SynTree/ApplicationExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ApplicationExpr.cc'; fi`
-
-SynTree/cfa_cpp-AddressExpr.o: SynTree/AddressExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AddressExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo -c -o SynTree/cfa_cpp-AddressExpr.o `test -f 'SynTree/AddressExpr.cc' || echo '$(srcdir)/'`SynTree/AddressExpr.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/AddressExpr.cc' object='SynTree/cfa_cpp-AddressExpr.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AddressExpr.o `test -f 'SynTree/AddressExpr.cc' || echo '$(srcdir)/'`SynTree/AddressExpr.cc
-
-SynTree/cfa_cpp-AddressExpr.obj: SynTree/AddressExpr.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AddressExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo -c -o SynTree/cfa_cpp-AddressExpr.obj `if test -f 'SynTree/AddressExpr.cc'; then $(CYGPATH_W) 'SynTree/AddressExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AddressExpr.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/AddressExpr.cc' object='SynTree/cfa_cpp-AddressExpr.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AddressExpr.obj `if test -f 'SynTree/AddressExpr.cc'; then $(CYGPATH_W) 'SynTree/AddressExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AddressExpr.cc'; fi`
-
-SynTree/cfa_cpp-Statement.o: SynTree/Statement.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Statement.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo -c -o SynTree/cfa_cpp-Statement.o `test -f 'SynTree/Statement.cc' || echo '$(srcdir)/'`SynTree/Statement.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo SynTree/$(DEPDIR)/cfa_cpp-Statement.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Statement.cc' object='SynTree/cfa_cpp-Statement.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Statement.o `test -f 'SynTree/Statement.cc' || echo '$(srcdir)/'`SynTree/Statement.cc
-
-SynTree/cfa_cpp-Statement.obj: SynTree/Statement.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Statement.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo -c -o SynTree/cfa_cpp-Statement.obj `if test -f 'SynTree/Statement.cc'; then $(CYGPATH_W) 'SynTree/Statement.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Statement.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo SynTree/$(DEPDIR)/cfa_cpp-Statement.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Statement.cc' object='SynTree/cfa_cpp-Statement.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Statement.obj `if test -f 'SynTree/Statement.cc'; then $(CYGPATH_W) 'SynTree/Statement.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Statement.cc'; fi`
-
-SynTree/cfa_cpp-CompoundStmt.o: SynTree/CompoundStmt.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CompoundStmt.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo -c -o SynTree/cfa_cpp-CompoundStmt.o `test -f 'SynTree/CompoundStmt.cc' || echo '$(srcdir)/'`SynTree/CompoundStmt.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/CompoundStmt.cc' object='SynTree/cfa_cpp-CompoundStmt.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CompoundStmt.o `test -f 'SynTree/CompoundStmt.cc' || echo '$(srcdir)/'`SynTree/CompoundStmt.cc
-
-SynTree/cfa_cpp-CompoundStmt.obj: SynTree/CompoundStmt.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CompoundStmt.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo -c -o SynTree/cfa_cpp-CompoundStmt.obj `if test -f 'SynTree/CompoundStmt.cc'; then $(CYGPATH_W) 'SynTree/CompoundStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CompoundStmt.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/CompoundStmt.cc' object='SynTree/cfa_cpp-CompoundStmt.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CompoundStmt.obj `if test -f 'SynTree/CompoundStmt.cc'; then $(CYGPATH_W) 'SynTree/CompoundStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CompoundStmt.cc'; fi`
-
-SynTree/cfa_cpp-DeclStmt.o: SynTree/DeclStmt.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclStmt.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo -c -o SynTree/cfa_cpp-DeclStmt.o `test -f 'SynTree/DeclStmt.cc' || echo '$(srcdir)/'`SynTree/DeclStmt.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/DeclStmt.cc' object='SynTree/cfa_cpp-DeclStmt.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclStmt.o `test -f 'SynTree/DeclStmt.cc' || echo '$(srcdir)/'`SynTree/DeclStmt.cc
-
-SynTree/cfa_cpp-DeclStmt.obj: SynTree/DeclStmt.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclStmt.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo -c -o SynTree/cfa_cpp-DeclStmt.obj `if test -f 'SynTree/DeclStmt.cc'; then $(CYGPATH_W) 'SynTree/DeclStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclStmt.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/DeclStmt.cc' object='SynTree/cfa_cpp-DeclStmt.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclStmt.obj `if test -f 'SynTree/DeclStmt.cc'; then $(CYGPATH_W) 'SynTree/DeclStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclStmt.cc'; fi`
-
-SynTree/cfa_cpp-Declaration.o: SynTree/Declaration.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Declaration.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo -c -o SynTree/cfa_cpp-Declaration.o `test -f 'SynTree/Declaration.cc' || echo '$(srcdir)/'`SynTree/Declaration.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo SynTree/$(DEPDIR)/cfa_cpp-Declaration.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Declaration.cc' object='SynTree/cfa_cpp-Declaration.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Declaration.o `test -f 'SynTree/Declaration.cc' || echo '$(srcdir)/'`SynTree/Declaration.cc
-
-SynTree/cfa_cpp-Declaration.obj: SynTree/Declaration.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Declaration.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo -c -o SynTree/cfa_cpp-Declaration.obj `if test -f 'SynTree/Declaration.cc'; then $(CYGPATH_W) 'SynTree/Declaration.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Declaration.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo SynTree/$(DEPDIR)/cfa_cpp-Declaration.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Declaration.cc' object='SynTree/cfa_cpp-Declaration.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Declaration.obj `if test -f 'SynTree/Declaration.cc'; then $(CYGPATH_W) 'SynTree/Declaration.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Declaration.cc'; fi`
-
-SynTree/cfa_cpp-DeclarationWithType.o: SynTree/DeclarationWithType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclarationWithType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo -c -o SynTree/cfa_cpp-DeclarationWithType.o `test -f 'SynTree/DeclarationWithType.cc' || echo '$(srcdir)/'`SynTree/DeclarationWithType.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/DeclarationWithType.cc' object='SynTree/cfa_cpp-DeclarationWithType.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclarationWithType.o `test -f 'SynTree/DeclarationWithType.cc' || echo '$(srcdir)/'`SynTree/DeclarationWithType.cc
-
-SynTree/cfa_cpp-DeclarationWithType.obj: SynTree/DeclarationWithType.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclarationWithType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo -c -o SynTree/cfa_cpp-DeclarationWithType.obj `if test -f 'SynTree/DeclarationWithType.cc'; then $(CYGPATH_W) 'SynTree/DeclarationWithType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclarationWithType.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/DeclarationWithType.cc' object='SynTree/cfa_cpp-DeclarationWithType.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclarationWithType.obj `if test -f 'SynTree/DeclarationWithType.cc'; then $(CYGPATH_W) 'SynTree/DeclarationWithType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclarationWithType.cc'; fi`
-
-SynTree/cfa_cpp-ObjectDecl.o: SynTree/ObjectDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ObjectDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo -c -o SynTree/cfa_cpp-ObjectDecl.o `test -f 'SynTree/ObjectDecl.cc' || echo '$(srcdir)/'`SynTree/ObjectDecl.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/ObjectDecl.cc' object='SynTree/cfa_cpp-ObjectDecl.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ObjectDecl.o `test -f 'SynTree/ObjectDecl.cc' || echo '$(srcdir)/'`SynTree/ObjectDecl.cc
-
-SynTree/cfa_cpp-ObjectDecl.obj: SynTree/ObjectDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ObjectDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo -c -o SynTree/cfa_cpp-ObjectDecl.obj `if test -f 'SynTree/ObjectDecl.cc'; then $(CYGPATH_W) 'SynTree/ObjectDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ObjectDecl.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/ObjectDecl.cc' object='SynTree/cfa_cpp-ObjectDecl.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ObjectDecl.obj `if test -f 'SynTree/ObjectDecl.cc'; then $(CYGPATH_W) 'SynTree/ObjectDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ObjectDecl.cc'; fi`
-
-SynTree/cfa_cpp-FunctionDecl.o: SynTree/FunctionDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo -c -o SynTree/cfa_cpp-FunctionDecl.o `test -f 'SynTree/FunctionDecl.cc' || echo '$(srcdir)/'`SynTree/FunctionDecl.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/FunctionDecl.cc' object='SynTree/cfa_cpp-FunctionDecl.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionDecl.o `test -f 'SynTree/FunctionDecl.cc' || echo '$(srcdir)/'`SynTree/FunctionDecl.cc
-
-SynTree/cfa_cpp-FunctionDecl.obj: SynTree/FunctionDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo -c -o SynTree/cfa_cpp-FunctionDecl.obj `if test -f 'SynTree/FunctionDecl.cc'; then $(CYGPATH_W) 'SynTree/FunctionDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionDecl.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/FunctionDecl.cc' object='SynTree/cfa_cpp-FunctionDecl.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionDecl.obj `if test -f 'SynTree/FunctionDecl.cc'; then $(CYGPATH_W) 'SynTree/FunctionDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionDecl.cc'; fi`
-
-SynTree/cfa_cpp-AggregateDecl.o: SynTree/AggregateDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AggregateDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo -c -o SynTree/cfa_cpp-AggregateDecl.o `test -f 'SynTree/AggregateDecl.cc' || echo '$(srcdir)/'`SynTree/AggregateDecl.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/AggregateDecl.cc' object='SynTree/cfa_cpp-AggregateDecl.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AggregateDecl.o `test -f 'SynTree/AggregateDecl.cc' || echo '$(srcdir)/'`SynTree/AggregateDecl.cc
-
-SynTree/cfa_cpp-AggregateDecl.obj: SynTree/AggregateDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AggregateDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo -c -o SynTree/cfa_cpp-AggregateDecl.obj `if test -f 'SynTree/AggregateDecl.cc'; then $(CYGPATH_W) 'SynTree/AggregateDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AggregateDecl.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/AggregateDecl.cc' object='SynTree/cfa_cpp-AggregateDecl.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AggregateDecl.obj `if test -f 'SynTree/AggregateDecl.cc'; then $(CYGPATH_W) 'SynTree/AggregateDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AggregateDecl.cc'; fi`
-
-SynTree/cfa_cpp-NamedTypeDecl.o: SynTree/NamedTypeDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-NamedTypeDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo -c -o SynTree/cfa_cpp-NamedTypeDecl.o `test -f 'SynTree/NamedTypeDecl.cc' || echo '$(srcdir)/'`SynTree/NamedTypeDecl.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/NamedTypeDecl.cc' object='SynTree/cfa_cpp-NamedTypeDecl.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-NamedTypeDecl.o `test -f 'SynTree/NamedTypeDecl.cc' || echo '$(srcdir)/'`SynTree/NamedTypeDecl.cc
-
-SynTree/cfa_cpp-NamedTypeDecl.obj: SynTree/NamedTypeDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-NamedTypeDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo -c -o SynTree/cfa_cpp-NamedTypeDecl.obj `if test -f 'SynTree/NamedTypeDecl.cc'; then $(CYGPATH_W) 'SynTree/NamedTypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/NamedTypeDecl.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/NamedTypeDecl.cc' object='SynTree/cfa_cpp-NamedTypeDecl.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-NamedTypeDecl.obj `if test -f 'SynTree/NamedTypeDecl.cc'; then $(CYGPATH_W) 'SynTree/NamedTypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/NamedTypeDecl.cc'; fi`
-
-SynTree/cfa_cpp-TypeDecl.o: SynTree/TypeDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo -c -o SynTree/cfa_cpp-TypeDecl.o `test -f 'SynTree/TypeDecl.cc' || echo '$(srcdir)/'`SynTree/TypeDecl.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TypeDecl.cc' object='SynTree/cfa_cpp-TypeDecl.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeDecl.o `test -f 'SynTree/TypeDecl.cc' || echo '$(srcdir)/'`SynTree/TypeDecl.cc
-
-SynTree/cfa_cpp-TypeDecl.obj: SynTree/TypeDecl.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo -c -o SynTree/cfa_cpp-TypeDecl.obj `if test -f 'SynTree/TypeDecl.cc'; then $(CYGPATH_W) 'SynTree/TypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeDecl.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TypeDecl.cc' object='SynTree/cfa_cpp-TypeDecl.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeDecl.obj `if test -f 'SynTree/TypeDecl.cc'; then $(CYGPATH_W) 'SynTree/TypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeDecl.cc'; fi`
-
-SynTree/cfa_cpp-Initializer.o: SynTree/Initializer.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Initializer.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo -c -o SynTree/cfa_cpp-Initializer.o `test -f 'SynTree/Initializer.cc' || echo '$(srcdir)/'`SynTree/Initializer.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo SynTree/$(DEPDIR)/cfa_cpp-Initializer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Initializer.cc' object='SynTree/cfa_cpp-Initializer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Initializer.o `test -f 'SynTree/Initializer.cc' || echo '$(srcdir)/'`SynTree/Initializer.cc
-
-SynTree/cfa_cpp-Initializer.obj: SynTree/Initializer.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Initializer.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo -c -o SynTree/cfa_cpp-Initializer.obj `if test -f 'SynTree/Initializer.cc'; then $(CYGPATH_W) 'SynTree/Initializer.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Initializer.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo SynTree/$(DEPDIR)/cfa_cpp-Initializer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Initializer.cc' object='SynTree/cfa_cpp-Initializer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Initializer.obj `if test -f 'SynTree/Initializer.cc'; then $(CYGPATH_W) 'SynTree/Initializer.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Initializer.cc'; fi`
-
-SynTree/cfa_cpp-Visitor.o: SynTree/Visitor.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Visitor.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo -c -o SynTree/cfa_cpp-Visitor.o `test -f 'SynTree/Visitor.cc' || echo '$(srcdir)/'`SynTree/Visitor.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-Visitor.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Visitor.cc' object='SynTree/cfa_cpp-Visitor.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Visitor.o `test -f 'SynTree/Visitor.cc' || echo '$(srcdir)/'`SynTree/Visitor.cc
-
-SynTree/cfa_cpp-Visitor.obj: SynTree/Visitor.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Visitor.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo -c -o SynTree/cfa_cpp-Visitor.obj `if test -f 'SynTree/Visitor.cc'; then $(CYGPATH_W) 'SynTree/Visitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Visitor.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-Visitor.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Visitor.cc' object='SynTree/cfa_cpp-Visitor.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Visitor.obj `if test -f 'SynTree/Visitor.cc'; then $(CYGPATH_W) 'SynTree/Visitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Visitor.cc'; fi`
-
-SynTree/cfa_cpp-Mutator.o: SynTree/Mutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Mutator.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo -c -o SynTree/cfa_cpp-Mutator.o `test -f 'SynTree/Mutator.cc' || echo '$(srcdir)/'`SynTree/Mutator.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo SynTree/$(DEPDIR)/cfa_cpp-Mutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Mutator.cc' object='SynTree/cfa_cpp-Mutator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Mutator.o `test -f 'SynTree/Mutator.cc' || echo '$(srcdir)/'`SynTree/Mutator.cc
-
-SynTree/cfa_cpp-Mutator.obj: SynTree/Mutator.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Mutator.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo -c -o SynTree/cfa_cpp-Mutator.obj `if test -f 'SynTree/Mutator.cc'; then $(CYGPATH_W) 'SynTree/Mutator.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Mutator.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo SynTree/$(DEPDIR)/cfa_cpp-Mutator.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/Mutator.cc' object='SynTree/cfa_cpp-Mutator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Mutator.obj `if test -f 'SynTree/Mutator.cc'; then $(CYGPATH_W) 'SynTree/Mutator.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Mutator.cc'; fi`
-
-SynTree/cfa_cpp-CodeGenVisitor.o: SynTree/CodeGenVisitor.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CodeGenVisitor.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo -c -o SynTree/cfa_cpp-CodeGenVisitor.o `test -f 'SynTree/CodeGenVisitor.cc' || echo '$(srcdir)/'`SynTree/CodeGenVisitor.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/CodeGenVisitor.cc' object='SynTree/cfa_cpp-CodeGenVisitor.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CodeGenVisitor.o `test -f 'SynTree/CodeGenVisitor.cc' || echo '$(srcdir)/'`SynTree/CodeGenVisitor.cc
-
-SynTree/cfa_cpp-CodeGenVisitor.obj: SynTree/CodeGenVisitor.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CodeGenVisitor.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo -c -o SynTree/cfa_cpp-CodeGenVisitor.obj `if test -f 'SynTree/CodeGenVisitor.cc'; then $(CYGPATH_W) 'SynTree/CodeGenVisitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CodeGenVisitor.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/CodeGenVisitor.cc' object='SynTree/cfa_cpp-CodeGenVisitor.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CodeGenVisitor.obj `if test -f 'SynTree/CodeGenVisitor.cc'; then $(CYGPATH_W) 'SynTree/CodeGenVisitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CodeGenVisitor.cc'; fi`
-
-SynTree/cfa_cpp-TypeSubstitution.o: SynTree/TypeSubstitution.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeSubstitution.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo -c -o SynTree/cfa_cpp-TypeSubstitution.o `test -f 'SynTree/TypeSubstitution.cc' || echo '$(srcdir)/'`SynTree/TypeSubstitution.cc
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TypeSubstitution.cc' object='SynTree/cfa_cpp-TypeSubstitution.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeSubstitution.o `test -f 'SynTree/TypeSubstitution.cc' || echo '$(srcdir)/'`SynTree/TypeSubstitution.cc
-
-SynTree/cfa_cpp-TypeSubstitution.obj: SynTree/TypeSubstitution.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeSubstitution.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo -c -o SynTree/cfa_cpp-TypeSubstitution.obj `if test -f 'SynTree/TypeSubstitution.cc'; then $(CYGPATH_W) 'SynTree/TypeSubstitution.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeSubstitution.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='SynTree/TypeSubstitution.cc' object='SynTree/cfa_cpp-TypeSubstitution.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeSubstitution.obj `if test -f 'SynTree/TypeSubstitution.cc'; then $(CYGPATH_W) 'SynTree/TypeSubstitution.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeSubstitution.cc'; fi`
-
-Tuples/cfa_cpp-Mutate.o: Tuples/Mutate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-Mutate.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o Tuples/cfa_cpp-Mutate.o `test -f 'Tuples/Mutate.cc' || echo '$(srcdir)/'`Tuples/Mutate.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo Tuples/$(DEPDIR)/cfa_cpp-Mutate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/Mutate.cc' object='Tuples/cfa_cpp-Mutate.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-Mutate.o `test -f 'Tuples/Mutate.cc' || echo '$(srcdir)/'`Tuples/Mutate.cc
-
-Tuples/cfa_cpp-Mutate.obj: Tuples/Mutate.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-Mutate.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o Tuples/cfa_cpp-Mutate.obj `if test -f 'Tuples/Mutate.cc'; then $(CYGPATH_W) 'Tuples/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/Mutate.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo Tuples/$(DEPDIR)/cfa_cpp-Mutate.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/Mutate.cc' object='Tuples/cfa_cpp-Mutate.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-Mutate.obj `if test -f 'Tuples/Mutate.cc'; then $(CYGPATH_W) 'Tuples/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/Mutate.cc'; fi`
-
-Tuples/cfa_cpp-AssignExpand.o: Tuples/AssignExpand.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-AssignExpand.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo -c -o Tuples/cfa_cpp-AssignExpand.o `test -f 'Tuples/AssignExpand.cc' || echo '$(srcdir)/'`Tuples/AssignExpand.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/AssignExpand.cc' object='Tuples/cfa_cpp-AssignExpand.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-AssignExpand.o `test -f 'Tuples/AssignExpand.cc' || echo '$(srcdir)/'`Tuples/AssignExpand.cc
-
-Tuples/cfa_cpp-AssignExpand.obj: Tuples/AssignExpand.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-AssignExpand.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo -c -o Tuples/cfa_cpp-AssignExpand.obj `if test -f 'Tuples/AssignExpand.cc'; then $(CYGPATH_W) 'Tuples/AssignExpand.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/AssignExpand.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/AssignExpand.cc' object='Tuples/cfa_cpp-AssignExpand.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-AssignExpand.obj `if test -f 'Tuples/AssignExpand.cc'; then $(CYGPATH_W) 'Tuples/AssignExpand.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/AssignExpand.cc'; fi`
-
-Tuples/cfa_cpp-FunctionFixer.o: Tuples/FunctionFixer.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionFixer.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo -c -o Tuples/cfa_cpp-FunctionFixer.o `test -f 'Tuples/FunctionFixer.cc' || echo '$(srcdir)/'`Tuples/FunctionFixer.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/FunctionFixer.cc' object='Tuples/cfa_cpp-FunctionFixer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionFixer.o `test -f 'Tuples/FunctionFixer.cc' || echo '$(srcdir)/'`Tuples/FunctionFixer.cc
-
-Tuples/cfa_cpp-FunctionFixer.obj: Tuples/FunctionFixer.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionFixer.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo -c -o Tuples/cfa_cpp-FunctionFixer.obj `if test -f 'Tuples/FunctionFixer.cc'; then $(CYGPATH_W) 'Tuples/FunctionFixer.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionFixer.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/FunctionFixer.cc' object='Tuples/cfa_cpp-FunctionFixer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionFixer.obj `if test -f 'Tuples/FunctionFixer.cc'; then $(CYGPATH_W) 'Tuples/FunctionFixer.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionFixer.cc'; fi`
-
-Tuples/cfa_cpp-TupleAssignment.o: Tuples/TupleAssignment.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-TupleAssignment.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo -c -o Tuples/cfa_cpp-TupleAssignment.o `test -f 'Tuples/TupleAssignment.cc' || echo '$(srcdir)/'`Tuples/TupleAssignment.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/TupleAssignment.cc' object='Tuples/cfa_cpp-TupleAssignment.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-TupleAssignment.o `test -f 'Tuples/TupleAssignment.cc' || echo '$(srcdir)/'`Tuples/TupleAssignment.cc
-
-Tuples/cfa_cpp-TupleAssignment.obj: Tuples/TupleAssignment.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-TupleAssignment.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo -c -o Tuples/cfa_cpp-TupleAssignment.obj `if test -f 'Tuples/TupleAssignment.cc'; then $(CYGPATH_W) 'Tuples/TupleAssignment.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/TupleAssignment.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/TupleAssignment.cc' object='Tuples/cfa_cpp-TupleAssignment.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-TupleAssignment.obj `if test -f 'Tuples/TupleAssignment.cc'; then $(CYGPATH_W) 'Tuples/TupleAssignment.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/TupleAssignment.cc'; fi`
-
-Tuples/cfa_cpp-FunctionChecker.o: Tuples/FunctionChecker.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionChecker.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo -c -o Tuples/cfa_cpp-FunctionChecker.o `test -f 'Tuples/FunctionChecker.cc' || echo '$(srcdir)/'`Tuples/FunctionChecker.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/FunctionChecker.cc' object='Tuples/cfa_cpp-FunctionChecker.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionChecker.o `test -f 'Tuples/FunctionChecker.cc' || echo '$(srcdir)/'`Tuples/FunctionChecker.cc
-
-Tuples/cfa_cpp-FunctionChecker.obj: Tuples/FunctionChecker.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionChecker.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo -c -o Tuples/cfa_cpp-FunctionChecker.obj `if test -f 'Tuples/FunctionChecker.cc'; then $(CYGPATH_W) 'Tuples/FunctionChecker.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionChecker.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/FunctionChecker.cc' object='Tuples/cfa_cpp-FunctionChecker.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionChecker.obj `if test -f 'Tuples/FunctionChecker.cc'; then $(CYGPATH_W) 'Tuples/FunctionChecker.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionChecker.cc'; fi`
-
-Tuples/cfa_cpp-NameMatcher.o: Tuples/NameMatcher.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-NameMatcher.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo -c -o Tuples/cfa_cpp-NameMatcher.o `test -f 'Tuples/NameMatcher.cc' || echo '$(srcdir)/'`Tuples/NameMatcher.cc
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/NameMatcher.cc' object='Tuples/cfa_cpp-NameMatcher.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-NameMatcher.o `test -f 'Tuples/NameMatcher.cc' || echo '$(srcdir)/'`Tuples/NameMatcher.cc
-
-Tuples/cfa_cpp-NameMatcher.obj: Tuples/NameMatcher.cc
-@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-NameMatcher.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo -c -o Tuples/cfa_cpp-NameMatcher.obj `if test -f 'Tuples/NameMatcher.cc'; then $(CYGPATH_W) 'Tuples/NameMatcher.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/NameMatcher.cc'; fi`
-@am__fastdepCXX_TRUE@	$(am__mv) Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='Tuples/NameMatcher.cc' object='Tuples/cfa_cpp-NameMatcher.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-NameMatcher.obj `if test -f 'Tuples/NameMatcher.cc'; then $(CYGPATH_W) 'Tuples/NameMatcher.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/NameMatcher.cc'; fi`
-
-.ll.cc:
-	$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
-
-.yy.cc:
-	$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: $(BUILT_SOURCES)
-	$(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-	for dir in "$(DESTDIR)$(cfa_cpplibdir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: $(BUILT_SOURCES)
-	$(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-	-rm -f CodeGen/$(DEPDIR)/$(am__dirstamp)
-	-rm -f CodeGen/$(am__dirstamp)
-	-rm -f Common/$(DEPDIR)/$(am__dirstamp)
-	-rm -f Common/$(am__dirstamp)
-	-rm -f ControlStruct/$(DEPDIR)/$(am__dirstamp)
-	-rm -f ControlStruct/$(am__dirstamp)
-	-rm -f Designators/$(DEPDIR)/$(am__dirstamp)
-	-rm -f Designators/$(am__dirstamp)
-	-rm -f GenPoly/$(DEPDIR)/$(am__dirstamp)
-	-rm -f GenPoly/$(am__dirstamp)
-	-rm -f InitTweak/$(DEPDIR)/$(am__dirstamp)
-	-rm -f InitTweak/$(am__dirstamp)
-	-rm -f Parser/$(DEPDIR)/$(am__dirstamp)
-	-rm -f Parser/$(am__dirstamp)
-	-rm -f ResolvExpr/$(DEPDIR)/$(am__dirstamp)
-	-rm -f ResolvExpr/$(am__dirstamp)
-	-rm -f SymTab/$(DEPDIR)/$(am__dirstamp)
-	-rm -f SymTab/$(am__dirstamp)
-	-rm -f SynTree/$(DEPDIR)/$(am__dirstamp)
-	-rm -f SynTree/$(am__dirstamp)
-	-rm -f Tuples/$(DEPDIR)/$(am__dirstamp)
-	-rm -f Tuples/$(am__dirstamp)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-	-rm -f Parser/lex.cc
-	-rm -f Parser/parser.cc
-	-rm -f Parser/parser.h
-	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-am
-
-clean-am: clean-cfa_cpplibPROGRAMS clean-generic mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) Common/$(DEPDIR) ControlStruct/$(DEPDIR) Designators/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-cfa_cpplibPROGRAMS
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) Common/$(DEPDIR) ControlStruct/$(DEPDIR) Designators/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-cfa_cpplibPROGRAMS
-
-.MAKE: all check install install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean \
-	clean-cfa_cpplibPROGRAMS clean-generic ctags distclean \
-	distclean-compile distclean-generic distclean-tags distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-cfa_cpplibPROGRAMS install-data install-data-am \
-	install-dvi install-dvi-am install-exec install-exec-am \
-	install-html install-html-am install-info install-info-am \
-	install-man install-pdf install-pdf-am install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
-	ps ps-am tags uninstall uninstall-am \
-	uninstall-cfa_cpplibPROGRAMS
-
-
-#SRC +=  ArgTweak/Rewriter.cc \
-#	ArgTweak/Mutate.cc
-
-#	Tuples/MultipleAssign.cc \
-#	Tuples/FlattenTuple.cc \
-#	Tuples/MultRet.cc \
-#	Tuples/FixReturn.cc \
-#	Tuples/MassAssignment.cc \
-#	Tuples/TupleFixer.cc
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+distclean: clean
Index: src/Parser/DeclarationNode.cc
===================================================================
--- src/Parser/DeclarationNode.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/DeclarationNode.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 12:34:05 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 23:36:03 2015
-// Update Count     : 105
+// Last Modified On : Thu May 21 09:28:54 2015
+// Update Count     : 13
 //
 
@@ -21,20 +21,14 @@
 
 #include "TypeData.h"
-
-#include "SynTree/Declaration.h"
 #include "SynTree/Expression.h"
 
-#include "Parser.h"
-#include "TypedefTable.h"
-extern TypedefTable typedefTable;
 
 using namespace std;
 
 // These must remain in the same order as the corresponding DeclarationNode enumerations.
-const char *DeclarationNode::storageName[] = { "extern", "static", "auto", "register", "inline", "fortran", "_Noreturn", "_Thread_local", "" };
 const char *DeclarationNode::qualifierName[] = { "const", "restrict", "volatile", "lvalue", "_Atomic" };
 const char *DeclarationNode::basicTypeName[] = { "char", "int", "float", "double", "void", "_Bool", "_Complex", "_Imaginary" };
-const char *DeclarationNode::modifierName[]  = { "signed", "unsigned", "short", "long" };
-const char *DeclarationNode::aggregateName[] = { "struct", "union", "context" };
+const char *DeclarationNode::modifierName[] = { "signed", "unsigned", "short", "long" };
+const char *DeclarationNode::tyConName[] = { "struct", "union", "context" };
 const char *DeclarationNode::typeClassName[] = { "type", "dtype", "ftype" };
 
@@ -69,32 +63,42 @@
 }
 
+const char *storageClassName[] = {
+	// order must correspond with DeclarationNode::StorageClass
+	"extern",
+	"static",
+	"auto",
+	"register",
+	"inline",
+	"fortran",
+};
+
 void DeclarationNode::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' );
+	os << string(indent, ' ' );
 	if ( name == "" ) {
 		os << "unnamed: ";
 	} else {
 		os << name << ": ";
-	} // if
+	}
 
 	if ( linkage != LinkageSpec::Cforall ) {
 		os << LinkageSpec::toString( linkage ) << " ";
-	} // if
-
-	printEnums( storageClasses.begin(), storageClasses.end(), DeclarationNode::storageName, os );
+	}
+
+	printEnums( storageClasses.begin(), storageClasses.end(), storageClassName, os );
 	if ( type ) {
 		type->print( os, indent );
 	} else {
 		os << "untyped entity ";
-	} // if
+	}
 
 	if ( bitfieldWidth ) {
-		os << endl << string( indent + 2, ' ' ) << "with bitfield width ";
+		os << endl << string(indent+2,  ' ') << "with bitfield width ";
 		bitfieldWidth->printOneLine( os );
-	} // if
+	}
 
 	if ( initializer != 0 ) {
-		os << endl << string( indent + 2, ' ' ) << "with initializer ";
+		os << endl << string(indent+2,  ' ') << "with initializer ";
 		initializer->printOneLine( os );
-	} // if
+	}
 
 	os << endl;
@@ -105,5 +109,5 @@
 	if ( hasEllipsis ) {
 		os << string( indent, ' ' )  << "and a variable number of other arguments" << endl;
-	} // if
+	}
 }
 
@@ -119,5 +123,5 @@
 	if ( body ) {
 		newnode->type->function->hasBody = true;
-	} // if
+	}
 
 	if ( ret ) {
@@ -125,5 +129,5 @@
 		ret->type = 0;
 		delete ret;
-	} // if
+	}
 
 	return newnode;
@@ -137,5 +141,5 @@
 }
 
-DeclarationNode *DeclarationNode::newStorageClass( DeclarationNode::StorageClass sc ) {
+DeclarationNode *DeclarationNode::newStorageClass( StorageClass sc ) {
 	DeclarationNode *newnode = new DeclarationNode;
 	newnode->storageClasses.push_back( sc );
@@ -157,5 +161,5 @@
 }
 
-DeclarationNode *DeclarationNode::newForall( DeclarationNode *forall ) {
+DeclarationNode *DeclarationNode::newForall( DeclarationNode* forall ) {
 	DeclarationNode *newnode = new DeclarationNode;
 	newnode->type = new TypeData( TypeData::Unknown );
@@ -164,5 +168,5 @@
 }
 
-DeclarationNode *DeclarationNode::newFromTypedef( std::string *name ) {
+DeclarationNode *DeclarationNode::newFromTypedef( std::string* name ) {
 	DeclarationNode *newnode = new DeclarationNode;
 	newnode->type = new TypeData( TypeData::SymbolicInst );
@@ -173,5 +177,5 @@
 }
 
-DeclarationNode *DeclarationNode::newAggregate( Aggregate kind, std::string *name, ExpressionNode *actuals, DeclarationNode *fields ) {
+DeclarationNode *DeclarationNode::newAggregate( TyCon kind, std::string* name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) {
 	DeclarationNode *newnode = new DeclarationNode;
 	newnode->type = new TypeData( TypeData::Aggregate );
@@ -180,15 +184,8 @@
 	if ( newnode->type->aggregate->name == "" ) {
 		newnode->type->aggregate->name = DeclarationNode::anonymous.newName();
-	} // if
-
-	// SKULLDUGGERY: generate a typedef for the aggregate name so that the aggregate does not have to be qualified by
-	// "struct"
-	typedefTable.addToEnclosingScope( newnode->type->aggregate->name, TypedefTable::TD );
-	DeclarationNode *typedf = new DeclarationNode;
-	typedf->name = newnode->type->aggregate->name;
-	newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() );
-
+	}
+	newnode->type->aggregate->params = formals;
 	newnode->type->aggregate->actuals = actuals;
-	newnode->type->aggregate->fields = fields;
+	newnode->type->aggregate->members = fields;
 	return newnode;
 }
@@ -201,18 +198,10 @@
 	if ( newnode->type->enumeration->name == "" ) {
 		newnode->type->enumeration->name = DeclarationNode::anonymous.newName();
-	} // if
-
-	// SKULLDUGGERY: generate a typedef for the enumeration name so that the enumeration does not have to be qualified
-	// by "enum"
-	typedefTable.addToEnclosingScope( newnode->type->enumeration->name, TypedefTable::TD );
-	DeclarationNode *typedf = new DeclarationNode;
-	typedf->name = newnode->type->enumeration->name;
-	newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() );
-
+	}
 	newnode->type->enumeration->constants = constants;
 	return newnode;
 }
 
-DeclarationNode *DeclarationNode::newEnumConstant( std::string *name, ExpressionNode *constant ) {
+DeclarationNode *DeclarationNode::newEnumConstant( std::string* name, ExpressionNode *constant ) {
 	DeclarationNode *newnode = new DeclarationNode;
 	newnode->name = assign_strptr( name );
@@ -221,5 +210,5 @@
 }
 
-DeclarationNode *DeclarationNode::newName( std::string *name ) {
+DeclarationNode *DeclarationNode::newName( std::string* name ) {
 	DeclarationNode *newnode = new DeclarationNode;
 	newnode->name = assign_strptr( name );
@@ -227,5 +216,5 @@
 }
 
-DeclarationNode *DeclarationNode::newFromTypeGen( std::string *name, ExpressionNode *params ) {
+DeclarationNode *DeclarationNode::newFromTypeGen( std::string* name, ExpressionNode *params ) {
 	DeclarationNode *newnode = new DeclarationNode;
 	newnode->type = new TypeData( TypeData::SymbolicInst );
@@ -236,5 +225,5 @@
 }
 
-DeclarationNode *DeclarationNode::newTypeParam( TypeClass tc, std::string *name ) {
+DeclarationNode *DeclarationNode::newTypeParam( TypeClass tc, std::string* name ) {
 	DeclarationNode *newnode = new DeclarationNode;
 	newnode->name = assign_strptr( name );
@@ -250,5 +239,5 @@
 	newnode->type->aggregate->kind = Context;
 	newnode->type->aggregate->params = params;
-	newnode->type->aggregate->fields = asserts;
+	newnode->type->aggregate->members = asserts;
 	newnode->type->aggregate->name = assign_strptr( name );
 	return newnode;
@@ -342,7 +331,7 @@
 			} else {
 				dst->forall = src->forall;
-			} // if
+			}
 			src->forall = 0;
-		} // if
+		}
 		if ( dst->base ) {
 			addQualifiersToType( src, dst->base );
@@ -352,6 +341,6 @@
 		} else {
 			dst->qualifiers.splice( dst->qualifiers.end(), src->qualifiers );
-		} // if
-	} // if
+		}
+	}
 }
 	  
@@ -362,5 +351,5 @@
 			if ( ! type ) {
 				type = new TypeData;
-			} // if
+			}
 			addQualifiersToType( q->type, type );
 			if ( q->type && q->type->forall ) {
@@ -368,16 +357,10 @@
 					type->forall->appendList( q->type->forall );
 				} else {
-					if ( type->kind == TypeData::Aggregate ) {
-						type->aggregate->params = q->type->forall;
-						// change implicit typedef from TYPEDEFname to TYPEGENname
-						typedefTable.changeKind( type->aggregate->name, TypedefTable::TG );
-					} else {
-						type->forall = q->type->forall;
-					} // if
-				} // if
+					type->forall = q->type->forall;
+				}
 				q->type->forall = 0;
-			} // if
-		} // if
-	} // if
+			}
+		}
+	}
 	delete q;
 	return this;
@@ -396,7 +379,7 @@
 			} else {
 				dst->forall = src->forall;
-			} // if
+			}
 			src->forall = 0;
-		} // if
+		}
 		if ( dst->base ) {
 			addTypeToType( src, dst->base );
@@ -408,4 +391,5 @@
 				src = 0;
 				break;
+
 			  case TypeData::Basic:
 				dst->qualifiers.splice( dst->qualifiers.end(), src->qualifiers );
@@ -414,6 +398,7 @@
 					dst->basic->modifiers.splice( dst->basic->modifiers.end(), src->basic->modifiers );
 					dst->basic->typeSpec.splice( dst->basic->typeSpec.end(), src->basic->typeSpec );
-				} // if
+				}
 				break;
+
 			  default:
 				switch ( src->kind ) {
@@ -424,8 +409,9 @@
 					if ( src->kind == TypeData::Aggregate ) {
 						dst->base->aggInst->params = maybeClone( src->aggregate->actuals );
-					} // if
+					}
 					dst->base->qualifiers.splice( dst->base->qualifiers.end(), src->qualifiers );
 					src = 0;
 					break;
+
 				  default:
 					if ( dst->forall ) {
@@ -433,12 +419,12 @@
 					} else {
 						dst->forall = src->forall;
-					} // if
+					}
 					src->forall = 0;
 					dst->base = src;
 					src = 0;
-				} // switch
-			} // switch
-		} // if
-	} // if
+				}
+			}
+		}
+	}
 }
 
@@ -453,18 +439,18 @@
 					if ( o->type->kind == TypeData::Aggregate ) {
 						type->aggInst->params = maybeClone( o->type->aggregate->actuals );
-					} // if
+					}
 					type->qualifiers.splice( type->qualifiers.end(), o->type->qualifiers );
 				} else {
 					type = o->type;
-				} // if
+				}
 				o->type = 0;
 			} else {
 				addTypeToType( o->type, type );
-			} // if
-		} // if
+			}
+		}
 		if ( o->bitfieldWidth ) {
 			bitfieldWidth = o->bitfieldWidth;
-		} // if
-	} // if
+		}
+	}
 	delete o;
 	return this;
@@ -481,5 +467,5 @@
 }
 
-DeclarationNode *DeclarationNode::addAssertions( DeclarationNode *assertions ) {
+DeclarationNode *DeclarationNode::addAssertions( DeclarationNode* assertions ) {
 	assert( type );
 	switch ( type->kind ) {
@@ -489,6 +475,7 @@
 		} else {
 			type->symbolic->assertions = assertions;
-		} // if
+		}
 		break;
+	
 	  case TypeData::Variable:
 		if ( type->variable->assertions ) {
@@ -496,14 +483,15 @@
 		} else {
 			type->variable->assertions = assertions;
-		} // if
+		}
 		break;
+	
 	  default:
 		assert( false );
-	} // switch
+	}
 	
 	return this;
 }
 
-DeclarationNode *DeclarationNode::addName( std::string *newname ) {
+DeclarationNode *DeclarationNode::addName( std::string* newname ) {
 	name = assign_strptr( newname );
 	return this;
@@ -538,5 +526,6 @@
 }
 
-static void setBase( TypeData *&type, TypeData *newType ) {
+static void
+setBase( TypeData *&type, TypeData *newType ) {
 	if ( type ) {
 		TypeData *prevBase = type;
@@ -545,9 +534,9 @@
 			prevBase = curBase;
 			curBase = curBase->base;
-		} // while
+		}
 		prevBase->base = newType;
 	} else {
 		type = newType;
-	} // if
+	}
 }
 
@@ -558,5 +547,5 @@
 		p->type = 0;
 		delete p;
-	} // if
+	}
 	return this;
 }
@@ -568,5 +557,5 @@
 		a->type = 0;
 		delete a;
-	} // if
+	}
 	return this;
 }
@@ -583,5 +572,5 @@
 				if ( type->kind == TypeData::Aggregate ) {
 					p->type->base->aggInst->params = maybeClone( type->aggregate->actuals );
-				} // if
+				}
 				p->type->base->qualifiers.splice( p->type->base->qualifiers.end(), type->qualifiers );
 				break;
@@ -589,12 +578,12 @@
 			  default:
 				p->type->base = type;
-			} // switch
+			}
 			type = 0;
-		} // if
+		}
 		delete this;
 		return p;
 	} else {
 		return this;
-	} // if
+	}
 }
 
@@ -604,5 +593,5 @@
 	while ( cur->base ) {
 		cur = cur->base;
-	} // while
+	}
 	return cur;
 }
@@ -620,17 +609,17 @@
 				if ( type->kind == TypeData::Aggregate ) {
 					lastArray->base->aggInst->params = maybeClone( type->aggregate->actuals );
-				} // if
+				}
 				lastArray->base->qualifiers.splice( lastArray->base->qualifiers.end(), type->qualifiers );
 				break;
 			  default:
 				lastArray->base = type;
-			} // switch
+			}
 			type = 0;
-		} // if
+		}
 		delete this;
 		return a;
 	} else {
 		return this;
-	} // if
+	}
 }
 
@@ -648,5 +637,5 @@
 		} else {
 			type->function->idList = ids;
-		} // if
+		}
 		return type;
 	} else {
@@ -654,5 +643,5 @@
 		newtype->function->idList = ids;
 		return newtype;
-	} // if
+	}
 }
 	
@@ -673,5 +662,5 @@
 	while ( srcType->base ) {
 		srcType = srcType->base;
-	} // while
+	}
 	newnode->type = maybeClone( srcType );
 	if ( newnode->type->kind == TypeData::AggregateInst ) {
@@ -682,8 +671,8 @@
 		} else {
 			assert( newnode->type->aggInst->aggregate->kind == TypeData::Aggregate );
-			delete newnode->type->aggInst->aggregate->aggregate->fields;
-			newnode->type->aggInst->aggregate->aggregate->fields = 0;
-		} // if
-	} // if
+			delete newnode->type->aggInst->aggregate->aggregate->members;
+			newnode->type->aggInst->aggregate->aggregate->members = 0;
+		}
+	}
 	newnode->type->forall = maybeClone( type->forall );
 	newnode->storageClasses = storageClasses;
@@ -699,5 +688,5 @@
 			while ( srcType->base ) {
 				srcType = srcType->base;
-			} // while
+			}
 			TypeData *newType = srcType->clone();
 			if ( newType->kind == TypeData::AggregateInst ) {
@@ -708,8 +697,8 @@
 				} else {
 					assert( newType->aggInst->aggregate->kind == TypeData::Aggregate );
-					delete newType->aggInst->aggregate->aggregate->fields;
-					newType->aggInst->aggregate->aggregate->fields = 0;
-				} // if
-			} // if
+					delete newType->aggInst->aggregate->aggregate->members;
+					newType->aggInst->aggregate->aggregate->members = 0;
+				}
+			}
 			newType->forall = maybeClone( type->forall );
 			if ( ! o->type ) {
@@ -718,7 +707,7 @@
 				addTypeToType( newType, o->type );
 				delete newType;
-			} // if
-		} // if
-	} // if
+			}
+		}
+	}
 	return o;
 }
@@ -742,7 +731,7 @@
 				addTypeToType( newType, o->type );
 				delete newType;
-			} // if
-		} // if
-	} // if
+			}
+		}
+	}
 	return o;
 }
@@ -751,5 +740,5 @@
 	if ( node != 0 ) {
 		set_link( node );
-	} // if
+	}
 	return this;
 }
@@ -767,7 +756,7 @@
 }
 
-void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList ) {
+void buildList( const DeclarationNode *firstNode, std::list< Declaration* > &outputList ) {
 	SemanticError errors;
-	std::back_insert_iterator< std::list< Declaration *> > out( outputList );
+	std::back_insert_iterator< std::list< Declaration* > > out( outputList );
 	const DeclarationNode *cur = firstNode;
 	while ( cur ) {
@@ -787,5 +776,5 @@
 			errors.append( e );
 		} // try
-		cur = dynamic_cast< DeclarationNode *>( cur->get_link() );
+		cur = dynamic_cast< DeclarationNode* >( cur->get_link() );
 	} // while
 	if ( ! errors.isEmpty() ) {
@@ -794,7 +783,7 @@
 }
 
-void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType *> &outputList ) {
+void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType* > &outputList ) {
 	SemanticError errors;
-	std::back_insert_iterator< std::list< DeclarationWithType *> > out( outputList );
+	std::back_insert_iterator< std::list< DeclarationWithType* > > out( outputList );
 	const DeclarationNode *cur = firstNode;
 	while ( cur ) {
@@ -810,13 +799,13 @@
 			Declaration *decl = cur->build();
 			if ( decl ) {
-				if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType *>( decl ) ) {
+				if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( decl ) ) {
 					*out++ = dwt;
-				} else if ( StructDecl *agg = dynamic_cast< StructDecl *>( decl ) ) {
+				} else if ( StructDecl *agg = dynamic_cast< StructDecl* >( decl ) ) {
 					StructInstType *inst = new StructInstType( Type::Qualifiers(), agg->get_name() );
-					*out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 );
+					*out++ = new ObjectDecl( "", Declaration::NoStorageClass, linkage, 0, inst, 0 );
 					delete agg;
-				} else if ( UnionDecl *agg = dynamic_cast< UnionDecl *>( decl ) ) {
+				} else if ( UnionDecl *agg = dynamic_cast< UnionDecl* >( decl ) ) {
 					UnionInstType *inst = new UnionInstType( Type::Qualifiers(), agg->get_name() );
-					*out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 );
+					*out++ = new ObjectDecl( "", Declaration::NoStorageClass, linkage, 0, inst, 0 );
 				} // if
 			} // if
@@ -824,5 +813,5 @@
 			errors.append( e );
 		} // try
-		cur = dynamic_cast< DeclarationNode *>( cur->get_link() );
+		cur = dynamic_cast< DeclarationNode* >( cur->get_link() );
 	} // while
 	if ( ! errors.isEmpty() ) {
@@ -831,7 +820,7 @@
 }
 
-void buildTypeList( const DeclarationNode *firstNode, std::list< Type *> &outputList ) {
+void buildTypeList( const DeclarationNode *firstNode, std::list< Type* > &outputList ) {
 	SemanticError errors;
-	std::back_insert_iterator< std::list< Type *> > out( outputList );
+	std::back_insert_iterator< std::list< Type* > > out( outputList );
 	const DeclarationNode *cur = firstNode;
 	while ( cur ) {
@@ -841,5 +830,5 @@
 			errors.append( e );
 		} // try
-		cur = dynamic_cast< DeclarationNode *>( cur->get_link() );
+		cur = dynamic_cast< DeclarationNode* >( cur->get_link() );
 	} // while
 	if ( ! errors.isEmpty() ) {
@@ -850,11 +839,11 @@
 Declaration *DeclarationNode::build() const {
 	if ( type ) {
-		Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildFuncSpecifier( Inline ), buildFuncSpecifier( Noreturn ), linkage, maybeBuild< Initializer >(initializer) );
+		Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildInline(), linkage, maybeBuild< Initializer >(initializer) );
 		return newDecl;
 	} // if
-	if ( ! buildFuncSpecifier( Inline ) && ! buildFuncSpecifier( Noreturn ) ) {
+	if ( ! buildInline() ) {
 		return new ObjectDecl( name, buildStorageClass(), linkage, maybeBuild< Expression >( bitfieldWidth ), 0, maybeBuild< Initializer >( initializer ) );
 	} // if
-	throw SemanticError( "invalid function specifier in declaration of ", this );
+	throw SemanticError( "invalid inline specification in declaration of ", this );
 }
 
@@ -893,22 +882,32 @@
 }
 
-DeclarationNode::StorageClass DeclarationNode::buildStorageClass() const {
-	DeclarationNode::StorageClass ret = DeclarationNode::NoStorageClass;
-	for ( std::list< DeclarationNode::StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) {
-	  if ( *i == DeclarationNode::Inline || *i == DeclarationNode::Noreturn ) continue; // ignore function specifiers
-	  if ( ret != DeclarationNode::NoStorageClass ) {	// already have a valid storage class ?
+Declaration::StorageClass DeclarationNode::buildStorageClass() const {
+	static const Declaration::StorageClass scMap[] = {  
+		Declaration::Extern,
+		Declaration::Static,
+		Declaration::Auto,
+		Declaration::Register,
+		Declaration::Inline,
+		Declaration::Fortran
+	};  
+  
+	Declaration::StorageClass ret = Declaration::NoStorageClass;
+	for ( std::list< StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) {
+		assert( unsigned( *i ) < sizeof( scMap ) / sizeof( scMap[0] ) );
+	  if ( *i == Inline ) continue;
+	  if ( ret != Declaration::NoStorageClass ) {
 			throw SemanticError( "invalid combination of storage classes in declaration of ", this );
-		} // if
-		ret = *i;
-	} // for
+		}
+		ret = scMap[ *i ];
+	}
 	return ret;
 }
 
-bool DeclarationNode::buildFuncSpecifier( DeclarationNode::StorageClass key ) const {
-	std::list< DeclarationNode::StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), key );
-  if ( first == storageClasses.end() ) return false;	// not found
-	first = std::find( ++first, storageClasses.end(), key ); // found
-  if ( first == storageClasses.end() ) return true;		// not found again
-	throw SemanticError( "duplicate function specifier in declaration of ", this );
+bool DeclarationNode::buildInline() const {
+	std::list< StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), Inline );
+  if ( first == storageClasses.end() ) return false;
+	std::list< StorageClass >::const_iterator next = std::find( ++first, storageClasses.end(), Inline );
+  if ( next == storageClasses.end() ) return true;
+	throw SemanticError( "duplicate inline specification in declaration of ", this );
 }
 
Index: src/Parser/ExpressionNode.cc
===================================================================
--- src/Parser/ExpressionNode.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/ExpressionNode.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Sat May 16 13:17:07 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 24 16:20:00 2015
-// Update Count     : 158
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat May 16 13:19:35 2015
+// Update Count     : 2
 // 
 
@@ -17,11 +17,10 @@
 #include <cctype>
 #include <algorithm>
-#include <sstream>
-#include <cstdio>
-#include <climits>
 
 #include "ParseNode.h"
+#include "SynTree/Type.h"
 #include "SynTree/Constant.h"
 #include "SynTree/Expression.h"
+#include "SynTree/Declaration.h"
 #include "UnimplementedError.h"
 #include "parseutility.h"
@@ -32,5 +31,7 @@
 ExpressionNode::ExpressionNode() : ParseNode(), argName( 0 ) {}
 
-ExpressionNode::ExpressionNode( const string *name_ ) : ParseNode( name_ ), argName( 0 ) {}
+ExpressionNode::ExpressionNode( string *name_) : ParseNode( *name_ ), argName( 0 ) {
+	delete name_;
+}
 
 ExpressionNode::ExpressionNode( const ExpressionNode &other ) : ParseNode( other.name ) {
@@ -42,5 +43,5 @@
 }
 
-ExpressionNode * ExpressionNode::set_asArgName( const std::string *aName ) {
+ExpressionNode * ExpressionNode::set_asArgName( std::string *aName ) {
 	argName = new VarRefNode( aName );
 	return this;
@@ -54,5 +55,5 @@
 void ExpressionNode::printDesignation( std::ostream &os, int indent ) const {
 	if ( argName ) {
-		os << string( indent, ' ' ) << "(designated by:  ";
+		os << string(' ', indent ) << "(designated by:  ";
 		argName->printOneLine( os, indent );
 		os << ")" << std::endl;
@@ -60,6 +61,4 @@
 }
 
-//##############################################################################
-
 NullExprNode::NullExprNode() {}
 
@@ -86,151 +85,115 @@
 }
 
-//##############################################################################
-
-static inline bool checkU( char c ) { return c == 'u' || c == 'U'; }
-static inline bool checkL( char c ) { return c == 'l' || c == 'L'; }
-static inline bool checkF( char c ) { return c == 'f' || c == 'F'; }
-static inline bool checkX( char c ) { return c == 'x' || c == 'X'; }
-
-// Difficult to separate extra parts of constants during lexing because actions are not allow in the middle of patterns:
-//
-//		prefix action constant action suffix
-//
-// Alternatively, breaking a pattern using BEGIN does not work if the following pattern can be empty:
-//
-//		constant BEGIN CONT ...
-//		<CONT>(...)? BEGIN 0 ... // possible empty suffix
-//
-// because the CONT rule is NOT triggered if the pattern is empty. Hence, constants are reparsed here to determine their
-// type.
-
-ConstantNode::ConstantNode( Type t, string *inVal ) : type( t ), value( *inVal ) {
-	// lexing divides constants into 4 kinds
+//  enum ConstantNode::Type =  { Integer, Float, Character, String, Range }
+
+ConstantNode::ConstantNode( void ) : ExpressionNode(), sign( true ), longs(0), size(0) {}
+
+ConstantNode::ConstantNode( string *name_) : ExpressionNode( name_), sign( true ), longs(0), size(0) {}
+
+ConstantNode::ConstantNode( Type t, string *inVal ) : type( t ), sign( true ), longs(0), size(0) {
+	if ( inVal ) {
+		value = *inVal;
+		delete inVal;
+	} else {
+		value = "";
+	} // if
+
+	classify( value );
+}
+
+ConstantNode::ConstantNode( const ConstantNode &other ) : ExpressionNode( other ), type( other.type ), value( other.value ), sign( other.sign ),
+														  base( other.base ), longs( other.longs ), size( other.size ) {
+}
+
+// for some reason, std::tolower doesn't work as an argument to std::transform in g++ 3.1
+inline char tolower_hack( char c ) {
+	return std::tolower( c );
+}
+
+void ConstantNode::classify( std::string &str ) {
 	switch ( type ) {
 	  case Integer:
-		{
-			static const BasicType::Kind kind[2][3] = {
-				{ BasicType::SignedInt, BasicType::LongSignedInt, BasicType::LongLongSignedInt },
-				{ BasicType::UnsignedInt, BasicType::LongUnsignedInt, BasicType::LongLongUnsignedInt },
-			};
-			size_t last = value.length() - 1;			// last character of constant
-			unsigned long long v;						// converted integral value
-			bool dec = true, Unsigned = false;			// decimal, unsigned constant
-			int size;									// 0 => int, 1 => long, 2 => long long
-
-			if ( value[0] == '0' ) {					// octal constant ?
-				dec = false;
-				if ( last != 0 && checkX( value[1] ) ) { // hex constant ?
-					sscanf( (char *)value.c_str(), "%llx", &v );
-					//printf( "%llx %llu\n", v, v );
-				} else {
-					sscanf( (char *)value.c_str(), "%llo", &v );
-					//printf( "%llo %llu\n", v, v );
-				} // if
-			} else {									// decimal constant ?
-				sscanf( (char *)value.c_str(), "%llu", &v );
-				//printf( "%llu %llu\n", v, v );
-			} // if
-
-			if ( v <= INT_MAX ) {						// signed int
-				size = 0;
-			} else if ( v <= UINT_MAX && ! dec ) {		// unsigned int
-				size = 0;
-				Unsigned = true;						// unsigned
-			} else if ( v <= LONG_MAX ) {				// signed long int
-				size = 1;
-			} else if ( v <= ULONG_MAX && ( ! dec || LONG_MAX == LLONG_MAX ) ) { // signed long int
-				size = 1;
-				Unsigned = true;						// unsigned long int
-			} else if ( v <= LLONG_MAX ) {				// signed long long int
-				size = 2;
-			} else {									// unsigned long long int
-				size = 2;
-				Unsigned = true;						// unsigned long long int
-			} // if
-
-			if ( checkU( value[last] ) ) {				// suffix 'u' ?
-				Unsigned = true;
-				if ( last > 0 && checkL( value[ last - 1 ] ) ) { // suffix 'l' ?
-					size = 1;
-					if ( last > 1 && checkL( value[ last - 2 ] ) ) { // suffix 'll' ?
-						size = 2;
-					} // if
-				} // if
-			} else if ( checkL( value[ last ] ) ) {		// suffix 'l' ?
-				size = 1;
-				if ( last > 0 && checkL( value[ last - 1 ] ) ) { // suffix 'll' ?
-					size = 2;
-					if ( last > 1 && checkU( value[ last - 2 ] ) ) { // suffix 'u' ?
-						Unsigned = true;
-					} // if
-				} else {
-					if ( last > 0 && checkU( value[ last - 1 ] ) ) { // suffix 'u' ?
-						Unsigned = true;
-					} // if
-				} // if
-			} // if
-			btype = kind[Unsigned][size];				// lookup constant type
-			break;
-		}
 	  case Float:
 		{
-			size_t len = value.length() - 1;
-
-			btype = BasicType::Double;					// default
-			if ( checkF( value[len] ) ) {				// float ?
-				btype = BasicType::Float;
+			std::string sfx("");
+			char c;
+			int i = str.length() - 1;
+
+			while ( i >= 0 && ! isxdigit( c = str.at( i--)) )
+				sfx += c;
+
+			value = str.substr( 0, i + 2 );
+
+			// get rid of underscores
+			value.erase( remove( value.begin(), value.end(), '_'), value.end());
+
+			std::transform( sfx.begin(), sfx.end(), sfx.begin(), tolower_hack );
+
+			if ( sfx.find("ll") != string::npos ) {
+				longs = 2;
+			} else if ( sfx.find("l") != string::npos ) {
+				longs = 1;
 			} // if
-			if ( checkL( value[len] ) ) {				// long double ?
-				btype = BasicType::LongDouble;
-			} // if
+
+			assert(( longs >= 0) && ( longs <= 2));
+
+			if ( sfx.find("u") != string::npos )
+				sign = false;
+
 			break;
 		}
 	  case Character:
-		btype = BasicType::Char;						// default
-		if ( string( "LUu" ).find( value[0] ) != string::npos ) {
-			// ???
-		} // if
+		{
+			// remove underscores from hex and oct escapes
+			if ( str.substr(1,2) == "\\x")
+				value.erase( remove( value.begin(), value.end(), '_'), value.end());
+
+			break;
+		}
+	  default:
+		// shouldn't be here
+		;
+	}
+}
+
+ConstantNode::Type ConstantNode::get_type( void ) const {
+	return type;
+}
+
+ConstantNode *ConstantNode::append( std::string *newValue ) {
+	if ( newValue ) {
+		if ( type == String ) {
+			std::string temp = *newValue;
+			value.resize( value.size() - 1 );
+			value += newValue->substr(1, newValue->size());
+		} else
+			value += *newValue;
+
+		delete newValue;
+	} // if
+	return this;
+}
+
+void ConstantNode::printOneLine( std::ostream &os, int indent ) const {
+	os << string( indent, ' ');
+	printDesignation( os );
+
+	switch ( type ) {
+		/* integers */
+	  case Integer:
+		os << value ;
 		break;
-	  case String:
-		// array of char
-		if ( string( "LUu" ).find( value[0] ) != string::npos ) {
-			if ( value[0] == 'u' && value[1] == '8' ) {
-				// ???
-			} else {
-				// ???
-			} // if
-		} // if
-		break;
-	} // switch
-} // ConstantNode::ConstantNode
-
-ConstantNode *ConstantNode::appendstr( const std::string *newValue ) {
-	assert( newValue != 0 );
-	assert( type == String );
-
-	// "abc" "def" "ghi" => "abcdefghi", so remove new text from quotes and insert before last quote in old string.
-	value.insert( value.length() - 1, newValue->substr( 1, newValue->length() - 2 ) );
-	
-	delete newValue;									// allocated by lexer
-	return this;
-}
-
-void ConstantNode::printOneLine( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' );
-	printDesignation( os );
-
-	switch ( type ) {
-	  case Integer:
 	  case Float:
 		os << value ;
 		break;
+
 	  case Character:
 		os << "'" << value << "'";
 		break;
+
 	  case String:
 		os << '"' << value << '"';
 		break;
-	} // switch
+	}
 
 	os << ' ';
@@ -243,27 +206,35 @@
 
 Expression *ConstantNode::build() const {
-	::Type::Qualifiers q;								// no qualifiers on constants
-
-	switch ( get_type() ) {
+	::Type::Qualifiers q;
+	BasicType *bt;
+
+	switch ( get_type()) {
+	  case Integer:
+		/* Cfr. standard 6.4.4.1 */
+		//bt.set_kind( BasicType::SignedInt );
+		bt = new BasicType( q, BasicType::SignedInt );
+		break;
+	  case Float:
+		bt = new BasicType( q, BasicType::Float );
+		break;
+	  case Character:
+		bt = new BasicType( q, BasicType::Char );
+		break;
 	  case String:
-		{
-			// string should probably be a primitive type
-			ArrayType *at = new ArrayType( q, new BasicType( q, BasicType::Char ),
-										   new ConstantExpr(
-											   Constant( new BasicType( q, BasicType::UnsignedInt ),
-														 toString( value.size()+1-2 ) ) ),  // +1 for '\0' and -2 for '"'
-										   false, false );
-			return new ConstantExpr( Constant( at, value ), maybeBuild< Expression >( get_argName() ) );
-		}
-	  default:
-		return new ConstantExpr( Constant( new BasicType( q, btype ), get_value() ), maybeBuild< Expression >( get_argName() ) );
+		// string should probably be a primitive type
+		ArrayType *at;
+		std::string value = get_value();
+		at = new ArrayType( q, new BasicType( q, BasicType::Char ),
+							new ConstantExpr( Constant( new BasicType( q, BasicType::SignedInt ),
+														toString( value.size() - 1 ) ) ),  // account for '\0'
+							false, false );
+		return new ConstantExpr( Constant( at, value ), maybeBuild< Expression >( get_argName() ) );
 	}
-}
-
-//##############################################################################
+	return new ConstantExpr(  Constant( bt, get_value()),  maybeBuild< Expression >( get_argName() ) );
+}
 
 VarRefNode::VarRefNode() : isLabel( false ) {}
 
-VarRefNode::VarRefNode( const string *name_, bool labelp ) : ExpressionNode( name_ ), isLabel( labelp ) {}
+VarRefNode::VarRefNode( string *name_, bool labelp ) : ExpressionNode( name_), isLabel( labelp ) {}
 
 VarRefNode::VarRefNode( const VarRefNode &other ) : ExpressionNode( other ), isLabel( other.isLabel ) {
@@ -281,11 +252,9 @@
 void VarRefNode::print( std::ostream &os, int indent ) const {
 	printDesignation( os );
-	os << string( indent, ' ' ) << "Referencing: ";
+	os << '\r' << string( indent, ' ') << "Referencing: ";
 	os << "Variable: " << get_name();
 	os << endl;
 }
 
-//##############################################################################
-
 OperatorNode::OperatorNode( Type t ) : type( t ) {}
 
@@ -306,10 +275,10 @@
 void OperatorNode::print( std::ostream &os, int indent ) const{
 	printDesignation( os );
-	os << string( indent, ' ' ) << "Operator: " << OpName[type] << endl;
+	os << '\r' << string( indent, ' ') << "Operator: " << OpName[type] << endl;
 	return;
 }
 
-const char *OperatorNode::get_typename( void ) const{
-	return OpName[ type ];
+std::string OperatorNode::get_typename( void ) const{
+	return string( OpName[ type ]);
 }
 
@@ -319,5 +288,5 @@
 	"Cond",   "NCond",
 	// diadic
-	"SizeOf",     "AlignOf", "Attr", "CompLit", "Plus",    "Minus",   "Mul",     "Div",     "Mod",      "Or",
+	"SizeOf",      "AlignOf", "Attr", "CompLit", "Plus",    "Minus",   "Mul",     "Div",     "Mod",      "Or",
 	"And",       "BitOr",   "BitAnd",  "Xor",     "Cast",    "LShift",  "RShift",  "LThan",   "GThan",
 	"LEThan",    "GEThan", "Eq",      "Neq",     "Assign",  "MulAssn", "DivAssn", "ModAssn", "PlusAssn",
@@ -328,10 +297,8 @@
 };
 
-//##############################################################################
-
 CompositeExprNode::CompositeExprNode( void ) : ExpressionNode(), function( 0 ), arguments( 0 ) {
 }
 
-CompositeExprNode::CompositeExprNode( const string *name_ ) : ExpressionNode( name_ ), function( 0 ), arguments( 0 ) {
+CompositeExprNode::CompositeExprNode( string *name_) : ExpressionNode( name_), function( 0 ), arguments( 0 ) {
 }
 
@@ -364,13 +331,13 @@
 // the names that users use to define operator functions
 static const char *opFuncName[] = {
-	"",		"",		"",
-	"",		"",
-	//diadic
-	"",		"",		"",		"",		"?+?",		"?-?",	"?*?",	"?/?",	"?%?",	"",		 "",
-	"?|?",		"?&?",		"?^?",	"",		"?<<?",	"?>>?",	"?<?",	"?>?",	"?<=?",
-	"?>=?",		"?==?",		"?!=?",	"?=?",	"?*=?",	"?/=?",	"?%=?",	"?+=?",	"?-=?",
-	"?<<=?",	"?>>=?",	"?&=?",	"?^=?",	"?|=?",	"?[?]",	"",		"",		"Range",
-	//monadic
-	"+?",		"-?",		"",		"*?",	"!?",	"~?",	"++?",	"?++",	"--?",	"?--",	"&&"
+	"",  "", "",
+	"",   "",
+	// diadic
+	"",   "", "", "", "?+?",    "?-?",   "?*?",     "?/?",     "?%?",     "",       "",
+	"?|?",  "?&?",  "?^?",     "",    "?<<?",  "?>>?",  "?<?",   "?>?",    "?<=?",
+	"?>=?", "?==?",      "?!=?",     "?=?",  "?*=?", "?/=?", "?%=?", "?+=?", "?-=?",
+	"?<<=?", "?>>=?",  "?&=?", "?^=?",  "?|=?",  "?[?]",   "","","Range",
+	// monadic
+	"+?", "-?", "", "*?", "!?", "~?", "++?", "?++", "--?", "?--", "LabAddress"
 };
 
@@ -383,191 +350,192 @@
 	buildList( get_args(), args );
 
-	if ( ! ( op = dynamic_cast<OperatorNode *>( function ) ) ) { // function as opposed to operator
+	if ( ! ( op = dynamic_cast<OperatorNode *>( function )) ) {
+		// a function as opposed to an operator
 		return new UntypedExpr( function->build(), args, maybeBuild< Expression >( get_argName() ));
-	} // if
-
-	switch ( op->get_type()) {
-	  case OperatorNode::Incr:
-	  case OperatorNode::Decr:
-	  case OperatorNode::IncrPost:
-	  case OperatorNode::DecrPost:
-	  case OperatorNode::Assign:
-	  case OperatorNode::MulAssn:
-	  case OperatorNode::DivAssn:
-	  case OperatorNode::ModAssn:
-	  case OperatorNode::PlusAssn:
-	  case OperatorNode::MinusAssn:
-	  case OperatorNode::LSAssn:
-	  case OperatorNode::RSAssn:
-	  case OperatorNode::AndAssn:
-	  case OperatorNode::ERAssn:
-	  case OperatorNode::OrAssn:
-		// the rewrite rules for these expressions specify that the first argument has its address taken
-		assert( ! args.empty() );
-		args.front() = new AddressExpr( args.front() );
-		break;
-	  default:
-		/* do nothing */
-		;
-	}
-
-	switch ( op->get_type() ) {
-	  case OperatorNode::Incr:
-	  case OperatorNode::Decr:
-	  case OperatorNode::IncrPost:
-	  case OperatorNode::DecrPost:
-	  case OperatorNode::Assign:
-	  case OperatorNode::MulAssn:
-	  case OperatorNode::DivAssn:
-	  case OperatorNode::ModAssn:
-	  case OperatorNode::PlusAssn:
-	  case OperatorNode::MinusAssn:
-	  case OperatorNode::LSAssn:
-	  case OperatorNode::RSAssn:
-	  case OperatorNode::AndAssn:
-	  case OperatorNode::ERAssn:
-	  case OperatorNode::OrAssn:
-	  case OperatorNode::Plus:
-	  case OperatorNode::Minus:
-	  case OperatorNode::Mul:
-	  case OperatorNode::Div:
-	  case OperatorNode::Mod:
-	  case OperatorNode::BitOr:
-	  case OperatorNode::BitAnd:
-	  case OperatorNode::Xor:
-	  case OperatorNode::LShift:
-	  case OperatorNode::RShift:
-	  case OperatorNode::LThan:
-	  case OperatorNode::GThan:
-	  case OperatorNode::LEThan:
-	  case OperatorNode::GEThan:
-	  case OperatorNode::Eq:
-	  case OperatorNode::Neq:
-	  case OperatorNode::Index:
-	  case OperatorNode::Range:
-	  case OperatorNode::UnPlus:
-	  case OperatorNode::UnMinus:
-	  case OperatorNode::PointTo:
-	  case OperatorNode::Neg:
-	  case OperatorNode::BitNeg:
-	  case OperatorNode::LabelAddress:
-		return new UntypedExpr( new NameExpr( opFuncName[ op->get_type() ] ), args );
-	  case OperatorNode::AddressOf:
-		assert( args.size() == 1 );
-		assert( args.front() );
-
-		return new AddressExpr( args.front() );
-	  case OperatorNode::Cast:
-		{
-			TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args());
-			assert( arg );
-
-			DeclarationNode *decl_node = arg->get_decl();
-			ExpressionNode *expr_node = dynamic_cast<ExpressionNode *>( arg->get_link());
-
-			Type *targetType = decl_node->buildType();
-			if ( dynamic_cast< VoidType* >( targetType ) ) {
-				delete targetType;
-				return new CastExpr( expr_node->build(), maybeBuild< Expression >( get_argName() ) );
-			} else {
-				return new CastExpr( expr_node->build(),targetType, maybeBuild< Expression >( get_argName() ) );
-			} // if
+	} else {
+		switch ( op->get_type()) {
+		  case OperatorNode::Incr:
+		  case OperatorNode::Decr:
+		  case OperatorNode::IncrPost:
+		  case OperatorNode::DecrPost:
+		  case OperatorNode::Assign:
+		  case OperatorNode::MulAssn:
+		  case OperatorNode::DivAssn:
+		  case OperatorNode::ModAssn:
+		  case OperatorNode::PlusAssn:
+		  case OperatorNode::MinusAssn:
+		  case OperatorNode::LSAssn:
+		  case OperatorNode::RSAssn:
+		  case OperatorNode::AndAssn:
+		  case OperatorNode::ERAssn:
+		  case OperatorNode::OrAssn:
+			// the rewrite rules for these expressions specify that the first argument has its address taken
+			assert( ! args.empty() );
+			args.front() = new AddressExpr( args.front() );
+			break;
+		  default:
+			/* do nothing */
+			;
 		}
-	  case OperatorNode::FieldSel:
-		{
-			assert( args.size() == 2 );
-
-			NameExpr *member = dynamic_cast<NameExpr *>( args.back());
-			// TupleExpr *memberTup = dynamic_cast<TupleExpr *>( args.back());
-
-			if ( member != 0 ) {
-				UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), args.front());
+
+		switch ( op->get_type() ) {
+		  case OperatorNode::Incr:
+		  case OperatorNode::Decr:
+		  case OperatorNode::IncrPost:
+		  case OperatorNode::DecrPost:
+		  case OperatorNode::Assign:
+		  case OperatorNode::MulAssn:
+		  case OperatorNode::DivAssn:
+		  case OperatorNode::ModAssn:
+		  case OperatorNode::PlusAssn:
+		  case OperatorNode::MinusAssn:
+		  case OperatorNode::LSAssn:
+		  case OperatorNode::RSAssn:
+		  case OperatorNode::AndAssn:
+		  case OperatorNode::ERAssn:
+		  case OperatorNode::OrAssn:
+		  case OperatorNode::Plus:
+		  case OperatorNode::Minus:
+		  case OperatorNode::Mul:
+		  case OperatorNode::Div:
+		  case OperatorNode::Mod:
+		  case OperatorNode::BitOr:
+		  case OperatorNode::BitAnd:
+		  case OperatorNode::Xor:
+		  case OperatorNode::LShift:
+		  case OperatorNode::RShift:
+		  case OperatorNode::LThan:
+		  case OperatorNode::GThan:
+		  case OperatorNode::LEThan:
+		  case OperatorNode::GEThan:
+		  case OperatorNode::Eq:
+		  case OperatorNode::Neq:
+		  case OperatorNode::Index:
+		  case OperatorNode::Range:
+		  case OperatorNode::UnPlus:
+		  case OperatorNode::UnMinus:
+		  case OperatorNode::PointTo:
+		  case OperatorNode::Neg:
+		  case OperatorNode::BitNeg:
+		  case OperatorNode::LabelAddress:
+			return new UntypedExpr( new NameExpr( opFuncName[ op->get_type() ] ), args );
+		  case OperatorNode::AddressOf:
+			assert( args.size() == 1 );
+			assert( args.front() );
+
+			return new AddressExpr( args.front() );
+		  case OperatorNode::Cast:
+			{
+				TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args());
+				assert( arg );
+
+				DeclarationNode *decl_node = arg->get_decl();
+				ExpressionNode *expr_node = dynamic_cast<ExpressionNode *>( arg->get_link());
+
+				Type *targetType = decl_node->buildType();
+				if ( dynamic_cast< VoidType* >( targetType ) ) {
+					delete targetType;
+					return new CastExpr( expr_node->build(), maybeBuild< Expression >( get_argName() ) );
+				} else {
+					return new CastExpr( expr_node->build(),targetType, maybeBuild< Expression >( get_argName() ) );
+				} // if
+			}
+		  case OperatorNode::FieldSel:
+			{
+				assert( args.size() == 2 );
+
+				NameExpr *member = dynamic_cast<NameExpr *>( args.back());
+				// TupleExpr *memberTup = dynamic_cast<TupleExpr *>( args.back());
+
+				if ( member != 0 ) {
+					UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), args.front());
+					delete member;
+					return ret;
+					/* else if ( memberTup != 0 )
+					   {
+					   UntypedMemberExpr *ret = new UntypedMemberExpr( memberTup->get_name(), args.front());
+					   delete member;
+					   return ret;
+					   } */
+				} else
+					assert( false );
+			}
+		  case OperatorNode::PFieldSel:
+			{
+				assert( args.size() == 2 );
+
+				NameExpr *member = dynamic_cast<NameExpr *>( args.back());  // modify for Tuples   xxx
+				assert( member != 0 );
+
+				UntypedExpr *deref = new UntypedExpr( new NameExpr( "*?" ) );
+				deref->get_args().push_back( args.front() );
+
+				UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), deref );
 				delete member;
 				return ret;
-				/* else if ( memberTup != 0 )
-				   {
-				   UntypedMemberExpr *ret = new UntypedMemberExpr( memberTup->get_name(), args.front());
-				   delete member;
-				   return ret;
-				   } */
-			} else
-				assert( false );
+			}
+		  case OperatorNode::AlignOf:
+		  case OperatorNode::SizeOf:
+			{
+/// 	bool isSizeOf = ( op->get_type() == OperatorNode::SizeOf );
+
+				if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()) ) {
+					return new SizeofExpr( arg->get_decl()->buildType());
+				} else {
+					return new SizeofExpr( args.front());
+				} // if
+			}
+		  case OperatorNode::Attr:
+			{
+				VarRefNode *var = dynamic_cast<VarRefNode *>( get_args());
+				assert( var );
+				if ( ! get_args()->get_link() ) {
+					return new AttrExpr( var->build(), ( Expression*)0);
+				} else if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()->get_link()) ) {
+					return new AttrExpr( var->build(), arg->get_decl()->buildType());
+				} else {
+					return new AttrExpr( var->build(), args.back());
+				} // if
+			}
+		  case OperatorNode::CompLit:
+			throw UnimplementedError( "C99 compound literals" );
+			// the short-circuited operators
+		  case OperatorNode::Or:
+		  case OperatorNode::And:
+			assert( args.size() == 2);
+			return new LogicalExpr( notZeroExpr( args.front() ), notZeroExpr( args.back() ), ( op->get_type() == OperatorNode::And ) );
+		  case OperatorNode::Cond:
+			{
+				assert( args.size() == 3);
+				std::list< Expression* >::const_iterator i = args.begin();
+				Expression *arg1 = notZeroExpr( *i++ );
+				Expression *arg2 = *i++;
+				Expression *arg3 = *i++;
+				return new ConditionalExpr( arg1, arg2, arg3 );
+			}
+		  case OperatorNode::NCond:
+			throw UnimplementedError( "GNU 2-argument conditional expression" );
+		  case OperatorNode::Comma:
+			{
+				assert( args.size() == 2);
+				std::list< Expression* >::const_iterator i = args.begin();
+				Expression *ret = *i++;
+				while ( i != args.end() ) {
+					ret = new CommaExpr( ret, *i++ );
+				}
+				return ret;
+			}
+			// Tuples
+		  case OperatorNode::TupleC:
+			{
+				TupleExpr *ret = new TupleExpr();
+				std::copy( args.begin(), args.end(), back_inserter( ret->get_exprs() ) );
+				return ret;
+			}
+		  default:
+			// shouldn't happen
+			return 0;
 		}
-	  case OperatorNode::PFieldSel:
-		{
-			assert( args.size() == 2 );
-
-			NameExpr *member = dynamic_cast<NameExpr *>( args.back());  // modify for Tuples   xxx
-			assert( member != 0 );
-
-			UntypedExpr *deref = new UntypedExpr( new NameExpr( "*?" ) );
-			deref->get_args().push_back( args.front() );
-
-			UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), deref );
-			delete member;
-			return ret;
-		}
-	  case OperatorNode::AlignOf:
-	  case OperatorNode::SizeOf:
-		{
-/// 	bool isSizeOf = ( op->get_type() == OperatorNode::SizeOf );
-
-			if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()) ) {
-				return new SizeofExpr( arg->get_decl()->buildType());
-			} else {
-				return new SizeofExpr( args.front());
-			} // if
-		}
-	  case OperatorNode::Attr:
-		{
-			VarRefNode *var = dynamic_cast<VarRefNode *>( get_args());
-			assert( var );
-			if ( ! get_args()->get_link() ) {
-				return new AttrExpr( var->build(), ( Expression*)0);
-			} else if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()->get_link()) ) {
-				return new AttrExpr( var->build(), arg->get_decl()->buildType());
-			} else {
-				return new AttrExpr( var->build(), args.back());
-			} // if
-		}
-	  case OperatorNode::CompLit:
-		throw UnimplementedError( "C99 compound literals" );
-		// the short-circuited operators
-	  case OperatorNode::Or:
-	  case OperatorNode::And:
-		assert( args.size() == 2);
-		return new LogicalExpr( notZeroExpr( args.front() ), notZeroExpr( args.back() ), ( op->get_type() == OperatorNode::And ) );
-	  case OperatorNode::Cond:
-		{
-			assert( args.size() == 3);
-			std::list< Expression* >::const_iterator i = args.begin();
-			Expression *arg1 = notZeroExpr( *i++ );
-			Expression *arg2 = *i++;
-			Expression *arg3 = *i++;
-			return new ConditionalExpr( arg1, arg2, arg3 );
-		}
-	  case OperatorNode::NCond:
-		throw UnimplementedError( "GNU 2-argument conditional expression" );
-	  case OperatorNode::Comma:
-		{
-			assert( args.size() == 2);
-			std::list< Expression* >::const_iterator i = args.begin();
-			Expression *ret = *i++;
-			while ( i != args.end() ) {
-				ret = new CommaExpr( ret, *i++ );
-			}
-			return ret;
-		}
-		// Tuples
-	  case OperatorNode::TupleC:
-		{
-			TupleExpr *ret = new TupleExpr();
-			std::copy( args.begin(), args.end(), back_inserter( ret->get_exprs() ) );
-			return ret;
-		}
-	  default:
-		// shouldn't happen
-		return 0;
-	} // switch
+	}
 }
 
@@ -584,8 +552,8 @@
 void CompositeExprNode::print( std::ostream &os, int indent ) const {
 	printDesignation( os );
-	os << string( indent, ' ' ) << "Application of: " << endl;
+	os << '\r' << string( indent, ' ') << "Application of: " << endl;
 	function->print( os, indent + ParseNode::indent_by );
 
-	os << string( indent, ' ' ) ;
+	os << '\r' << string( indent, ' ') ;
 	if ( arguments ) {
 		os << "... on arguments: " << endl;
@@ -618,6 +586,4 @@
 }
 
-//##############################################################################
-
 CommaExprNode::CommaExprNode(): CompositeExprNode( new OperatorNode( OperatorNode::Comma )) {}
 
@@ -637,6 +603,4 @@
 }
 
-//##############################################################################
-
 ValofExprNode::ValofExprNode( StatementNode *s ): body( s ) {}
 
@@ -650,5 +614,5 @@
 void ValofExprNode::print( std::ostream &os, int indent ) const {
 	printDesignation( os );
-	os << string( indent, ' ' ) << "Valof Expression:" << std::endl;
+	os << string( indent, ' ') << "Valof Expression:" << std::endl;
 	get_body()->print( os, indent + 4);
 }
@@ -661,6 +625,4 @@
 	return new UntypedValofExpr ( get_body()->build(), maybeBuild< Expression >( get_argName() ) );
 }
-
-//##############################################################################
 
 ForCtlExprNode::ForCtlExprNode( ParseNode *init_, ExpressionNode *cond, ExpressionNode *incr ) throw ( SemanticError ) : condition( cond ), change( incr ) {
@@ -671,5 +633,5 @@
 		ExpressionNode *exp;
 
-		if (( decl = dynamic_cast<DeclarationNode *>(init_) ) != 0)
+		if (( decl = dynamic_cast<DeclarationNode *>( init_)) != 0)
 			init = new StatementNode( decl );
 		else if (( exp = dynamic_cast<ExpressionNode *>( init_)) != 0)
@@ -697,16 +659,16 @@
 
 void ForCtlExprNode::print( std::ostream &os, int indent ) const{
-	os << string( indent,' ' ) << "For Control Expression -- :" << endl;
-
-	os << string( indent + 2, ' ' ) << "initialization:" << endl;
-	if ( init != 0 )
-		init->printList( os, indent + 4 );
-
-	os << string( indent + 2, ' ' ) << "condition: " << endl;
-	if ( condition != 0 )
-		condition->print( os, indent + 4 );
-	os << string( indent + 2, ' ' ) << "increment: " << endl;
-	if ( change != 0 )
-		change->print( os, indent + 4 );
+	os << string( indent,' ') << "For Control Expression -- : " << endl;
+
+	os << "\r" << string( indent + 2,' ') << "initialization: ";
+	if ( init != 0)
+		init->print( os, indent + 4);
+
+	os << "\n\r" << string( indent + 2,' ') << "condition: ";
+	if ( condition != 0)
+		condition->print( os, indent + 4);
+	os << "\n\r" << string( indent + 2,' ') << "increment: ";
+	if ( change != 0)
+		change->print( os, indent + 4);
 }
 
@@ -715,10 +677,10 @@
 }
 
-//##############################################################################
-
-TypeValueNode::TypeValueNode( DeclarationNode *decl ) : decl( decl ) {
-}
-
-TypeValueNode::TypeValueNode( const TypeValueNode &other ) : ExpressionNode( other ), decl( maybeClone( other.decl ) ) {
+TypeValueNode::TypeValueNode( DeclarationNode *decl )
+	: decl( decl ) {
+}
+
+TypeValueNode::TypeValueNode( const TypeValueNode &other )
+	: ExpressionNode( other ), decl( maybeClone( other.decl ) ) {
 }
 
@@ -738,12 +700,14 @@
 
 ExpressionNode *flattenCommas( ExpressionNode *list ) {
-	if ( CompositeExprNode *composite = dynamic_cast< CompositeExprNode * >( list ) ) {
-		OperatorNode *op;
-		if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::Comma ) ) {
-			if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) )
-				composite->add_arg( next );
-			return flattenCommas( composite->get_args() );
-		} // if
-	} // if
+	if ( CompositeExprNode *composite = dynamic_cast< CompositeExprNode * >( list ) )
+		{
+			OperatorNode *op;
+			if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::Comma ) )
+				{
+					if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) )
+						composite->add_arg( next );
+					return flattenCommas( composite->get_args() );
+				}
+		}
 
 	if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) )
@@ -758,5 +722,5 @@
 		if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::TupleC ) )
 			return composite->get_args();
-	} // if
+	}
 	return tuple;
 }
Index: src/Parser/InitializerNode.cc
===================================================================
--- src/Parser/InitializerNode.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/InitializerNode.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:20:24 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun  6 15:49:42 2015
-// Update Count     : 3
+// Last Modified On : Sat May 16 13:21:40 2015
+// Update Count     : 2
 // 
 
@@ -48,5 +48,5 @@
 
 void InitializerNode::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Initializer expression" << std::endl;
+	os << std::string(indent, ' ') << "Initializer expression" << std::endl;
 }
 
Index: src/Parser/ParseNode.cc
===================================================================
--- src/Parser/ParseNode.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/ParseNode.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:26:29 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun  6 20:17:58 2015
-// Update Count     : 23
+// Last Modified On : Tue May 19 16:48:30 2015
+// Update Count     : 3
 // 
 
@@ -20,16 +20,32 @@
 int ParseNode::indent_by = 4;
 
-ParseNode::ParseNode() : name( 0 ), next( 0 ) {};
-ParseNode::ParseNode( const string *name_ ) : name( name_ ), next( 0 ) {}
+ParseNode::ParseNode( void ) : next( 0 ) {};
+ParseNode::ParseNode( string _name ) : name( _name ), next( 0 ) {}
 
-ParseNode::~ParseNode() {
+ParseNode *ParseNode::set_name( string _name ) {
+	name = _name;
+	return this;
+}
+
+ParseNode *ParseNode::set_name( string *_name ) {
+	name = *_name; // deep copy
+	delete _name;
+
+	return this;
+}
+
+ParseNode::~ParseNode( void ) {
 	delete next;
 };
 
-ParseNode *ParseNode::get_link() const {
+string ParseNode::get_name( void ) {
+	return name;
+}
+
+ParseNode *ParseNode::get_link( void ) const {
 	return next;
 }
 
-ParseNode *ParseNode::get_last() {
+ParseNode *ParseNode::get_last(void) {
 	ParseNode *current = this;
 
@@ -40,16 +56,20 @@
 }
 
-ParseNode *ParseNode::set_link( ParseNode *next_ ) {
+ParseNode *ParseNode::set_link(ParseNode *_next) {
 	ParseNode *follow;
 
-	if ( next_ == 0 ) return this;
+	if ( _next == 0 ) return this;
 
 	for ( follow = this; follow->next != 0; follow = follow->next );
-	follow->next = next_;
+	follow->next = _next;
 
 	return this;
 }
 
-void ParseNode::print( std::ostream &os, int indent ) const {}
+const string ParseNode::get_name(void) const {
+	return name;
+}
+
+void ParseNode::print(std::ostream &os, int indent) const {}
 
 
@@ -58,6 +78,6 @@
 
 	if ( next ) {
-		next->printList( os, indent );
-	} // if
+	next->printList( os, indent );
+	}
 }
 
Index: src/Parser/ParseNode.h
===================================================================
--- src/Parser/ParseNode.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/ParseNode.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:28:16 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jun 25 17:27:42 2015
-// Update Count     : 83
+// Last Modified On : Sat May 16 13:30:24 2015
+// Update Count     : 3
 //
 
@@ -22,7 +22,5 @@
 
 #include "utility.h"
-#include "Parser/LinkageSpec.h"
-#include "SynTree/Type.h"
-//#include "SynTree/Declaration.h"
+#include "SynTree/Declaration.h"
 #include "UniqueName.h"
 
@@ -38,10 +36,15 @@
 class ParseNode {
   public:
-	ParseNode();
-	ParseNode( const std::string * );
-	virtual ~ParseNode();
-
-	ParseNode *get_link() const;
-	ParseNode *get_last();
+	ParseNode( void );
+	ParseNode ( std::string );
+	virtual ~ParseNode( void );
+
+	ParseNode *set_name ( std::string ) ;
+	ParseNode *set_name ( std::string * ) ;
+
+	std::string get_name( void );
+
+	ParseNode *get_link( void ) const;
+	ParseNode *get_last( void );
 	ParseNode *set_link( ParseNode * );
 	void set_next( ParseNode *newlink ) { next = newlink; }
@@ -49,5 +52,5 @@
 	virtual ParseNode *clone() const { return 0; };
 
-	const std::string &get_name() const { return *name; }
+	const std::string get_name( void ) const;
 	virtual void print( std::ostream &, int indent = 0 ) const;
 	virtual void printList( std::ostream &, int indent = 0 ) const;
@@ -55,5 +58,5 @@
 	ParseNode &operator,( ParseNode &);
   protected:
-	const std::string *name;
+	std::string name;
 	ParseNode *next;
 	static int indent_by;
@@ -65,5 +68,5 @@
   public:
 	ExpressionNode();
-	ExpressionNode( const std::string * );
+	ExpressionNode( std::string * );
 	ExpressionNode( const ExpressionNode &other );
 	virtual ~ExpressionNode() {} // cannot delete asArgName because it might be referenced elsewhere
@@ -74,5 +77,5 @@
 
 	ExpressionNode *get_argName() const { return argName; }
-	ExpressionNode *set_asArgName( const std::string *aName );
+	ExpressionNode *set_asArgName( std::string *aName );
 	ExpressionNode *set_asArgName( ExpressionNode *aDesignator );
 
@@ -102,21 +105,30 @@
 class ConstantNode : public ExpressionNode {
   public:
-	enum Type { Integer, Float, Character, String };
-
+	enum Type {
+		Integer, Float, Character, String /* , Range, EnumConstant  */
+	};
+
+	ConstantNode( void );
+	ConstantNode( std::string * );
 	ConstantNode( Type, std::string * );
+	ConstantNode( const ConstantNode &other );
 
 	virtual ConstantNode *clone() const { return new ConstantNode( *this ); }
-	Type get_type( void ) const { return type; }
+
+	Type get_type( void ) const ;
 	virtual void print( std::ostream &, int indent = 0) const;
 	virtual void printOneLine( std::ostream &, int indent = 0) const;
 
-	const std::string &get_value() const { return value; }
-	ConstantNode *appendstr( const std::string *newValue );
+	std::string get_value() const { return value; }
+	ConstantNode *append( std::string *newValue );
 
 	Expression *build() const;
   private:
+	void classify( std::string &);
 	Type type;
-	BasicType::Kind btype;
-	std::string &value;
+	std::string value;
+	bool sign;
+	short base;
+	int longs, size;
 };
 
@@ -124,5 +136,5 @@
   public:
 	VarRefNode();
-	VarRefNode( const std::string *, bool isLabel = false );
+	VarRefNode( std::string *, bool isLabel = false );
 	VarRefNode( const VarRefNode &other );
 
@@ -131,6 +143,6 @@
 	virtual VarRefNode *clone() const { return new VarRefNode( *this ); }
 
-	virtual void print( std::ostream &, int indent = 0 ) const;
-	virtual void printOneLine( std::ostream &, int indent = 0 ) const;
+	virtual void print( std::ostream &, int indent = 0) const;
+	virtual void printOneLine( std::ostream &, int indent = 0) const;
   private:
 	bool isLabel;
@@ -171,6 +183,6 @@
 	virtual OperatorNode *clone() const { return new OperatorNode( *this ); }
 
-	Type get_type() const;
-	const char *get_typename() const;
+	Type get_type( void ) const;
+	std::string get_typename( void ) const;
 
 	virtual void print( std::ostream &, int indent = 0) const;
@@ -186,6 +198,6 @@
 class CompositeExprNode : public ExpressionNode {
   public:
-	CompositeExprNode();
-	CompositeExprNode( const std::string * );
+	CompositeExprNode( void );
+	CompositeExprNode( std::string * );
 	CompositeExprNode( ExpressionNode *f, ExpressionNode *args = 0 );
 	CompositeExprNode( ExpressionNode *f, ExpressionNode *arg1, ExpressionNode *arg2 );
@@ -266,15 +278,14 @@
   public:
 	enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute };
-	enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, };
+	enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran };
 	enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary };
-	enum Modifier  { Signed, Unsigned, Short, Long };
-	enum Aggregate { Struct, Union, Context };
+	enum Modifier { Signed, Unsigned, Short, Long };
+	enum TyCon { Struct, Union, Context };
 	enum TypeClass { Type, Dtype, Ftype };
 
-	static const char *storageName[];  
 	static const char *qualifierName[];
 	static const char *basicTypeName[];
 	static const char *modifierName[];
-	static const char *aggregateName[];
+	static const char *tyConName[];
 	static const char *typeClassName[];
 
@@ -287,9 +298,9 @@
 	static DeclarationNode *newForall( DeclarationNode *);
 	static DeclarationNode *newFromTypedef( std::string *);
-	static DeclarationNode *newAggregate( Aggregate kind, std::string *name, ExpressionNode *actuals, DeclarationNode *fields );
+	static DeclarationNode *newAggregate( TyCon kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );
 	static DeclarationNode *newEnum( std::string *name, DeclarationNode *constants );
 	static DeclarationNode *newEnumConstant( std::string *name, ExpressionNode *constant );
 	static DeclarationNode *newName( std::string *);
-	static DeclarationNode *newFromTypeGen( std::string *, ExpressionNode *params );
+	static DeclarationNode *newFromTypeGen( std::string*, ExpressionNode *params );
 	static DeclarationNode *newTypeParam( TypeClass, std::string *);
 	static DeclarationNode *newContext( std::string *name, DeclarationNode *params, DeclarationNode *asserts );
@@ -302,6 +313,6 @@
 	static DeclarationNode *newTuple( DeclarationNode *members );
 	static DeclarationNode *newTypeof( ExpressionNode *expr );
-	static DeclarationNode *newAttr( std::string *, ExpressionNode *expr );
-	static DeclarationNode *newAttr( std::string *, DeclarationNode *type );
+	static DeclarationNode *newAttr( std::string*, ExpressionNode *expr );
+	static DeclarationNode *newAttr( std::string*, DeclarationNode *type );
 
 	DeclarationNode *addQualifiers( DeclarationNode *);
@@ -329,5 +340,5 @@
 	DeclarationNode *cloneBaseType( DeclarationNode *newdecl );
 
-	DeclarationNode *appendList( DeclarationNode * );
+	DeclarationNode *appendList( DeclarationNode  *);
 
 	DeclarationNode *clone() const;
@@ -339,5 +350,5 @@
 
 	bool get_hasEllipsis() const;
-	const std::string &get_name() const { return name; }
+	std::string get_name() const { return name; }
 	LinkageSpec::Type get_linkage() const { return linkage; }
 	DeclarationNode *extractAggregate() const;
@@ -346,6 +357,6 @@
 	~DeclarationNode();
   private:
-	StorageClass buildStorageClass() const;
-	bool buildFuncSpecifier( StorageClass key ) const;
+	Declaration::StorageClass buildStorageClass() const;
+	bool buildInline() const;
 
 	TypeData *type;
@@ -369,6 +380,6 @@
 	};
 
-	StatementNode();
-	StatementNode( const std::string * );
+	StatementNode( void );
+	StatementNode( std::string );
 	StatementNode( Type, ExpressionNode *e = 0, StatementNode *s = 0 );
 	StatementNode( Type, std::string *target );
@@ -376,7 +387,7 @@
 
 
-	~StatementNode();
-
-	static StatementNode *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false );
+	~StatementNode( void );
+
+	static StatementNode  *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false );
 
 	void set_control( ExpressionNode * );
@@ -385,7 +396,7 @@
 	ExpressionNode *get_control() const ;
 	StatementNode *get_block() const;
-	StatementNode::Type get_type() const;
-
-	StatementNode *add_label( const std::string * );
+	StatementNode::Type get_type( void ) const;
+
+	StatementNode *add_label( std::string * );
 	std::list<std::string> *get_labels() const;
 
@@ -418,6 +429,6 @@
 class CompoundStmtNode : public StatementNode {
   public:
-	CompoundStmtNode();
-	CompoundStmtNode( const std::string * );
+	CompoundStmtNode( void );
+	CompoundStmtNode( std::string * );
 	CompoundStmtNode( StatementNode * );
 	~CompoundStmtNode();
@@ -488,7 +499,7 @@
 
 // in DeclarationNode.cc
-void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList );
+void buildList( const DeclarationNode *firstNode, std::list< Declaration *> &outputList );
 void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType *> &outputList );
-void buildTypeList( const DeclarationNode *firstNode, std::list< Type * > &outputList );
+void buildTypeList( const DeclarationNode *firstNode, std::list< Type *> &outputList );
 
 // in ExpressionNode.cc
Index: src/Parser/Parser.cc
===================================================================
--- src/Parser/Parser.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/Parser.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 14:54:28 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 31 23:45:19 2015
-// Update Count     : 4
+// Last Modified On : Sat May 16 14:55:59 2015
+// Update Count     : 2
 // 
 
@@ -17,5 +17,5 @@
 #include "TypedefTable.h"
 #include "lex.h"
-#include "parser.h"
+#include "cfa.tab.h"
 
 // global variables in cfa.y
Index: src/Parser/StatementNode.cc
===================================================================
--- src/Parser/StatementNode.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/StatementNode.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 14:59:41 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun  6 23:25:41 2015
-// Update Count     : 19
+// Last Modified On : Sat May 16 15:10:45 2015
+// Update Count     : 7
 //
 
@@ -36,5 +36,5 @@
 StatementNode::StatementNode() : ParseNode(), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {}
 
-StatementNode::StatementNode( const string *name_ ) : ParseNode( name_ ), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {}
+StatementNode::StatementNode( string name_) : ParseNode( name_), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {}
 
 StatementNode::StatementNode( DeclarationNode *decl ) : type( Decl ), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), isCatchRest ( false ) {
@@ -49,13 +49,13 @@
 				next->set_next( new StatementNode( dynamic_cast< DeclarationNode* >( decl->get_link() ) ) );
 				decl->set_next( 0 );
-			} // if
+			}
 		} else {
 			if ( decl->get_link() ) {
 				next = new StatementNode( dynamic_cast< DeclarationNode* >( decl->get_link() ) );
 				decl->set_next( 0 );
-			} // if
+			}
 			this->decl = decl;
-		} // if
-	} // if
+		}
+	}
 }
 
@@ -67,5 +67,5 @@
 
 StatementNode::StatementNode( Type t, string *_target ) :
-		type( t ), control( 0 ), block( 0 ), labels( 0 ), target(_target ), decl( 0 ), isCatchRest ( false ) {}
+		type( t ), control( 0 ), block( 0 ),   labels( 0 ), target(_target ), decl( 0 ), isCatchRest ( false ) {}
 
 StatementNode::~StatementNode() {
@@ -98,5 +98,5 @@
 	} else {
 		newnode->target = 0;
-	} // if
+	}
 	newnode->decl = maybeClone( decl );
 	return newnode;
@@ -125,5 +125,5 @@
 }
 
-StatementNode *StatementNode::add_label( const std::string *l ) {
+StatementNode *StatementNode::add_label( std::string *l ) {
 	if ( l != 0 ) {
 		if ( labels == 0 )
@@ -132,5 +132,5 @@
 		labels->push_front(*l ); 
 		delete l;
-	} // if
+	}
 	return this;
 }
@@ -151,5 +151,5 @@
 		else
 			block->set_link( stmt );
-	} // if
+	}
 	return this;
 }
@@ -165,19 +165,18 @@
 			else
 				block->set_link( stmt );
-	} // if
+	}
 	return this;
 }
 
 void StatementNode::print( std::ostream &os, int indent ) const {
-	if ( labels != 0 ) {
+	if ( labels != 0 )
 		if ( ! labels->empty()) {
 			std::list<std::string>::const_iterator i;
 
-			os << string( indent, ' ' );
+			os << '\r' << string( indent, ' ');
 			for ( i = labels->begin(); i != labels->end(); i++ )
 				os << *i << ":";
 			os << endl;
-		} // if
-	} // if
+		}
 
 	switch ( type ) {
@@ -194,28 +193,28 @@
 		break;
 	  default:
-		os << string( indent, ' ' ) << StatementNode::StType[type] << endl;
+		os << '\r' << string( indent, ' ') << StatementNode::StType[type] << endl;
 		if ( type == Catch ) {
 			if ( decl ) {
-				os << string( indent + ParseNode::indent_by, ' ' ) << "Declaration: " << endl;
+				os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Declaration: " << endl;
 				decl->print( os, indent + 2*ParseNode::indent_by );
 			} else if ( isCatchRest ) {
-				os << string( indent + ParseNode::indent_by, ' ' ) << "Catches the rest " << endl;
+				os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Catches the rest " << endl;
 			} else {
 				; // should never reach here
-			} // if
-		} // if
+			}
+		}
 		if ( control ) {
-			os << string( indent + ParseNode::indent_by, ' ' ) << "Expression: " << endl;
+			os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Expression: " << endl;
 			control->printList( os, indent + 2*ParseNode::indent_by );
-		} // if
+		}
 		if ( block ) {
-			os << string( indent + ParseNode::indent_by, ' ' ) << "Branches of execution: " << endl;
+			os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Branches of execution: " << endl;
 			block->printList( os, indent + 2*ParseNode::indent_by );  
-		} // if
+		}
 		if ( target ) {
-			os << string( indent + ParseNode::indent_by, ' ' ) << "Target: " << get_target() << endl;
-		} // if
+			os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Target: " << get_target() << endl;
+		}
 		break;
-	} // switch
+	}
 }
 
@@ -228,5 +227,5 @@
 		std::back_insert_iterator< std::list<Label> > lab_it( labs );
 		copy( labels->begin(), labels->end(), lab_it );
-	} // if
+	}
 
 	// try {
@@ -255,5 +254,5 @@
 				elseb = branches.front();
 				branches.pop_front();
-			} // if
+			}
 			return new IfStmt( labs, notZeroExpr( get_control()->build() ), thenb, elseb );
 		}
@@ -300,5 +299,5 @@
 				assert( get_control() != 0 );
 				return new BranchStmt( labs, get_control()->build(), BranchStmt::Goto );
-			} // if
+			}
 
 			return new BranchStmt( labs, get_target(), BranchStmt::Goto );
@@ -323,5 +322,5 @@
 			if ( ( finallyBlock = dynamic_cast<FinallyStmt *>( branches.back())) ) {
 				branches.pop_back();
-			} // if
+			}
 			return new TryStmt( labs, tryBlock, branches, finallyBlock );
 		}
@@ -343,17 +342,19 @@
 		// shouldn't be here
 		return 0;
-	} // switch
-}
-
-CompoundStmtNode::CompoundStmtNode() : first( 0 ), last( 0 ) {}
-
-CompoundStmtNode::CompoundStmtNode( const string *name_ ) : StatementNode( name_ ), first( 0 ), last( 0 ) {}
-
-CompoundStmtNode::CompoundStmtNode( StatementNode *stmt ) : first( stmt ) {
+	}
+}
+
+CompoundStmtNode::CompoundStmtNode() : first( 0 ), last( 0 ) {
+}
+
+CompoundStmtNode::CompoundStmtNode( string *name_) : StatementNode(*name_), first( 0 ), last( 0 ) {
+}
+
+CompoundStmtNode::CompoundStmtNode( StatementNode *stmt ): first( stmt ) {
 	if ( first ) {
 		last = ( StatementNode *)( stmt->get_last());
 	} else {
 		last = 0;
-	} // if
+	}
 }
 
@@ -366,5 +367,5 @@
 		last->set_link( stmt );
 		last = ( StatementNode *)( stmt->get_link());
-	} // if
+	}
 }
 
@@ -372,5 +373,5 @@
 	if ( first ) {
 		first->printList( os, indent+2 );
-	} // if
+	}
 }
 
@@ -382,5 +383,5 @@
 		std::back_insert_iterator< std::list<Label> > lab_it( labs );
 		copy( labels->begin(), labels->end(), lab_it );
-	} // if
+	}
 
 	CompoundStmt *cs = new CompoundStmt( labs );
@@ -390,5 +391,5 @@
 
 void NullStmtNode::print( ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Null Statement:" << endl;
+	os << "\r" << string( indent, ' ') << "Null Statement:" << endl;
 }
 
Index: src/Parser/TypeData.cc
===================================================================
--- src/Parser/TypeData.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/TypeData.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:12:51 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 07:30:06 2015
-// Update Count     : 26
+// Last Modified On : Sat May 16 15:17:56 2015
+// Update Count     : 4
 //
 
@@ -53,5 +53,5 @@
 		aggregate->params = 0;
 		aggregate->actuals = 0;
-		aggregate->fields = 0;
+		aggregate->members = 0;
 		break;
 	  case AggregateInst:
@@ -89,5 +89,5 @@
 		attr->type = 0;
 		break;
-	} // switch
+	}
 }
 
@@ -119,5 +119,5 @@
 		delete aggregate->params;
 		delete aggregate->actuals;
-		delete aggregate->fields;
+		delete aggregate->members;
 		delete aggregate;
 		break;
@@ -155,5 +155,5 @@
 		delete attr;
 		break;
-	} // switch
+	}
 }
 
@@ -190,5 +190,5 @@
 		newtype->aggregate->params = maybeClone( aggregate->params );
 		newtype->aggregate->actuals = maybeClone( aggregate->actuals );
-		newtype->aggregate->fields = maybeClone( aggregate->fields );
+		newtype->aggregate->members = maybeClone( aggregate->members );
 		newtype->aggregate->name = aggregate->name;
 		newtype->aggregate->kind = aggregate->kind;
@@ -225,5 +225,5 @@
 		newtype->attr->type = maybeClone( attr->type );
 		break;
-	} // switch
+	}
 	return newtype;
 }
@@ -237,6 +237,6 @@
 	if ( forall ) {
 		os << "forall " << endl;
-		forall->printList( os, indent + 4 );
-	} // if
+		forall->printList( os, indent+4 );
+	}
 
 	switch ( kind ) {
@@ -249,5 +249,5 @@
 			os << "to ";
 			base->print( os, indent );
-		} // if
+		}
 		break;
 	  case EnumConstant:
@@ -261,5 +261,5 @@
 		if ( array->isStatic ) {
 			os << "static ";
-		} // if
+		}
 		if ( array->dimension ) {
 			os << "array of ";
@@ -269,55 +269,55 @@
 		} else {
 			os << "open array of ";
-		} // if
+		}
 		if ( base ) {
 			base->print( os, indent );
-		} // if
+		}
 		break;
 	  case Function:
 		os << "function" << endl;
 		if ( function->params ) {
-			os << string( indent + 2, ' ' ) << "with parameters " << endl;
-			function->params->printList( os, indent + 4 );
+			os << string( indent+2, ' ' ) << "with parameters " << endl;
+			function->params->printList( os, indent+4 );
 		} else {
-			os << string( indent + 2, ' ' ) << "with no parameters " << endl;
-		} // if
+			os << string( indent+2, ' ' ) << "with no parameters " << endl;
+		}
 		if ( function->idList ) {
-			os << string( indent + 2, ' ' ) << "with old-style identifier list " << endl;
-			function->idList->printList( os, indent + 4 );
-		} // if
+			os << string( indent+2, ' ' ) << "with old-style identifier list " << endl;
+			function->idList->printList( os, indent+4 );
+		}
 		if ( function->oldDeclList ) {
-			os << string( indent + 2, ' ' ) << "with old-style declaration list " << endl;
-			function->oldDeclList->printList( os, indent + 4 );
-		} // if
-		os << string( indent + 2, ' ' ) << "returning ";
+			os << string( indent+2, ' ' ) << "with old-style declaration list " << endl;
+			function->oldDeclList->printList( os, indent+4 );
+		}
+		os << string( indent+2, ' ' ) << "returning ";
 		if ( base ) {
-			base->print( os, indent + 4 );
+			base->print( os, indent+4 );
 		} else {
 			os << "nothing ";
-		} // if
+		}
 		os << endl;
 		if ( function->hasBody ) {
-			os << string( indent + 2, ' ' ) << "with body " << endl;
-		} // if
+			os << string( indent+2, ' ' ) << "with body " << endl;
+		}
 		if ( function->body ) {
-			function->body->printList( os, indent + 2 );
-		} // if
+			function->body->printList( os, indent+2 );
+		}
 		break;
 	  case Aggregate:
-		os << DeclarationNode::aggregateName[ aggregate->kind ] << ' ' << aggregate->name << endl;
+		os << DeclarationNode::tyConName[ aggregate->kind ] << ' ' << aggregate->name << endl;
 		if ( aggregate->params ) {
-			os << string( indent + 2, ' ' ) << "with type parameters " << endl;
-			aggregate->params->printList( os, indent + 4 );
-		} // if
+			os << string( indent+2, ' ' ) << "with type parameters " << endl;
+			aggregate->params->printList( os, indent+4 );
+		}
 		if ( aggregate->actuals ) {
-			os << string( indent + 2, ' ' ) << "instantiated with actual parameters " << endl;
-			aggregate->actuals->printList( os, indent + 4 );
-		} // if
-		if ( aggregate->fields ) {
-			os << string( indent + 2, ' ' ) << "with members " << endl;
-			aggregate->fields->printList( os, indent + 4 );
+			os << string( indent+2, ' ' ) << "instantiated with actual parameters " << endl;
+			aggregate->actuals->printList( os, indent+4 );
+		}
+		if ( aggregate->members ) {
+			os << string( indent+2, ' ' ) << "with members " << endl;
+			aggregate->members->printList( os, indent+4 );
 ///     } else {
-///       os << string( indent + 2, ' ' ) << "with no members " << endl;
-		} // if
+///       os << string( indent+2, ' ' ) << "with no members " << endl;
+		}
 		break;
 	  case AggregateInst:
@@ -327,9 +327,9 @@
 		} else {
 			os << "instance of an unspecified aggregate ";
-		} // if
+		}
 		if ( aggInst->params ) {
-			os << string( indent + 2, ' ' ) << "with parameters " << endl;
-			aggInst->params->printList( os, indent + 2 );
-		} // if
+			os << string( indent+2, ' ' ) << "with parameters " << endl;
+			aggInst->params->printList( os, indent+2 );
+		}
 		break;
 	  case Enum:
@@ -337,6 +337,6 @@
 		if ( enumeration->constants ) {
 			os << "with constants" << endl;
-			enumeration->constants->printList( os, indent + 2 );
-		} // if
+			enumeration->constants->printList( os, indent+2 );
+		}
 		break;
 	  case SymbolicInst:
@@ -345,5 +345,5 @@
 			os << " with parameters" << endl;
 			symbolic->actuals->printList( os, indent + 2 );
-		} // if
+		}
 		break;
 	  case Symbolic:
@@ -352,26 +352,26 @@
 		} else {
 			os << "type definition ";
-		} // if
+		}
 		if ( symbolic->params ) {
-			os << endl << string( indent + 2, ' ' ) << "with parameters" << endl;
+			os << endl << string( indent+2, ' ' ) << "with parameters" << endl;
 			symbolic->params->printList( os, indent + 2 );
-		} // if
+		}
 		if ( symbolic->assertions ) {
-			os << endl << string( indent + 2, ' ' ) << "with assertions" << endl;
+			os << endl << string( indent+2, ' ' ) << "with assertions" << endl;
 			symbolic->assertions->printList( os, indent + 4 );
-			os << string( indent + 2, ' ' );
-		} // if
+			os << string( indent+2, ' ' );
+		}
 		if ( base ) {
 			os << "for ";
 			base->print( os, indent + 2 );
-		} // if
+		}
 		break;
 	  case Variable:
 		os << DeclarationNode::typeClassName[ variable->tyClass ] << " variable ";
 		if ( variable->assertions ) {
-			os << endl << string( indent + 2, ' ' ) << "with assertions" << endl;
+			os << endl << string( indent+2, ' ' ) << "with assertions" << endl;
 			variable->assertions->printList( os, indent + 4 );
-			os << string( indent + 2, ' ' );
-		} // if
+			os << string( indent+2, ' ' );
+		}
 		break;
 	  case Tuple:
@@ -380,5 +380,5 @@
 			os << "with members " << endl;
 			tuple->members->printList( os, indent + 2 );
-		} // if
+		}
 		break;
 	  case Typeof:
@@ -386,5 +386,5 @@
 		if ( typeexpr->expr ) {
 			typeexpr->expr->print( os, indent + 2 );
-		} // if
+		}
 		break;
 	  case Attr:
@@ -392,10 +392,10 @@
 		if ( attr->expr ) {
 			attr->expr->print( os, indent + 2 );
-		} // if
+		}
 		if ( attr->type ) {
 			attr->type->print( os, indent + 2 );
-		} // if
-		break;
-	} // switch
+		}
+		break;
+	}
 }
 
@@ -405,8 +405,8 @@
 	switch ( kind ) {
 	  case Aggregate:
-		if ( ! toplevel && aggregate->fields ) {
+		if ( ! toplevel && aggregate->members ) {
 			ret = clone();
 			ret->qualifiers.clear();
-		} // if
+		}
 		break;
 	  case Enum:
@@ -414,16 +414,16 @@
 			ret = clone();
 			ret->qualifiers.clear();
-		} // if
+		}
 		break;
 	  case AggregateInst:
 		if ( aggInst->aggregate ) {
 			ret = aggInst->aggregate->extractAggregate( false );
-		} // if
+		}
 		break;
 	  default:
 		if ( base ) {
 			ret = base->extractAggregate( false );
-		} // if
-	} // switch
+		}
+	}
 	return ret;
 }
@@ -434,13 +434,13 @@
 		if ( (*i)->get_kind() == TypeDecl::Any ) {
 			FunctionType *assignType = new FunctionType( Type::Qualifiers(), false );
-			assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ) ), 0 ) );
-			assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
-			assignType->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
-			(*i)->get_assertions().push_front( new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false, false ) );
-		} // if
-	} // for
-}
-
-Declaration *TypeData::buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer *init ) const {
+			assignType->get_parameters().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ) ), 0 ) );
+			assignType->get_parameters().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
+			assignType->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
+			(*i)->get_assertions().push_front( new FunctionDecl( "?=?", Declaration::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false ) );
+		}
+	}
+}
+
+Declaration *TypeData::buildDecl( std::string name, Declaration::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init ) const {
 	if ( kind == TypeData::Function ) {
 		FunctionDecl *decl;
@@ -450,17 +450,17 @@
 				CompoundStmt *body = dynamic_cast< CompoundStmt* >( stmt );
 				assert( body );
-				decl = new FunctionDecl( name, sc, linkage, buildFunction(), body, isInline, isNoreturn );
+				decl = new FunctionDecl( name, sc, linkage, buildFunction(), body, isInline );
 			} else {
 				// std::list<Label> ls;
-				decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline, isNoreturn );
-			} // if
+				decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline );
+			}
 		} else {
-			decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline, isNoreturn );
-		} // if
+			decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline );
+		}
 		for ( DeclarationNode *cur = function->idList; cur != 0; cur = dynamic_cast< DeclarationNode* >( cur->get_link() ) ) {
 			if ( cur->get_name() != "" ) {
 				decl->get_oldIdents().insert( decl->get_oldIdents().end(), cur->get_name() );
-			} // if
-		} // for
+			}
+		}
 		buildList( function->oldDeclList, decl->get_oldDecls() );
 		return decl;
@@ -474,10 +474,10 @@
 		return buildVariable();
 	} else {
-		if ( isInline || isNoreturn ) {
-			throw SemanticError( "invalid inline or _Noreturn specification in declaration of ", this );
+		if ( isInline ) {
+			throw SemanticError( "invalid inline specification in declaration of ", this );
 		} else {
 			return new ObjectDecl( name, sc, linkage, bitfieldWidth, build(), init );
-		} // if
-	} // if
+		}
+	}
 	return 0;
 }
@@ -514,5 +514,6 @@
 	  case Variable:
 		assert( false );
-	} // switch
+	}
+
 	return 0;
 }
@@ -540,6 +541,6 @@
 			q.isAttribute = true;
 			break;
-		} // switch
-	} // for
+		}
+	}
 	return q;
 }
@@ -562,8 +563,8 @@
 				} else {
 					return new VoidType( buildQualifiers() );
-				} // if
+				}
 			} else {
 				ret = kindMap[ *i ];
-			} // if
+			}
 		} else {
 			switch ( *i ) {
@@ -581,6 +582,6 @@
 					  default:
 						throw SemanticError( "invalid type specifier \"float\" in type: ", this );
-					} // switch
-				} // if
+					}
+				}
 				break;
 			  case DeclarationNode::Double:
@@ -594,7 +595,8 @@
 					  default:
 						throw SemanticError( "invalid type specifier \"double\" in type: ", this );
-					} // switch
-				} // if
+					}
+				}
 				break;
+	
 			  case DeclarationNode::Complex:
 				switch ( ret ) {
@@ -607,5 +609,5 @@
 				  default:
 					throw SemanticError( "invalid type specifier \"_Complex\" in type: ", this );
-				} // switch
+				}
 				break;
 			  case DeclarationNode::Imaginary:
@@ -619,14 +621,14 @@
 				  default:
 					throw SemanticError( "invalid type specifier \"_Imaginary\" in type: ", this );
-				} // switch
+				}
 				break;
 			  default:
 				throw SemanticError( std::string( "invalid type specifier \"" ) + DeclarationNode::basicTypeName[ *i ] + "\" in type: ", this );
-			} // switch
-		} // if
+			}
+		}
 		if ( *i == DeclarationNode::Double ) {
 			sawDouble = true;
-		} // if
-	} // for
+		}
+	}
 
 	for ( std::list< DeclarationNode::Modifier >::const_iterator i = basic->modifiers.begin(); i != basic->modifiers.end(); ++i ) {
@@ -661,6 +663,6 @@
 				  default:
 					throw SemanticError( "invalid type modifier \"long\" in type: ", this );
-				} // switch
-			} // if
+				}
+			}
 			break;
 		  case DeclarationNode::Short:
@@ -678,6 +680,6 @@
 				  default:
 					throw SemanticError( "invalid type modifier \"short\" in type: ", this );
-				} // switch
-			} // if
+				}
+			}
 			break;
 		  case DeclarationNode::Signed:
@@ -689,5 +691,5 @@
 			} else {
 				switch ( ret ) {
-				  case BasicType::LongLongSignedInt:
+				  case BasicType::LongLongSignedInt:	// PAB
 					ret = BasicType::LongLongUnsignedInt;
 					break;
@@ -703,6 +705,6 @@
 				  default:
 					throw SemanticError( "invalid type modifer \"signed\" in type: ", this );
-				} // switch
-			} // if
+				}
+			}
 			break;
 		  case DeclarationNode::Unsigned:
@@ -714,5 +716,5 @@
 			} else {
 				switch ( ret ) {
-				  case BasicType::LongLongSignedInt:
+				  case BasicType::LongLongSignedInt:	// PAB
 					ret = BasicType::LongLongUnsignedInt;
 					break;
@@ -731,13 +733,13 @@
 				  default:
 					throw SemanticError( "invalid type modifer \"unsigned\" in type: ", this );
-				} // switch
-			} // if
-			break;
-		} // switch
+				}
+			}
+			break;
+		}
 
 		if ( *i == DeclarationNode::Signed ) {
 			sawSigned = true;
-		} // if
-	} // for
+		}
+	}
 
 	BasicType *bt;
@@ -746,5 +748,5 @@
 	} else {
 		bt = new BasicType( buildQualifiers(), ret );
-	} // if
+	}
 	buildForall( forall, bt->get_forall() );
 	return bt;
@@ -758,5 +760,5 @@
 	} else {
 		pt = new PointerType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) );
-	} // if
+	}
 	buildForall( forall, pt->get_forall() );
 	return pt;
@@ -771,5 +773,5 @@
 		at = new ArrayType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ),
 							maybeBuild< Expression >( array->dimension ), array->isVarLen, array->isStatic );
-	} // if
+	}
 	buildForall( forall, at->get_forall() );
 	return at;
@@ -789,9 +791,9 @@
 			break;
 		  default:
-			ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", DeclarationNode::NoStorageClass, 0, false, false, LinkageSpec::Cforall ) ) );
-		} // switch
+			ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", Declaration::NoStorageClass, 0, false, LinkageSpec::Cforall ) ) );
+		}
 	} else {
-		ft->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) );
-	} // if
+		ft->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) );
+	}
 	return ft;
 }
@@ -804,15 +806,18 @@
 		at = new StructDecl( aggregate->name );
 		break;
+	
 	  case DeclarationNode::Union:
 		at = new UnionDecl( aggregate->name );
 		break;
+	
 	  case DeclarationNode::Context:
 		at = new ContextDecl( aggregate->name );
 		break;
+	
 	  default:
 		assert( false );
-	} // switch
+	}
 	buildList( aggregate->params, at->get_parameters() );
-	buildList( aggregate->fields, at->get_members() );
+	buildList( aggregate->members, at->get_members() );
 
 	return at;
@@ -833,4 +838,5 @@
 ReferenceToType *TypeData::buildAggInst() const {
 	assert( kind == AggregateInst );
+	std::string name;
 
 	ReferenceToType *ret;
@@ -851,6 +857,6 @@
 		  default:
 			assert( false );
-		} // switch
-	} // if
+		}
+	}
 	buildList( aggInst->params, ret->get_parameters() );
 	buildForall( forall, ret->get_forall() );
@@ -858,5 +864,5 @@
 }
 
-NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, DeclarationNode::StorageClass sc ) const {
+NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, Declaration::StorageClass sc ) const {
 	assert( kind == Symbolic );
 	NamedTypeDecl *ret;
@@ -865,5 +871,5 @@
 	} else {
 		ret = new TypeDecl( name, sc, maybeBuild< Type >( base ), TypeDecl::Any );
-	} // if
+	}
 	buildList( symbolic->params, ret->get_parameters() );
 	buildList( symbolic->assertions, ret->get_assertions() );
@@ -875,6 +881,7 @@
 	static const TypeDecl::Kind kindMap[] = { TypeDecl::Any, TypeDecl::Ftype, TypeDecl::Dtype };
 
-	TypeDecl *ret = new TypeDecl( variable->name, DeclarationNode::NoStorageClass, 0, kindMap[ variable->tyClass ] );
+	TypeDecl *ret = new TypeDecl( variable->name, Declaration::NoStorageClass, 0, kindMap[ variable->tyClass ] );
 	buildList( variable->assertions, ret->get_assertions() );
+	
 	return ret;
 }
@@ -884,4 +891,5 @@
 	EnumDecl *ret = new EnumDecl( enumeration->name );
 	buildList( enumeration->constants, ret->get_members() );
+
 	return ret;
 }
@@ -892,4 +900,5 @@
 	buildList( symbolic->actuals, ret->get_parameters() );
 	buildForall( forall, ret->get_forall() );
+
 	return ret;
 }
@@ -900,4 +909,5 @@
 	buildTypeList( tuple->members, ret->get_types() );
 	buildForall( forall, ret->get_forall() );
+
 	return ret;
 }
@@ -908,4 +918,5 @@
 	assert( typeexpr->expr );
 	TypeofType *ret = new TypeofType( buildQualifiers(), typeexpr->expr->build() );
+
 	return ret;
 }
@@ -920,5 +931,6 @@
 		assert( attr->type );
 		ret = new AttrType( buildQualifiers(), attr->name, attr->type->buildType() );
-	} // if
+	}
+
 	return ret;
 }
Index: src/Parser/TypeData.h
===================================================================
--- src/Parser/TypeData.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/TypeData.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:18:36 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 23:39:03 2015
-// Update Count     : 16
+// Last Modified On : Sat May 16 15:20:00 2015
+// Update Count     : 2
 //
 
@@ -44,9 +44,9 @@
 
 	struct Aggregate_t {
-		DeclarationNode::Aggregate kind;
+		DeclarationNode::TyCon kind;
 		std::string name;
 		DeclarationNode *params;
-		ExpressionNode  *actuals;						// holds actual parameters later applied to AggInst
-		DeclarationNode *fields;
+		ExpressionNode *actuals;						// holds actual parameters later applied to AggInst
+		DeclarationNode *members;
 	};
 
@@ -78,5 +78,5 @@
 	struct Symbolic_t {
 		std::string name;
-		bool isTypedef;									// false => TYPEGENname, true => TYPEDEFname
+		bool isTypedef;
 		DeclarationNode *params;
 		ExpressionNode *actuals;
@@ -120,13 +120,13 @@
 	TypeData *extractAggregate( bool toplevel = true ) const;
 	// helper function for DeclNodeImpl::build
-	Declaration * buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer *init = 0 ) const;
+	Declaration * buildDecl( std::string name, Declaration::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init = 0 ) const;
 	// helper functions for build()
 	Type::Qualifiers buildQualifiers() const;
-	Type * buildBasicType() const;
+	Type *buildBasicType() const;
 	PointerType * buildPointer() const;
 	ArrayType * buildArray() const;
 	AggregateDecl * buildAggregate() const;
 	ReferenceToType * buildAggInst() const;
-	NamedTypeDecl * buildSymbolic( const std::string &name, DeclarationNode::StorageClass sc ) const;
+	NamedTypeDecl * buildSymbolic( const std::string &name, Declaration::StorageClass sc ) const;
 	TypeDecl* buildVariable() const;
 	EnumDecl* buildEnum() const;
Index: src/Parser/TypedefTable.cc
===================================================================
--- src/Parser/TypedefTable.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/TypedefTable.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:20:13 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 07:30:16 2015
-// Update Count     : 19
+// Last Modified On : Sat May 16 15:24:03 2015
+// Update Count     : 2
 //
 
@@ -22,5 +22,5 @@
 #if 0
 #include <iostream>
-#define debugPrint( x ) cerr << x
+#define debugPrint(x ) cerr << x
 #else
 #define debugPrint( x )
@@ -29,32 +29,22 @@
 TypedefTable::TypedefTable() : currentScope( 0 ) {}
 
-void TypedefTable::changeKind( const string &identifier, kind_t kind ) {
-	tableType::iterator id_pos = table.find( identifier );
-	if ( id_pos == table.end() ) {
-		return;
-	} else {
-		(*((*id_pos ).second.begin())).kind = kind;
-		return;
-	} // if
-}
-
-bool TypedefTable::isKind( const string &identifier, kind_t kind ) const {
+bool TypedefTable::isKind( string identifier, kind_t kind ) const {
 	tableType::const_iterator id_pos = table.find( identifier );
-	if ( id_pos == table.end() ) {
+	if ( id_pos == table.end()) {
 		return true;
 	} else {
 		return (*((*id_pos ).second.begin())).kind == kind;
-	} // if
+	}
 }
 
-bool TypedefTable::isIdentifier( const string &identifier ) const {
+bool TypedefTable::isIdentifier( string identifier ) const {
 	return isKind( identifier, ID );
 }
 
-bool TypedefTable::isTypedef( const string &identifier ) const {
+bool TypedefTable::isTypedef( string identifier ) const {
 	return isKind( identifier, TD );
 }
 
-bool TypedefTable::isTypegen( const string &identifier ) const {
+bool TypedefTable::isTypegen( string identifier ) const {
 	return isKind( identifier, TG );
 }
@@ -65,5 +55,5 @@
 		contexts[currentContext].push_back( entry );
 	} else {
-		debugPrint( "Adding " << identifier << " as kind " << kind << " scope " << scope << " from scope " << currentScope << endl );
+		debugPrint( "Adding " << identifier << " as type " << kind << " scope " << scope << " from scope " << currentScope << endl );
 		Entry newEntry = { scope, kind };
 		tableType::iterator curPos = table.find( identifier );
@@ -76,8 +66,8 @@
 			while ( listPos != (*curPos ).second.end() && listPos->scope > scope ) {
 				listPos++;
-			} // while
+			}
 			(*curPos ).second.insert( listPos, newEntry );
-		} // if
-	} // if
+		}
+	}
 }
 
@@ -112,5 +102,5 @@
 }
 
-void TypedefTable::openContext( const std::string &contextName ) {
+void TypedefTable::openContext( std::string contextName ) {
 	map< string, deferListType >::iterator i = contexts.find( contextName );
 	if ( i != contexts.end() ) {
@@ -118,9 +108,9 @@
 		for ( deferListType::iterator i = entries.begin(); i != entries.end(); i++) {
 			addToEnclosingScope( i->identifier, i->kind );
-		} // for
-	} // if
+		}
+	}
 }
 
-void TypedefTable::enterScope() {
+void TypedefTable::enterScope( void ) {
 	currentScope += 1;
 	deferListStack.push( deferListType() );
@@ -129,20 +119,19 @@
 }
 
-void TypedefTable::leaveScope() {
+void TypedefTable::leaveScope( void ) {
 	debugPrint( "Leaving scope " << currentScope << endl );
 	for ( tableType::iterator i = table.begin(); i != table.end(); ) {
-		list<Entry> &declList = (*i).second;
+		list<Entry> &declList = (*i ).second;
 		while ( ! declList.empty() && declList.front().scope == currentScope ) {
 			declList.pop_front();
 		}
-		if ( declList.empty() ) {						// standard idom for erasing during traversal
+		if ( declList.empty() ) {			// standard idom for erasing during traversal
 			table.erase( i++ );
-		} else
-			++i;
-	} // for
+		} else ++i;
+	}
 	currentScope -= 1;
-	for ( deferListType::iterator i = deferListStack.top().begin(); i != deferListStack.top().end(); i++ ) {
+	for ( deferListType::iterator i = deferListStack.top().begin(); i != deferListStack.top().end(); i++) {
 		addToCurrentScope( i->identifier, i->kind );
-	} // for
+	}
 	deferListStack.pop();
 	debugPrint( "nextIdentifiers size is " << nextIdentifiers.size() << " top is " << nextIdentifiers.top() << endl );
@@ -150,10 +139,10 @@
 }
 
-void TypedefTable::enterContext( const std::string &contextName ) {
+void TypedefTable::enterContext( std::string contextName ) {
 	currentContext = contextName;
 	contextScope = currentScope;
 }
 
-void TypedefTable::leaveContext() {
+void TypedefTable::leaveContext( void ) {
 	currentContext = "";
 }
@@ -162,10 +151,10 @@
 	for ( tableType::const_iterator i = table.begin(); i != table.end(); i++) {
 		debugPrint( (*i ).first << ": " );
-		list<Entry> declList = (*i).second;
+		list<Entry> declList = (*i ).second;
 		for ( list<Entry>::const_iterator j = declList.begin(); j != declList.end(); j++ ) {
-			debugPrint( "(" << (*j).scope << " " << (*j).kind << ") " );
+			debugPrint( "(" << (*j ).scope << " " << (*j).kind << ") " );
 		}
 		debugPrint( endl );
-	} // for
+	}
 }
 
Index: src/Parser/TypedefTable.h
===================================================================
--- src/Parser/TypedefTable.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/TypedefTable.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:24:36 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jun 25 22:52:15 2015
-// Update Count     : 11
+// Last Modified On : Sat May 16 15:25:59 2015
+// Update Count     : 3
 //
 
@@ -49,19 +49,17 @@
 	std::stack< std::string > nextIdentifiers;
 
-	bool isKind( const std::string &identifier, kind_t kind ) const;
+	bool isKind( std::string identifier, kind_t kind ) const;
 	void addToScope( const std::string &identifier, kind_t kind, int scope );
   public:
 	TypedefTable();
 
-	bool isIdentifier( const std::string &identifier ) const;
-	bool isTypedef( const std::string &identifier ) const;
-	bool isTypegen( const std::string &identifier ) const;
-
-	void changeKind( const std::string &identifier, kind_t kind );
+	bool isIdentifier( std::string identifier ) const;
+	bool isTypedef( std::string identifier ) const;
+	bool isTypegen( std::string identifier ) const;
 	
-	// "addToCurrentScope" adds the identifier/type pair to the current scope. This does less than you think it does,
+	// "addToCurrentScope" adds the identifier/type pair to the current scope This does less than you think it does,
 	// since each declaration is within its own scope.  Mostly useful for type parameters.
 	void addToCurrentScope( const std::string &identifier, kind_t kind );
-	void addToCurrentScope( kind_t kind );			// use nextIdentifiers.top()
+	void addToCurrentScope( kind_t kind );		// use nextIdentifiers.top()
 
 	// "addToEnclosingScope" adds the identifier/type pair to the scope that encloses the current one.  This is the
@@ -79,9 +77,9 @@
 	
 	// dump the definitions from a pre-defined context into the current scope
-	void openContext( const std::string &contextName );
+	void openContext( std::string contextName );
 	
 	void enterScope();
 	void leaveScope();
-	void enterContext( const std::string &contextName );
+	void enterContext( std::string contextName );
 	void leaveContext();
 
Index: src/Parser/cfa.y
===================================================================
--- src/Parser/cfa.y	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Parser/cfa.y	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,2735 @@
+//
+// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+//
+// cfa.y -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Sat Sep  1 20:22:55 2001
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat May 16 11:55:39 2015
+// Update Count     : 975
+// 
+
+// This grammar is based on the ANSI99/11 C grammar, specifically parts of EXPRESSION and STATEMENTS, and on
+// the C grammar by James A. Roskind, specifically parts of DECLARATIONS and EXTERNAL DEFINITIONS.  While
+// parts have been copied, important changes have been made in all sections; these changes are sufficient to
+// constitute a new grammar.  In particular, this grammar attempts to be more syntactically precise, i.e., it
+// parses less incorrect language syntax that must be subsequently rejected by semantic checks.  Nevertheless,
+// there are still several semantic checks required and many are noted in the grammar. Finally, the grammar is
+// extended with GCC and CFA language extensions.
+
+// Acknowledgments to Richard Bilson, Glen Ditchfield, and Rodolfo Gabriel Esteves who all helped when I got
+// stuck with the grammar.
+
+// The root language for this grammar is ANSI99/11 C. All of ANSI99/11 is parsed, except for:
+//
+// 1. designation with '=' (use ':' instead)
+//
+// Most of the syntactic extensions from ANSI90 to ANSI11 C are marked with the comment "C99/C11". This
+// grammar also has two levels of extensions. The first extensions cover most of the GCC C extensions, except for:
+//
+// 1. nested functions
+// 2. generalized lvalues
+// 3. designation with and without '=' (use ':' instead)
+// 4. attributes not allowed in parenthesis of declarator
+//
+// All of the syntactic extensions for GCC C are marked with the comment "GCC". The second extensions are for
+// Cforall (CFA), which fixes several of C's outstanding problems and extends C with many modern language
+// concepts. All of the syntactic extensions for CFA C are marked with the comment "CFA". As noted above,
+// there is one unreconcileable parsing problem between C99 and CFA with respect to designators; this is
+// discussed in detail before the "designation" grammar rule.
+
+%{
+#define YYDEBUG_LEXER_TEXT (yylval)						// lexer loads this up each time
+#define YYDEBUG 1										// get the pretty debugging code to compile
+
+#undef __GNUC_MINOR__
+
+#include <cstdio>
+#include <stack>
+#include "TypedefTable.h"
+#include "lex.h"
+#include "ParseNode.h"
+#include "LinkageSpec.h"
+
+DeclarationNode *theTree = 0;							// the resulting parse tree
+LinkageSpec::Type linkage = LinkageSpec::Cforall;
+std::stack< LinkageSpec::Type > linkageStack;
+TypedefTable typedefTable;
+%}
+
+//************************* TERMINAL TOKENS ********************************
+
+// keywords
+%token TYPEDEF
+%token AUTO EXTERN REGISTER STATIC
+%token INLINE											// C99
+%token FORTRAN											// C99, extension ISO/IEC 9899:1999 Section J.5.9(1)
+%token CONST VOLATILE
+%token RESTRICT											// C99
+%token FORALL LVALUE									// CFA
+%token VOID CHAR SHORT INT LONG FLOAT DOUBLE SIGNED UNSIGNED
+%token BOOL COMPLEX IMAGINARY							// C99
+%token TYPEOF LABEL										// GCC
+%token ENUM STRUCT UNION
+%token TYPE FTYPE DTYPE CONTEXT							// CFA
+%token SIZEOF
+%token ATTRIBUTE EXTENSION								// GCC
+%token IF ELSE SWITCH CASE DEFAULT DO WHILE FOR BREAK CONTINUE GOTO RETURN
+%token CHOOSE FALLTHRU TRY CATCH FINALLY THROW			// CFA
+%token ASM												// C99, extension ISO/IEC 9899:1999 Section J.5.10(1)
+%token ALIGNAS ALIGNOF ATOMIC GENERIC NORETURN STATICASSERT THREADLOCAL // C11
+
+// names and constants: lexer differentiates between identifier and typedef names
+%token<tok> IDENTIFIER			QUOTED_IDENTIFIER		TYPEDEFname				TYPEGENname
+%token<tok> ATTR_IDENTIFIER		ATTR_TYPEDEFname		ATTR_TYPEGENname
+%token<tok> INTEGERconstant		FLOATINGconstant		CHARACTERconstant		STRINGliteral
+%token<tok> ZERO				ONE						// CFA
+
+// multi-character operators
+%token ARROW											// ->
+%token ICR DECR											// ++	--
+%token LS RS											// <<	>>
+%token LE GE EQ NE										// <=	>=	==	!=
+%token ANDAND OROR										// &&	||
+%token ELLIPSIS											// ...
+
+%token MULTassign	DIVassign	MODassign				// *=	/=	%=/
+%token PLUSassign	MINUSassign							// +=	-=
+%token LSassign		RSassign							// <<=	>>=
+%token ANDassign	ERassign	ORassign				// &=	^=	|=
+
+// Types declaration
+%union
+{
+	Token tok;
+	ParseNode *pn;
+	ExpressionNode *en;
+	DeclarationNode *decl;
+	DeclarationNode::TyCon aggKey;
+	DeclarationNode::TypeClass tclass;
+	StatementNode *sn;
+	ConstantNode *constant;
+	InitializerNode *in;
+}
+
+%type<tok> zero_one  identifier  no_attr_identifier  no_01_identifier
+%type<tok> identifier_or_typedef_name  no_attr_identifier_or_typedef_name  no_01_identifier_or_typedef_name
+%type<constant> string_literal_list
+
+// expressions
+%type<constant> constant
+%type<en> tuple							tuple_expression_list
+%type<en> unary_operator				assignment_operator
+%type<en> primary_expression			postfix_expression			unary_expression
+%type<en> cast_expression				multiplicative_expression	additive_expression			shift_expression
+%type<en> relational_expression			equality_expression			AND_expression				exclusive_OR_expression
+%type<en> inclusive_OR_expression		logical_AND_expression		logical_OR_expression		conditional_expression
+%type<en> constant_expression			assignment_expression		assignment_expression_opt
+%type<en> comma_expression				comma_expression_opt
+%type<en> argument_expression_list		argument_expression			for_control_expression		assignment_opt
+%type<en> subrange
+
+// statements
+%type<sn> labeled_statement				compound_statement			expression_statement		selection_statement
+%type<sn> iteration_statement			jump_statement				exception_statement			asm_statement
+%type<sn> fall_through_opt				fall_through
+%type<sn> statement						statement_list
+%type<sn> block_item_list				block_item
+%type<sn> case_clause
+%type<en> case_value					case_value_list
+%type<sn> case_label					case_label_list
+%type<sn> switch_clause_list_opt		switch_clause_list			choose_clause_list_opt		choose_clause_list
+%type<pn> handler_list					handler_clause				finally_clause
+
+// declarations
+%type<decl> abstract_array abstract_declarator abstract_function abstract_parameter_array
+%type<decl> abstract_parameter_declaration abstract_parameter_declarator abstract_parameter_function
+%type<decl> abstract_parameter_ptr abstract_ptr
+
+%type<aggKey> aggregate_key
+%type<decl>  aggregate_name
+
+%type<decl> array_dimension array_parameter_1st_dimension array_parameter_dimension multi_array_dimension
+
+%type<decl> assertion assertion_list_opt
+
+%type<en>   bit_subrange_size_opt bit_subrange_size
+
+%type<decl> basic_declaration_specifier basic_type_name basic_type_specifier direct_type_name indirect_type_name
+
+%type<decl> context_declaration context_declaration_list context_declaring_list context_specifier
+
+%type<decl> declaration declaration_list declaration_list_opt declaration_qualifier_list
+%type<decl> declaration_specifier declarator declaring_list
+
+%type<decl> elaborated_type_name
+
+%type<decl> enumerator_list enum_name
+%type<en> enumerator_value_opt
+
+%type<decl> exception_declaration external_definition external_definition_list external_definition_list_opt
+
+%type<decl> field_declaration field_declaration_list field_declarator field_declaring_list
+%type<en> field field_list
+
+%type<decl> function_array function_declarator function_definition function_no_ptr function_ptr
+
+%type<decl> identifier_parameter_array identifier_parameter_declarator identifier_parameter_function
+%type<decl> identifier_parameter_ptr identifier_list
+
+%type<decl> new_abstract_array new_abstract_declarator_no_tuple new_abstract_declarator_tuple
+%type<decl> new_abstract_function new_abstract_parameter_declaration new_abstract_parameter_list
+%type<decl> new_abstract_ptr new_abstract_tuple
+
+%type<decl> new_array_parameter_1st_dimension
+
+%type<decl> new_context_declaring_list new_declaration new_field_declaring_list
+%type<decl> new_function_declaration new_function_return new_function_specifier
+
+%type<decl> new_identifier_parameter_array new_identifier_parameter_declarator_no_tuple
+%type<decl> new_identifier_parameter_declarator_tuple new_identifier_parameter_ptr
+
+%type<decl> new_parameter_declaration new_parameter_list new_parameter_type_list new_parameter_type_list_opt
+
+%type<decl> new_typedef_declaration new_variable_declaration new_variable_specifier
+
+%type<decl> old_declaration old_declaration_list old_declaration_list_opt old_function_array
+%type<decl> old_function_declarator old_function_no_ptr old_function_ptr
+
+%type<decl> parameter_declaration parameter_list parameter_type_list
+%type<decl> parameter_type_list_opt
+
+%type<decl> paren_identifier paren_typedef
+
+%type<decl> storage_class storage_class_name storage_class_list
+
+%type<decl> sue_declaration_specifier sue_type_specifier
+
+%type<tclass> type_class
+%type<decl> type_declarator type_declarator_name type_declaring_list
+
+%type<decl> typedef typedef_array typedef_declaration typedef_declaration_specifier typedef_expression
+%type<decl> typedef_function typedef_parameter_array typedef_parameter_function typedef_parameter_ptr
+%type<decl> typedef_parameter_redeclarator typedef_ptr typedef_redeclarator typedef_type_specifier
+%type<decl> typegen_declaration_specifier typegen_type_specifier
+
+%type<decl> type_name type_name_no_function
+%type<decl> type_parameter type_parameter_list
+
+%type<en> type_name_list
+
+%type<decl> type_qualifier type_qualifier_name type_qualifier_list type_qualifier_list_opt type_specifier
+
+%type<decl> variable_abstract_array variable_abstract_declarator variable_abstract_function
+%type<decl> variable_abstract_ptr variable_array variable_declarator variable_function variable_ptr
+
+// initializers
+%type<in>  initializer initializer_list initializer_opt
+
+// designators
+%type<en>  designator designator_list designation
+
+
+// Handle single shift/reduce conflict for dangling else by shifting the ELSE token. For example, this string
+// is ambiguous:
+// .---------.				matches IF '(' comma_expression ')' statement
+// if ( C ) S1 else S2
+// `-----------------'		matches IF '(' comma_expression ')' statement ELSE statement */
+
+%nonassoc THEN	// rule precedence for IF '(' comma_expression ')' statement
+%nonassoc ELSE	// token precedence for start of else clause in IF statement
+
+%start translation_unit									// parse-tree root
+
+%%
+//************************* Namespace Management ********************************
+
+// The grammar in the ANSI C standard is not strictly context-free, since it relies upon the distinct terminal
+// symbols "identifier" and "TYPEDEFname" that are lexically identical.  While it is possible to write a
+// purely context-free grammar, such a grammar would obscure the relationship between syntactic and semantic
+// constructs.  Hence, this grammar uses the ANSI style.
+//
+// Cforall compounds this problem by introducing type names local to the scope of a declaration (for instance,
+// those introduced through "forall" qualifiers), and by introducing "type generators" -- parametrized types.
+// This latter type name creates a third class of identifiers that must be distinguished by the scanner.
+//
+// Since the scanner cannot distinguish among the different classes of identifiers without some context
+// information, it accesses a data structure (the TypedefTable) to allow classification of an identifier that
+// it has just read.  Semantic actions during the parser update this data structure when the class of
+// identifiers change.
+//
+// Because the Cforall language is block-scoped, there is the possibility that an identifier can change its
+// class in a local scope; it must revert to its original class at the end of the block.  Since type names can
+// be local to a particular declaration, each declaration is itself a scope.  This requires distinguishing
+// between type names that are local to the current declaration scope and those that persist past the end of
+// the declaration (i.e., names defined in "typedef" or "type" declarations).
+//
+// The non-terminals "push" and "pop" derive the empty string; their only use is to denote the opening and
+// closing of scopes.  Every push must have a matching pop, although it is regrettable the matching pairs do
+// not always occur within the same rule.  These non-terminals may appear in more contexts than strictly
+// necessary from a semantic point of view.  Unfortunately, these extra rules are necessary to prevent parsing
+// conflicts -- the parser may not have enough context and look-ahead information to decide whether a new
+// scope is necessary, so the effect of these extra rules is to open a new scope unconditionally.  As the
+// grammar evolves, it may be neccesary to add or move around "push" and "pop" nonterminals to resolve
+// conflicts of this sort.
+
+push:
+				{
+					typedefTable.enterScope();
+				}
+		;
+
+pop:
+				{
+					typedefTable.leaveScope();
+				}
+		;
+
+//************************* CONSTANTS ********************************
+
+constant:
+				// ENUMERATIONconstant is not included here; it is treated as a variable with type
+				// "enumeration constant".
+		INTEGERconstant									{ $$ = new ConstantNode(ConstantNode::Integer, $1); }
+		| FLOATINGconstant								{ $$ = new ConstantNode(ConstantNode::Float, $1); }
+		| CHARACTERconstant								{ $$ = new ConstantNode(ConstantNode::Character, $1); }
+		;
+
+identifier:
+		IDENTIFIER
+		| ATTR_IDENTIFIER								// CFA
+		| zero_one										// CFA
+		;
+
+no_01_identifier:
+		IDENTIFIER
+		| ATTR_IDENTIFIER								// CFA
+		;
+
+no_attr_identifier:
+		IDENTIFIER
+		;
+
+zero_one:												// CFA
+		ZERO
+		| ONE
+		;
+
+string_literal_list:									// juxtaposed strings are concatenated
+		STRINGliteral									{ $$ = new ConstantNode(ConstantNode::String, $1); }
+		| string_literal_list STRINGliteral				{ $$ = $1->append( $2 ); }
+		;
+
+//************************* EXPRESSIONS ********************************
+
+primary_expression:
+		IDENTIFIER										// typedef name cannot be used as a variable name
+				{ $$ = new VarRefNode($1); }
+		| zero_one
+				{ $$ = new VarRefNode($1); }
+		| constant
+				{ $$ = $1; }
+		| string_literal_list
+				{ $$ = $1; }
+		| '(' comma_expression ')'
+				{ $$ = $2; }
+		| '(' compound_statement ')'					// GCC, lambda expression
+				{ $$ = new ValofExprNode($2); }
+		;
+
+postfix_expression:
+		primary_expression
+		| postfix_expression '[' push assignment_expression pop ']'
+				// CFA, comma_expression disallowed in the context because it results in a commom user error:
+				// subscripting a matrix with x[i,j] instead of x[i][j]. While this change is not backwards
+				// compatible, there seems to be little advantage to this feature and many disadvantages. It
+				// is possible to write x[(i,j)] in CFA, which is equivalent to the old x[i,j].
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Index), $1, $4); }
+		| postfix_expression '(' argument_expression_list ')'
+				{ $$ = new CompositeExprNode($1, $3); }
+		| postfix_expression '.' no_attr_identifier
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::FieldSel), $1, new VarRefNode($3)); }
+		| postfix_expression '.' '[' push field_list pop ']' // CFA, tuple field selector
+		| postfix_expression ARROW no_attr_identifier
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::PFieldSel), $1, new VarRefNode($3)); }
+		| postfix_expression ARROW '[' push field_list pop ']' // CFA, tuple field selector
+		| postfix_expression ICR
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::IncrPost), $1); }
+		| postfix_expression DECR
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::DecrPost), $1); }
+				// GCC has priority: cast_expression
+		| '(' type_name_no_function ')' '{' initializer_list comma_opt '}' // C99
+				{ $$ = 0; }
+		;
+
+argument_expression_list:
+		argument_expression
+		| argument_expression_list ',' argument_expression
+				{ $$ = (ExpressionNode *)($1->set_link($3)); }
+		;
+
+argument_expression:
+		// empty
+				{ $$ = 0; }								// use default argument
+		| assignment_expression
+		| no_attr_identifier ':' assignment_expression
+				{ $$ = $3->set_asArgName($1); }
+				// Only a list of no_attr_identifier_or_typedef_name is allowed in this context. However,
+				// there is insufficient look ahead to distinguish between this list of parameter names and a
+				// tuple, so the tuple form must be used with an appropriate semantic check.
+		| '[' push assignment_expression pop ']' ':' assignment_expression
+				{ $$ = $7->set_asArgName($3); }
+		| '[' push assignment_expression ',' tuple_expression_list pop ']' ':' assignment_expression
+				{ $$ = $9->set_asArgName(new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)$3->set_link( flattenCommas( $5 )))); }
+		;
+
+field_list:												// CFA, tuple field selector
+		field
+		| field_list ',' field							{ $$ = (ExpressionNode *)$1->set_link( $3 ); }
+		;
+
+field:													// CFA, tuple field selector
+		no_attr_identifier
+				{ $$ = new VarRefNode( $1 ); }
+		| no_attr_identifier '.' field
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::FieldSel), new VarRefNode( $1 ), $3); }
+		| no_attr_identifier '.' '[' push field_list pop ']'
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::FieldSel), new VarRefNode( $1 ), $5); }
+		| no_attr_identifier ARROW field
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::PFieldSel), new VarRefNode( $1 ), $3); }
+		| no_attr_identifier ARROW '[' push field_list pop ']'
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::PFieldSel), new VarRefNode( $1 ), $5); }
+		;
+
+unary_expression:
+		postfix_expression
+		| ICR unary_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Incr), $2); }
+		| DECR unary_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Decr), $2); }
+		| EXTENSION cast_expression						// GCC
+				{ $$ = $2; }
+		| unary_operator cast_expression
+				{ $$ = new CompositeExprNode($1, $2); }
+		| '!' cast_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Neg), $2); }
+		| '*' cast_expression							// CFA
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::PointTo), $2); }
+				// '*' is is separated from unary_operator because of shift/reduce conflict in:
+				//		{ * X; } // dereference X
+				//		{ * int X; } // CFA declaration of pointer to int
+				// '&' must be moved here if C++ reference variables are supported.
+		| SIZEOF unary_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::SizeOf), $2); }
+		| SIZEOF '(' type_name_no_function ')'
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::SizeOf), new TypeValueNode($3)); }
+		| ATTR_IDENTIFIER
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Attr), new VarRefNode($1)); }
+		| ATTR_IDENTIFIER '(' type_name ')'
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Attr), new VarRefNode($1), new TypeValueNode($3)); }
+		| ATTR_IDENTIFIER '(' argument_expression ')'
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Attr), new VarRefNode($1), $3); }
+		| ALIGNOF unary_expression						// GCC, variable alignment
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::AlignOf), $2); }
+		| ALIGNOF '(' type_name_no_function ')'			// GCC, type alignment
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::AlignOf), new TypeValueNode($3)); }
+		| ANDAND no_attr_identifier						// GCC, address of label
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::LabelAddress), new VarRefNode($2, true)); }
+		;
+
+unary_operator:
+		'&'												{ $$ = new OperatorNode(OperatorNode::AddressOf); }
+		| '+'											{ $$ = new OperatorNode(OperatorNode::UnPlus); }
+		| '-'											{ $$ = new OperatorNode(OperatorNode::UnMinus); }
+		| '~'											{ $$ = new OperatorNode(OperatorNode::BitNeg); }
+		;
+
+cast_expression:
+		unary_expression
+		| '(' type_name_no_function ')' cast_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Cast), new TypeValueNode($2), $4); }
+		| '(' type_name_no_function ')' tuple
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Cast), new TypeValueNode($2), $4); }
+		;
+
+multiplicative_expression:
+		cast_expression
+		| multiplicative_expression '*' cast_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Mul),$1,$3); }
+		| multiplicative_expression '/' cast_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Div),$1,$3); }
+		| multiplicative_expression '%' cast_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Mod),$1,$3); }
+		;
+
+additive_expression:
+		multiplicative_expression
+		| additive_expression '+' multiplicative_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Plus),$1,$3); }
+		| additive_expression '-' multiplicative_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Minus),$1,$3); }
+		;
+
+shift_expression:
+		additive_expression
+		| shift_expression LS additive_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::LShift),$1,$3); }
+		| shift_expression RS additive_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::RShift),$1,$3); }
+		;
+
+relational_expression:
+		shift_expression
+		| relational_expression '<' shift_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::LThan),$1,$3); }
+		| relational_expression '>' shift_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::GThan),$1,$3); }
+		| relational_expression LE shift_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::LEThan),$1,$3); }
+		| relational_expression GE shift_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::GEThan),$1,$3); }
+		;
+
+equality_expression:
+		relational_expression
+		| equality_expression EQ relational_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Eq), $1, $3); }
+		| equality_expression NE relational_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Neq), $1, $3); }
+		;
+
+AND_expression:
+		equality_expression
+		| AND_expression '&' equality_expression
+				{ $$ =new CompositeExprNode(new OperatorNode(OperatorNode::BitAnd), $1, $3); }
+		;
+
+exclusive_OR_expression:
+		AND_expression
+		| exclusive_OR_expression '^' AND_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Xor), $1, $3); }
+		;
+
+inclusive_OR_expression:
+		exclusive_OR_expression
+		| inclusive_OR_expression '|' exclusive_OR_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::BitOr), $1, $3); }
+		;
+
+logical_AND_expression:
+		inclusive_OR_expression
+		| logical_AND_expression ANDAND inclusive_OR_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::And), $1, $3); }
+		;
+
+logical_OR_expression:
+		logical_AND_expression
+		| logical_OR_expression OROR logical_AND_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Or), $1, $3); }
+		;
+
+conditional_expression:
+		logical_OR_expression
+		| logical_OR_expression '?' comma_expression ':' conditional_expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Cond), (ExpressionNode *)mkList((*$1,*$3,*$5))); }
+		| logical_OR_expression '?' /* empty */ ':' conditional_expression // GCC, omitted first operand
+				{ $$=new CompositeExprNode(new OperatorNode(OperatorNode::NCond),$1,$4); }
+		| logical_OR_expression '?' comma_expression ':' tuple // CFA, tuple expression
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Cond), (ExpressionNode *)mkList(( *$1, *$3, *$5 ))); }
+		;
+
+constant_expression:
+		conditional_expression
+		;
+
+assignment_expression:
+				// CFA, assignment is separated from assignment_operator to ensure no assignment operations
+				// for tuples
+		conditional_expression
+		| unary_expression '=' assignment_expression
+				{ $$ =new CompositeExprNode(new OperatorNode(OperatorNode::Assign), $1, $3); }
+		| unary_expression assignment_operator assignment_expression
+				{ $$ =new CompositeExprNode($2, $1, $3); }
+		| tuple assignment_opt							// CFA, tuple expression
+				{ $$ = ($2 == 0) ? $1 : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), $1, $2 ); }
+		;
+
+assignment_expression_opt:
+		// empty
+				{ $$ = new NullExprNode; }
+		| assignment_expression
+		;
+
+tuple:													// CFA, tuple
+				// CFA, one assignment_expression is factored out of comma_expression to eliminate a
+				// shift/reduce conflict with comma_expression in new_identifier_parameter_array and
+				// new_abstract_array
+		'[' push pop ']'
+				{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
+		| '[' push assignment_expression pop ']'
+				{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), $3 ); }
+		| '[' push ',' tuple_expression_list pop ']'
+				{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( $4 ) ); }
+		| '[' push assignment_expression ',' tuple_expression_list pop ']'
+				{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)$3->set_link( flattenCommas( $5 ) ) ); }
+		;
+
+tuple_expression_list:
+		assignment_expression_opt
+		| tuple_expression_list ',' assignment_expression_opt
+				{ $$ = (ExpressionNode *)$1->set_link( $3 ); }
+		;
+
+assignment_operator:
+		MULTassign										{ $$ = new OperatorNode(OperatorNode::MulAssn); }
+		| DIVassign										{ $$ = new OperatorNode(OperatorNode::DivAssn); }
+		| MODassign										{ $$ = new OperatorNode(OperatorNode::ModAssn); }
+		| PLUSassign									{ $$ = new OperatorNode(OperatorNode::PlusAssn); }
+		| MINUSassign									{ $$ = new OperatorNode(OperatorNode::MinusAssn); }
+		| LSassign										{ $$ = new OperatorNode(OperatorNode::LSAssn); }
+		| RSassign										{ $$ = new OperatorNode(OperatorNode::RSAssn); }
+		| ANDassign										{ $$ = new OperatorNode(OperatorNode::AndAssn); }
+		| ERassign										{ $$ = new OperatorNode(OperatorNode::ERAssn); }
+		| ORassign										{ $$ = new OperatorNode(OperatorNode::OrAssn); }
+		;
+
+comma_expression:
+		assignment_expression
+		| comma_expression ',' assignment_expression	// { $$ = (ExpressionNode *)$1->add_to_list($3); }
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Comma),$1,$3); }
+		;
+
+comma_expression_opt:
+		// empty
+				{ $$ = 0; }
+		| comma_expression
+		;
+
+//*************************** STATEMENTS *******************************
+
+statement:
+		labeled_statement
+		| compound_statement
+		| expression_statement							{ $$ = $1; }
+		| selection_statement
+		| iteration_statement
+		| jump_statement
+		| exception_statement
+		| asm_statement
+		;
+
+labeled_statement:
+		no_attr_identifier ':' attribute_list_opt statement
+				{ $$ = $4->add_label($1);}
+		;
+
+compound_statement:
+		'{' '}'
+				{ $$ = new CompoundStmtNode( (StatementNode *)0 ); }
+		| '{'
+				// Two scopes are necessary because the block itself has a scope, but every declaration within
+				// the block also requires its own scope
+		  push push
+		  label_declaration_opt							// GCC, local labels
+		  block_item_list pop '}'						// C99, intermix declarations and statements
+				{ $$ = new CompoundStmtNode( $5 ); }
+		;
+
+block_item_list:										// C99
+		block_item
+		| block_item_list push block_item
+				{ if ($1 != 0) { $1->set_link($3); $$ = $1; } }
+		;
+
+block_item:
+		declaration										// CFA, new & old style declarations
+				{ $$ = new StatementNode( $1 ); }
+		| EXTENSION declaration							// GCC
+				{ $$ = new StatementNode( $2 ); }
+		| statement pop
+		;
+
+statement_list:
+		statement
+		| statement_list statement
+				{ if ($1 != 0) { $1->set_link($2); $$ = $1; } }
+		;
+
+expression_statement:
+		comma_expression_opt ';'
+				{ $$ = new StatementNode(StatementNode::Exp, $1, 0); }
+		;
+
+selection_statement:
+		IF '(' comma_expression ')' statement				%prec THEN
+				// explicitly deal with the shift/reduce conflict on if/else
+				{ $$ = new StatementNode(StatementNode::If, $3, $5); }
+		| IF '(' comma_expression ')' statement ELSE statement
+				{ $$ = new StatementNode(StatementNode::If, $3, (StatementNode *)mkList((*$5, *$7)) ); }
+		| SWITCH '(' comma_expression ')' case_clause	// CFA
+				{ $$ = new StatementNode(StatementNode::Switch, $3, $5); }
+		| SWITCH '(' comma_expression ')' '{' push declaration_list_opt switch_clause_list_opt '}' // CFA
+				{ $$ = new StatementNode(StatementNode::Switch, $3, $8); /* xxx */ }
+				// The semantics of the declaration list is changed to include any associated initialization,
+				// which is performed *before* the transfer to the appropriate case clause.  Statements after
+				// the initial declaration list can never be executed, and therefore, are removed from the
+				// grammar even though C allows it.
+		| CHOOSE '(' comma_expression ')' case_clause	// CFA
+				{ $$ = new StatementNode(StatementNode::Choose, $3, $5); }
+		| CHOOSE '(' comma_expression ')' '{' push declaration_list_opt choose_clause_list_opt '}' // CFA
+				{ $$ = new StatementNode(StatementNode::Choose, $3, $8); }
+		;
+
+// CASE and DEFAULT clauses are only allowed in the SWITCH statement, precluding Duff's device. In addition, a
+// case clause allows a list of values and subranges.
+
+case_value:												// CFA
+		constant_expression								{ $$ = $1; }
+		| constant_expression ELLIPSIS constant_expression // GCC, subrange
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Range),$1,$3); }
+		| subrange										// CFA, subrange
+		;
+
+case_value_list:										// CFA
+		case_value
+		| case_value_list ',' case_value
+				{ $$ = new CompositeExprNode(new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents($1))->set_link($3) ); }
+		;
+
+case_label:												// CFA
+		CASE case_value_list ':'						{ $$ = new StatementNode(StatementNode::Case, $2, 0); }
+		| DEFAULT ':'								    { $$ = new StatementNode(StatementNode::Default); }
+				// A semantic check is required to ensure only one default clause per switch/choose statement.
+		;
+
+case_label_list:										// CFA
+		case_label
+		| case_label_list case_label					{ $$ = (StatementNode *)($1->set_link($2)); }
+		;
+
+case_clause:											// CFA
+		case_label_list statement						{ $$ = $1->append_last_case($2); }
+		;
+
+switch_clause_list_opt:									// CFA
+		// empty
+				{ $$ = 0; }
+		| switch_clause_list
+		;
+
+switch_clause_list:										// CFA
+		case_label_list statement_list
+				{ $$ = $1->append_last_case($2); }
+		| switch_clause_list case_label_list statement_list
+				{ $$ = (StatementNode *)($1->set_link($2->append_last_case($3))); }
+		;
+
+choose_clause_list_opt:									// CFA
+		// empty
+				{ $$ = 0; }
+		| choose_clause_list
+		;
+
+choose_clause_list:										// CFA
+		case_label_list fall_through
+				{ $$ = $1->append_last_case($2); }
+		| case_label_list statement_list fall_through_opt
+				{ $$ = $1->append_last_case((StatementNode *)mkList((*$2,*$3))); }
+		| choose_clause_list case_label_list fall_through
+				{ $$ = (StatementNode *)($1->set_link($2->append_last_case($3))); }
+		| choose_clause_list case_label_list statement_list fall_through_opt
+				{ $$ = (StatementNode *)($1->set_link($2->append_last_case((StatementNode *)mkList((*$3,*$4))))); }
+		;
+
+fall_through_opt:										// CFA
+		// empty
+				{ $$ = 0; }
+		| fall_through
+		;
+
+fall_through:											// CFA
+		FALLTHRU										{ $$ = new StatementNode(StatementNode::Fallthru, 0, 0); }
+		| FALLTHRU ';'									{ $$ = new StatementNode(StatementNode::Fallthru, 0, 0); }
+		;
+
+iteration_statement:
+		WHILE '(' comma_expression ')' statement
+				{ $$ = new StatementNode(StatementNode::While, $3, $5); }
+		| DO statement WHILE '(' comma_expression ')' ';'
+				{ $$ = new StatementNode(StatementNode::Do, $5, $2); }
+		| FOR '(' push for_control_expression ')' statement
+				{ $$ = new StatementNode(StatementNode::For, $4, $6); }
+		;
+
+for_control_expression:
+		comma_expression_opt pop ';' comma_expression_opt ';' comma_expression_opt
+				{ $$ = new ForCtlExprNode($1, $4, $6); }
+		| declaration comma_expression_opt ';' comma_expression_opt // C99
+				// Like C++, the loop index can be declared local to the loop.
+				{ $$ = new ForCtlExprNode($1, $2, $4); }
+		;
+
+jump_statement:
+		GOTO no_attr_identifier ';'
+				{ $$ = new StatementNode(StatementNode::Goto, $2); }
+		| GOTO '*' comma_expression ';'				// GCC, computed goto
+				// The syntax for the GCC computed goto violates normal expression precedence, e.g., goto
+				// *i+3; => goto *(i+3); whereas normal operator precedence yields goto (*i)+3;
+				{ $$ = new StatementNode(StatementNode::Goto, $3); }
+		| CONTINUE ';'
+				// A semantic check is required to ensure this statement appears only in the body of an
+				// iteration statement.
+				{ $$ = new StatementNode(StatementNode::Continue, 0, 0); }
+		| CONTINUE no_attr_identifier ';'		// CFA, multi-level continue
+				// A semantic check is required to ensure this statement appears only in the body of an
+				// iteration statement, and the target of the transfer appears only at the start of an
+				// iteration statement.
+				{ $$ = new StatementNode(StatementNode::Continue, $2); }
+		| BREAK ';'
+				// A semantic check is required to ensure this statement appears only in the body of an
+				// iteration statement.
+				{ $$ = new StatementNode(StatementNode::Break, 0, 0); }
+		| BREAK no_attr_identifier ';'				// CFA, multi-level exit
+				// A semantic check is required to ensure this statement appears only in the body of an
+				// iteration statement, and the target of the transfer appears only at the start of an
+				// iteration statement.
+				{ $$ = new StatementNode(StatementNode::Break, $2 ); }
+		| RETURN comma_expression_opt ';'
+				{ $$ = new StatementNode(StatementNode::Return, $2, 0); }
+		| THROW assignment_expression ';'
+				{ $$ = new StatementNode(StatementNode::Throw, $2, 0); }
+		| THROW ';'
+				{ $$ = new StatementNode(StatementNode::Throw, 0, 0); }
+		;
+
+exception_statement:
+		TRY compound_statement handler_list
+				{ $$ = new StatementNode(StatementNode::Try, 0,(StatementNode *)(mkList((*$2,*$3)))); }
+		| TRY compound_statement finally_clause
+				{ $$ = new StatementNode(StatementNode::Try, 0,(StatementNode *)(mkList((*$2,*$3)))); }
+		| TRY compound_statement handler_list finally_clause
+				{ 
+					$3->set_link($4);
+					$$ = new StatementNode(StatementNode::Try, 0,(StatementNode *)(mkList((*$2,*$3))));
+				}
+		;
+
+handler_list:
+				// There must be at least one catch clause
+		handler_clause
+				// ISO/IEC 9899:1999 Section 15.3(6) If present, a "..." handler shall be the last handler for
+				// its try block.
+		| CATCH '(' ELLIPSIS ')' compound_statement
+				{ $$ = StatementNode::newCatchStmt( 0, $5, true ); }
+		| handler_clause CATCH '(' ELLIPSIS ')' compound_statement
+				{ $$ = $1->set_link( StatementNode::newCatchStmt( 0, $6, true ) ); }
+		;
+
+handler_clause:
+		CATCH '(' push push exception_declaration pop ')' compound_statement pop
+				{ $$ = StatementNode::newCatchStmt($5, $8); }
+		| handler_clause CATCH '(' push push exception_declaration pop ')' compound_statement pop
+				{ $$ = $1->set_link( StatementNode::newCatchStmt($6, $9) ); }
+		;
+
+finally_clause:
+		FINALLY compound_statement
+				{ $$ = new StatementNode(StatementNode::Finally, 0, $2);
+					std::cout << "Just created a finally node" << std::endl;
+				}
+		;
+
+exception_declaration:
+				// A semantic check is required to ensure type_specifier does not create a new type, e.g.:
+				//
+				//		catch ( struct { int i; } x ) ...
+				//
+				// This new type cannot catch any thrown type because of name equivalence among types.
+		type_specifier
+		| type_specifier declarator
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = $2->addType( $1 );
+				}
+		| type_specifier variable_abstract_declarator
+				{ $$ = $2->addType( $1 ); }
+		| new_abstract_declarator_tuple no_attr_identifier // CFA
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = $1->addName( $2 );
+				}
+		| new_abstract_declarator_tuple					// CFA
+		;
+
+asm_statement:
+		ASM type_qualifier_list_opt '(' constant_expression ')' ';'
+				{ $$ = new StatementNode(StatementNode::Asm, 0, 0); }
+		| ASM type_qualifier_list_opt '(' constant_expression ':' asm_operands_opt ')' ';' // remaining GCC
+				{ $$ = new StatementNode(StatementNode::Asm, 0, 0); }
+		| ASM type_qualifier_list_opt '(' constant_expression ':' asm_operands_opt ':' asm_operands_opt ')' ';'
+				{ $$ = new StatementNode(StatementNode::Asm, 0, 0); }
+		| ASM type_qualifier_list_opt '(' constant_expression ':' asm_operands_opt ':' asm_operands_opt ':'
+						asm_clobbers_list ')' ';'
+				{ $$ = new StatementNode(StatementNode::Asm, 0, 0); }
+		;
+
+asm_operands_opt:										// GCC
+		// empty
+		| asm_operands_list
+		;
+
+asm_operands_list:										// GCC
+		asm_operand
+		| asm_operands_list ',' asm_operand
+		;
+
+asm_operand:											// GCC
+		STRINGliteral '(' constant_expression ')'		{}
+		;
+
+asm_clobbers_list:										// GCC
+		STRINGliteral									{}
+		| asm_clobbers_list ',' STRINGliteral
+		;
+
+//******************************* DECLARATIONS *********************************
+
+declaration_list_opt:									// used at beginning of switch statement
+		pop
+				{ $$ = 0; }
+		| declaration_list
+		;
+
+declaration_list:
+		declaration
+		| declaration_list push declaration
+				{ $$ = $1->appendList( $3 ); }
+		;
+
+old_declaration_list_opt:								// used to declare parameter types in K&R style functions
+		pop
+				{ $$ = 0; }
+		| old_declaration_list
+		;
+
+old_declaration_list:
+		old_declaration
+		| old_declaration_list push old_declaration
+				{ $$ = $1->appendList( $3 ); }
+		;
+
+label_declaration_opt:									// GCC, local label
+		// empty
+		| label_declaration_list
+		;
+
+label_declaration_list:									// GCC, local label
+		LABEL label_list ';'
+		| label_declaration_list LABEL label_list ';'
+		;
+
+label_list:												// GCC, local label
+		no_attr_identifier_or_typedef_name				{}
+		| label_list ',' no_attr_identifier_or_typedef_name {}
+		;
+
+declaration:											// CFA, new & old style declarations
+		new_declaration
+		| old_declaration
+		;
+
+// C declaration syntax is notoriously confusing and error prone. Cforall provides its own type, variable and
+// function declarations. CFA declarations use the same declaration tokens as in C; however, CFA places
+// declaration modifiers to the left of the base type, while C declarations place modifiers to the right of
+// the base type. CFA declaration modifiers are interpreted from left to right and the entire type
+// specification is distributed across all variables in the declaration list (as in Pascal).  ANSI C and the
+// new CFA declarations may appear together in the same program block, but cannot be mixed within a specific
+// declaration.
+//
+//			CFA					C
+//		[10] int x;			int x[10];		// array of 10 integers
+//		[10] * char y;		char *y[10];	// array of 10 pointers to char
+
+new_declaration:										// CFA
+		new_variable_declaration pop ';'
+		| new_typedef_declaration pop ';'
+		| new_function_declaration pop ';'
+		| type_declaring_list pop ';'
+		| context_specifier pop ';'
+		;
+
+new_variable_declaration:								// CFA
+		new_variable_specifier initializer_opt
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = $1;
+				}
+		| declaration_qualifier_list new_variable_specifier initializer_opt
+				// declaration_qualifier_list also includes type_qualifier_list, so a semantic check is
+				// necessary to preclude them as a type_qualifier cannot appear in that context.
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = $2->addQualifiers( $1 );
+				}
+		| new_variable_declaration pop ',' push identifier_or_typedef_name initializer_opt
+				{
+					typedefTable.addToEnclosingScope( *$5, TypedefTable::ID );
+					$$ = $1->appendList( $1->cloneType( $5 ) );
+				}
+		;
+
+new_variable_specifier:									// CFA
+				// A semantic check is required to ensure asm_name only appears on declarations with implicit
+				// or explicit static storage-class
+		new_abstract_declarator_no_tuple identifier_or_typedef_name asm_name_opt
+				{
+					typedefTable.setNextIdentifier( *$2 );
+					$$ = $1->addName( $2 );
+				}
+		| new_abstract_tuple identifier_or_typedef_name asm_name_opt
+				{
+					typedefTable.setNextIdentifier( *$2 );
+					$$ = $1->addName( $2 );
+				}
+		| type_qualifier_list new_abstract_tuple identifier_or_typedef_name asm_name_opt
+				{
+					typedefTable.setNextIdentifier( *$3 );
+					$$ = $2->addQualifiers( $1 )->addName( $3 );
+				}
+		;
+
+new_function_declaration:								// CFA
+		new_function_specifier
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = $1;
+				}
+		| declaration_qualifier_list new_function_specifier
+				// declaration_qualifier_list also includes type_qualifier_list, so a semantic check is
+				// necessary to preclude them as a type_qualifier cannot appear in this context.
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = $2->addQualifiers( $1 );
+				}
+		| new_function_declaration pop ',' push identifier_or_typedef_name
+				{
+					typedefTable.addToEnclosingScope( *$5, TypedefTable::ID );
+					$$ = $1->appendList( $1->cloneType( $5 ) );
+				}
+		;
+
+new_function_specifier:									// CFA
+		'[' push pop ']' identifier '(' push new_parameter_type_list_opt pop ')'
+				{
+					typedefTable.setNextIdentifier( *($5) );
+					$$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true );
+				}
+		| '[' push pop ']' TYPEDEFname '(' push new_parameter_type_list_opt pop ')'
+				{
+					typedefTable.setNextIdentifier( *($5) );
+					$$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true );
+				}
+				// identifier_or_typedef_name must be broken apart because of the sequence:
+				//
+				//   '[' ']' identifier_or_typedef_name '(' new_parameter_type_list_opt ')'
+				//   '[' ']' type_specifier
+				//
+				// type_specifier can resolve to just TYPEDEFname (e.g. typedef int T; int f( T );). Therefore
+				// this must be flattened to allow lookahead to the '(' without having to reduce
+				// identifier_or_typedef_name.
+		| new_abstract_tuple identifier_or_typedef_name '(' push new_parameter_type_list_opt pop ')'
+				// To obtain LR(1), this rule must be factored out from function return type (see
+				//   new_abstract_declarator).
+				{
+					$$ = DeclarationNode::newFunction( $2, $1, $5, 0, true );
+				}
+		| new_function_return identifier_or_typedef_name '(' push new_parameter_type_list_opt pop ')'
+				{
+					$$ = DeclarationNode::newFunction( $2, $1, $5, 0, true );
+				}
+		;
+
+new_function_return:									// CFA
+		'[' push new_parameter_list pop ']'
+				{ $$ = DeclarationNode::newTuple( $3 ); }
+		| '[' push new_parameter_list pop ',' push new_abstract_parameter_list pop ']'
+				// To obtain LR(1), the last new_abstract_parameter_list is added into this flattened rule to
+				// lookahead to the ']'.
+				{ $$ = DeclarationNode::newTuple( $3->appendList( $7 ) ); }
+		;
+
+new_typedef_declaration:								// CFA
+		TYPEDEF new_variable_specifier
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::TD);
+					$$ = $2->addTypedef();
+				}
+		| TYPEDEF new_function_specifier
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::TD);
+					$$ = $2->addTypedef();
+				}
+		| new_typedef_declaration pop ',' push no_attr_identifier
+				{
+					typedefTable.addToEnclosingScope( *$5, TypedefTable::TD);
+					$$ = $1->appendList( $1->cloneType( $5 ) );
+				}
+		;
+
+// Traditionally typedef is part of storage-class specifier for syntactic convenience only. Here, it is
+// factored out as a separate form of declaration, which syntactically precludes storage-class specifiers and
+// initialization.
+
+typedef_declaration:
+		TYPEDEF type_specifier declarator
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::TD);
+					$$ = $3->addType( $2 )->addTypedef();
+				}
+		| typedef_declaration pop ',' push declarator
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::TD);
+					$$ = $1->appendList( $1->cloneBaseType( $5 )->addTypedef() );
+				}
+		| type_qualifier_list TYPEDEF type_specifier declarator // remaining OBSOLESCENT (see 2)
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::TD);
+					$$ = $4->addType( $3 )->addQualifiers( $1 )->addTypedef();
+				}
+		| type_specifier TYPEDEF declarator
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::TD);
+					$$ = $3->addType( $1 )->addTypedef();
+				}
+		| type_specifier TYPEDEF type_qualifier_list declarator
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::TD);
+					$$ = $4->addQualifiers($1)->addTypedef()->addType($1);
+				}
+		;
+
+typedef_expression:										// GCC, naming expression type
+		TYPEDEF no_attr_identifier '=' assignment_expression
+				{
+					typedefTable.addToEnclosingScope(*($2), TypedefTable::TD);
+					$$ = DeclarationNode::newName( 0 ); // XXX
+				}
+		| typedef_expression pop ',' push no_attr_identifier '=' assignment_expression
+				{
+					typedefTable.addToEnclosingScope(*($5), TypedefTable::TD);
+					$$ = DeclarationNode::newName( 0 ); // XXX
+				}
+		;
+
+old_declaration:
+		declaring_list pop ';'
+		| typedef_declaration pop ';'
+		| typedef_expression pop ';'					// GCC, naming expression type
+		| sue_declaration_specifier pop ';'
+		;
+
+declaring_list:
+				// A semantic check is required to ensure asm_name only appears on declarations with implicit
+				// or explicit static storage-class
+		declaration_specifier declarator asm_name_opt initializer_opt
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = ($2->addType( $1 ))->addInitializer($4);
+				}
+		| declaring_list ',' attribute_list_opt declarator asm_name_opt initializer_opt
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = $1->appendList( $1->cloneBaseType( $4->addInitializer($6) ) );
+				}
+		;
+
+declaration_specifier:									// type specifier + storage class
+		basic_declaration_specifier
+		| sue_declaration_specifier
+		| typedef_declaration_specifier
+		| typegen_declaration_specifier
+		;
+
+type_specifier:											// declaration specifier - storage class
+		basic_type_specifier
+		| sue_type_specifier
+		| typedef_type_specifier
+		| typegen_type_specifier
+		;
+
+type_qualifier_list_opt:								// GCC, used in asm_statement
+		// empty
+				{ $$ = 0; }
+		| type_qualifier_list
+		;
+
+type_qualifier_list:
+				// A semantic check is necessary to ensure a type qualifier is appropriate for the kind of
+				// declaration.
+				//
+				// ISO/IEC 9899:1999 Section 6.7.3(4) : If the same qualifier appears more than once in the
+				// same specifier-qualifier-list, either directly or via one or more typedefs, the behavior is
+				// the same as if it appeared only once.
+		type_qualifier
+		| type_qualifier_list type_qualifier
+				{ $$ = $1->addQualifiers( $2 ); }
+		;
+
+type_qualifier:
+		type_qualifier_name
+		| attribute
+				{ $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); }
+		;
+
+type_qualifier_name:
+		CONST
+				{ $$ = DeclarationNode::newQualifier( DeclarationNode::Const ); }
+		| RESTRICT
+				{ $$ = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
+		| VOLATILE
+				{ $$ = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
+		| LVALUE										// CFA
+				{ $$ = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
+		| ATOMIC
+				{ $$ = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
+		| FORALL '('
+				{
+					typedefTable.enterScope();
+				}
+		  type_parameter_list ')'						// CFA
+				{
+					typedefTable.leaveScope();
+					$$ = DeclarationNode::newForall( $4 );
+				}
+		;
+
+declaration_qualifier_list:
+		storage_class_list
+		| type_qualifier_list storage_class_list		// remaining OBSOLESCENT (see 2)
+				{ $$ = $1->addQualifiers( $2 ); }
+		| declaration_qualifier_list type_qualifier_list storage_class_list
+				{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
+		;
+
+storage_class_list:
+				// A semantic check is necessary to ensure a storage class is appropriate for the kind of
+				// declaration and that only one of each is specified, except for inline, which can appear
+				// with the others.
+				//
+				// ISO/IEC 9899:1999 Section 6.7.1(2) : At most, one storage-class specifier may be given in
+				// the declaration specifiers in a declaration.
+		storage_class
+		| storage_class_list storage_class
+				{ $$ = $1->addQualifiers( $2 ); }
+		;
+
+storage_class:
+		storage_class_name
+		;
+
+storage_class_name:
+		EXTERN
+				{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
+		| STATIC
+				{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
+		| AUTO
+				{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
+		| REGISTER
+				{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
+		| INLINE										// C99
+				// INLINE is essentially a storage class specifier for functions, and hence, belongs here.
+				{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
+		| FORTRAN										// C99
+				{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
+		;
+
+basic_type_name:
+		CHAR
+				{ $$ = DeclarationNode::newBasicType( DeclarationNode::Char ); }
+		| DOUBLE
+				{ $$ = DeclarationNode::newBasicType( DeclarationNode::Double ); }
+		| FLOAT
+				{ $$ = DeclarationNode::newBasicType( DeclarationNode::Float ); }
+		| INT
+				{ $$ = DeclarationNode::newBasicType( DeclarationNode::Int ); }
+		| LONG
+				{ $$ = DeclarationNode::newModifier( DeclarationNode::Long ); }
+		| SHORT
+				{ $$ = DeclarationNode::newModifier( DeclarationNode::Short ); }
+		| SIGNED
+				{ $$ = DeclarationNode::newModifier( DeclarationNode::Signed ); }
+		| UNSIGNED
+				{ $$ = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
+		| VOID
+				{ $$ = DeclarationNode::newBasicType( DeclarationNode::Void ); }
+		| BOOL											// C99
+				{ $$ = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
+		| COMPLEX										// C99
+				{ $$ = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
+		| IMAGINARY										// C99
+				{ $$ = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
+		;
+
+basic_declaration_specifier:
+				// A semantic check is necessary for conflicting storage classes.
+		basic_type_specifier
+		| declaration_qualifier_list basic_type_specifier
+				{ $$ = $2->addQualifiers( $1 ); }
+		| basic_declaration_specifier storage_class		// remaining OBSOLESCENT (see 2)
+				{ $$ = $1->addQualifiers( $2 ); }
+		| basic_declaration_specifier storage_class type_qualifier_list
+				{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
+		| basic_declaration_specifier storage_class basic_type_specifier
+				{ $$ = $3->addQualifiers( $2 )->addType( $1 ); }
+		;
+
+basic_type_specifier:
+		direct_type_name
+		| type_qualifier_list_opt indirect_type_name type_qualifier_list_opt
+				{ $$ = $2->addQualifiers( $1 )->addQualifiers( $3 ); }
+		;
+
+direct_type_name:
+				// A semantic check is necessary for conflicting type qualifiers.
+		basic_type_name
+		| type_qualifier_list basic_type_name
+				{ $$ = $2->addQualifiers( $1 ); }
+		| direct_type_name type_qualifier
+				{ $$ = $1->addQualifiers( $2 ); }
+		| direct_type_name basic_type_name
+				{ $$ = $1->addType( $2 ); }
+		;
+
+indirect_type_name:
+		TYPEOF '(' type_name ')'						// GCC: typeof(x) y;
+				{ $$ = $3; }
+		| TYPEOF '(' comma_expression ')'				// GCC: typeof(a+b) y;
+				{ $$ = DeclarationNode::newTypeof( $3 ); }
+		| ATTR_TYPEGENname '(' type_name ')'			// CFA: e.g., @type(x) y;
+				{ $$ = DeclarationNode::newAttr( $1, $3 ); }
+		| ATTR_TYPEGENname '(' comma_expression ')'		// CFA: e.g., @type(a+b) y;
+				{ $$ = DeclarationNode::newAttr( $1, $3 ); }
+		;
+
+sue_declaration_specifier:
+		sue_type_specifier
+		| declaration_qualifier_list sue_type_specifier
+				{ $$ = $2->addQualifiers( $1 ); }
+		| sue_declaration_specifier storage_class		// remaining OBSOLESCENT (see 2)
+				{ $$ = $1->addQualifiers( $2 ); }
+		| sue_declaration_specifier storage_class type_qualifier_list
+				{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
+		;
+
+sue_type_specifier:
+		elaborated_type_name							// struct, union, enum
+		| type_qualifier_list elaborated_type_name
+				{ $$ = $2->addQualifiers( $1 ); }
+		| sue_type_specifier type_qualifier
+				{ $$ = $1->addQualifiers( $2 ); }
+		;
+
+typedef_declaration_specifier:
+		typedef_type_specifier
+		| declaration_qualifier_list typedef_type_specifier
+				{ $$ = $2->addQualifiers( $1 ); }
+		| typedef_declaration_specifier storage_class	// remaining OBSOLESCENT (see 2)
+				{ $$ = $1->addQualifiers( $2 ); }
+		| typedef_declaration_specifier storage_class type_qualifier_list
+				{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
+		;
+
+typedef_type_specifier:									// typedef types
+		TYPEDEFname
+				{ $$ = DeclarationNode::newFromTypedef( $1 ); }
+		| type_qualifier_list TYPEDEFname
+				{ $$ = DeclarationNode::newFromTypedef( $2 )->addQualifiers( $1 ); }
+		| typedef_type_specifier type_qualifier
+				{ $$ = $1->addQualifiers( $2 ); }
+		;
+
+elaborated_type_name:
+		aggregate_name
+		| enum_name
+		;
+
+aggregate_name:
+		aggregate_key '{' field_declaration_list '}'
+				{ $$ = DeclarationNode::newAggregate( $1, 0, 0, 0, $3 ); }
+		| aggregate_key no_attr_identifier_or_typedef_name
+				{ $$ = DeclarationNode::newAggregate( $1, $2, 0, 0, 0 ); }
+		| aggregate_key no_attr_identifier_or_typedef_name '{' field_declaration_list '}'
+				{ $$ = DeclarationNode::newAggregate( $1, $2, 0, 0, $4 ); }
+		| aggregate_key '(' push type_parameter_list pop ')' '{' field_declaration_list '}' // CFA
+				{ $$ = DeclarationNode::newAggregate( $1, 0, $4, 0, $8 ); }
+		| aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name // CFA
+				{ $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, 0 ); }
+		| aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA
+				{ $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, $9 ); }
+		| aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' '{' field_declaration_list '}' // CFA
+				{ $$ = DeclarationNode::newAggregate( $1, 0, $4, $8, $11 ); }
+		| aggregate_key '(' push type_name_list pop ')' no_attr_identifier_or_typedef_name // CFA
+				// push and pop are only to prevent S/R conflicts
+				{ $$ = DeclarationNode::newAggregate( $1, $7, 0, $4, 0 ); }
+		| aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA
+				{ $$ = DeclarationNode::newAggregate( $1, $10, $4, $8, $12 ); }
+		;
+
+aggregate_key:
+		STRUCT attribute_list_opt
+				{ $$ = DeclarationNode::Struct; }
+		| UNION attribute_list_opt
+				{ $$ = DeclarationNode::Union; }
+		;
+
+field_declaration_list:
+		field_declaration
+				{ $$ = $1; }
+		| field_declaration_list field_declaration
+				{ $$ = $1->appendList( $2 ); }
+		;
+
+field_declaration:
+		new_field_declaring_list ';'					// CFA, new style field declaration
+		| EXTENSION new_field_declaring_list ';'		// GCC
+				{ $$ = $2; }
+		| field_declaring_list ';'
+		| EXTENSION field_declaring_list ';'			// GCC
+				{ $$ = $2; }
+		;
+
+new_field_declaring_list:								// CFA, new style field declaration
+		new_abstract_declarator_tuple					// CFA, no field name
+		| new_abstract_declarator_tuple no_attr_identifier_or_typedef_name
+				{ $$ = $1->addName( $2 ); }
+		| new_field_declaring_list ',' no_attr_identifier_or_typedef_name
+				{ $$ = $1->appendList( $1->cloneType( $3 ) ); }
+		| new_field_declaring_list ','					// CFA, no field name
+				{ $$ = $1->appendList( $1->cloneType( 0 ) ); }
+		;
+
+field_declaring_list:
+		type_specifier field_declarator
+				{ $$ = $2->addType( $1 ); }
+		| field_declaring_list ',' attribute_list_opt field_declarator
+				{ $$ = $1->appendList( $1->cloneBaseType( $4 ) ); }
+		;
+
+field_declarator:
+		// empty
+				{ $$ = DeclarationNode::newName( 0 ); /* XXX */ } // CFA, no field name
+		| bit_subrange_size								// no field name
+				{ $$ = DeclarationNode::newBitfield( $1 ); }
+		| variable_declarator bit_subrange_size_opt
+				// A semantic check is required to ensure bit_subrange only appears on base type int.
+				{ $$ = $1->addBitfield( $2 ); }
+		| typedef_redeclarator bit_subrange_size_opt
+				// A semantic check is required to ensure bit_subrange only appears on base type int.
+				{ $$ = $1->addBitfield( $2 ); }
+		| variable_abstract_declarator					// CFA, no field name
+		;
+
+bit_subrange_size_opt:
+		// empty
+				{ $$ = 0; }
+		| bit_subrange_size
+				{ $$ = $1; }
+		;
+
+bit_subrange_size:
+		':' constant_expression
+				{ $$ = $2; }
+		;
+
+enum_key:
+		ENUM attribute_list_opt
+		;
+
+enum_name:
+		enum_key '{' enumerator_list comma_opt '}'
+				{ $$ = DeclarationNode::newEnum( 0, $3 ); }
+		| enum_key no_attr_identifier_or_typedef_name '{' enumerator_list comma_opt '}'
+				{ $$ = DeclarationNode::newEnum( $2, $4 ); }
+		| enum_key no_attr_identifier_or_typedef_name
+				{ $$ = DeclarationNode::newEnum( $2, 0 ); }
+		;
+
+enumerator_list:
+		no_attr_identifier_or_typedef_name enumerator_value_opt
+				{ $$ = DeclarationNode::newEnumConstant( $1, $2 ); }
+		| enumerator_list ',' no_attr_identifier_or_typedef_name enumerator_value_opt
+				{ $$ = $1->appendList( DeclarationNode::newEnumConstant( $3, $4 ) ); }
+		;
+
+enumerator_value_opt:
+		// empty
+				{ $$ = 0; }
+		| '=' constant_expression
+				{ $$ = $2; }
+		;
+
+// Minimum of one parameter after which ellipsis is allowed only at the end.
+
+new_parameter_type_list_opt:							// CFA
+		// empty
+				{ $$ = 0; }
+		| new_parameter_type_list
+		;
+
+new_parameter_type_list:								// CFA, abstract + real
+		new_abstract_parameter_list
+		| new_parameter_list
+		| new_parameter_list pop ',' push new_abstract_parameter_list
+				{ $$ = $1->appendList( $5 ); }
+		| new_abstract_parameter_list pop ',' push ELLIPSIS
+				{ $$ = $1->addVarArgs(); }
+		| new_parameter_list pop ',' push ELLIPSIS
+				{ $$ = $1->addVarArgs(); }
+		;
+
+new_parameter_list:										// CFA
+				// To obtain LR(1) between new_parameter_list and new_abstract_tuple, the last
+				// new_abstract_parameter_list is factored out from new_parameter_list, flattening the rules
+				// to get lookahead to the ']'.
+		new_parameter_declaration
+		| new_abstract_parameter_list pop ',' push new_parameter_declaration
+				{ $$ = $1->appendList( $5 ); }
+		| new_parameter_list pop ',' push new_parameter_declaration
+				{ $$ = $1->appendList( $5 ); }
+		| new_parameter_list pop ',' push new_abstract_parameter_list pop ',' push new_parameter_declaration
+				{ $$ = $1->appendList( $5 )->appendList( $9 ); }
+		;
+
+new_abstract_parameter_list:							// CFA, new & old style abstract
+		new_abstract_parameter_declaration
+		| new_abstract_parameter_list pop ',' push new_abstract_parameter_declaration
+				{ $$ = $1->appendList( $5 ); }
+		;
+
+parameter_type_list_opt:
+		// empty
+				{ $$ = 0; }
+		| parameter_type_list
+		;
+
+parameter_type_list:
+		parameter_list
+		| parameter_list pop ',' push ELLIPSIS
+				{ $$ = $1->addVarArgs(); }
+		;
+
+parameter_list:											// abstract + real
+		abstract_parameter_declaration
+		| parameter_declaration
+		| parameter_list pop ',' push abstract_parameter_declaration
+				{ $$ = $1->appendList( $5 ); }
+		| parameter_list pop ',' push parameter_declaration
+				{ $$ = $1->appendList( $5 ); }
+		;
+
+// Provides optional identifier names (abstract_declarator/variable_declarator), no initialization, different
+// semantics for typedef name by using typedef_parameter_redeclarator instead of typedef_redeclarator, and
+// function prototypes.
+
+new_parameter_declaration:								// CFA, new & old style parameter declaration
+		parameter_declaration
+		| new_identifier_parameter_declarator_no_tuple identifier_or_typedef_name assignment_opt
+				{ $$ = $1->addName( $2 ); }
+		| new_abstract_tuple identifier_or_typedef_name assignment_opt
+				// To obtain LR(1), these rules must be duplicated here (see new_abstract_declarator).
+				{ $$ = $1->addName( $2 ); }
+		| type_qualifier_list new_abstract_tuple identifier_or_typedef_name assignment_opt
+				{ $$ = $2->addName( $3 )->addQualifiers( $1 ); }
+		| new_function_specifier
+		;
+
+new_abstract_parameter_declaration:						// CFA, new & old style parameter declaration
+		abstract_parameter_declaration
+		| new_identifier_parameter_declarator_no_tuple
+		| new_abstract_tuple
+				// To obtain LR(1), these rules must be duplicated here (see new_abstract_declarator).
+		| type_qualifier_list new_abstract_tuple
+				{ $$ = $2->addQualifiers( $1 ); }
+		| new_abstract_function
+		;
+
+parameter_declaration:
+		declaration_specifier identifier_parameter_declarator assignment_opt
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = $2->addType( $1 )->addInitializer( new InitializerNode($3) );
+				}
+		| declaration_specifier typedef_parameter_redeclarator assignment_opt
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					$$ = $2->addType( $1 )->addInitializer( new InitializerNode($3) );
+				}
+		;
+
+abstract_parameter_declaration:
+		declaration_specifier
+		| declaration_specifier abstract_parameter_declarator
+				{ $$ = $2->addType( $1 ); }
+		;
+
+// ISO/IEC 9899:1999 Section 6.9.1(6) : "An identifier declared as a typedef name shall not be redeclared as a
+// parameter." Because the scope of the K&R-style parameter-list sees the typedef first, the following is
+// based only on identifiers.  The ANSI-style parameter-list can redefine a typedef name.
+
+identifier_list:										// K&R-style parameter list => no types
+		no_attr_identifier
+				{ $$ = DeclarationNode::newName( $1 ); }
+		| identifier_list ',' no_attr_identifier
+				{ $$ = $1->appendList( DeclarationNode::newName( $3 ) ); }
+		;
+
+identifier_or_typedef_name:
+		identifier
+		| TYPEDEFname
+		| TYPEGENname
+		;
+
+no_01_identifier_or_typedef_name:
+		no_01_identifier
+		| TYPEDEFname
+		| TYPEGENname
+		;
+
+no_attr_identifier_or_typedef_name:
+		no_attr_identifier
+		| TYPEDEFname
+		| TYPEGENname
+		;
+
+type_name_no_function:									// sizeof, alignof, cast (constructor)
+		new_abstract_declarator_tuple					// CFA
+		| type_specifier
+		| type_specifier variable_abstract_declarator
+				{ $$ = $2->addType( $1 ); }
+		;
+
+type_name:												// typeof, assertion
+		new_abstract_declarator_tuple					// CFA
+		| new_abstract_function							// CFA
+		| type_specifier
+		| type_specifier abstract_declarator
+				{ $$ = $2->addType( $1 ); }
+		;
+
+initializer_opt:
+		// empty
+				{ $$ = 0; }
+		| '=' initializer								{ $$ = $2; }
+		;
+
+initializer:
+		assignment_expression							{ $$ = new InitializerNode($1); }
+		| '{' initializer_list comma_opt '}'			{ $$ = new InitializerNode($2, true); }
+		;
+
+initializer_list:
+		initializer
+		| designation initializer						{ $$ = $2->set_designators( $1 ); }
+		| initializer_list ',' initializer				{ $$ = (InitializerNode *)( $1->set_link($3) ); }
+		| initializer_list ',' designation initializer
+				{ $$ = (InitializerNode *)( $1->set_link( $4->set_designators($3) ) ); }
+		;
+
+// There is an unreconcileable parsing problem between C99 and CFA with respect to designators. The problem is
+// use of '=' to separator the designator from the initializer value, as in:
+//
+//		int x[10] = { [1] = 3 };
+//
+// The string "[1] = 3" can be parsed as a designator assignment or a tuple assignment.  To disambiguate this
+// case, CFA changes the syntax from "=" to ":" as the separator between the designator and initializer. GCC
+// does uses ":" for field selection. The optional use of the "=" in GCC, or in this case ":", cannot be
+// supported either due to shift/reduce conflicts
+
+designation:
+		designator_list ':'								// C99, CFA uses ":" instead of "="
+		| no_attr_identifier_or_typedef_name ':'		// GCC, field name
+						{ $$ = new VarRefNode( $1 ); }
+		;
+
+designator_list:										// C99
+		designator
+		| designator_list designator						{ $$ = (ExpressionNode *)($1->set_link( $2 )); }
+		;
+
+designator:
+		'.' no_attr_identifier_or_typedef_name			// C99, field name
+				{ $$ = new VarRefNode( $2 ); }
+		| '[' push assignment_expression pop ']'		// C99, single array element
+				// assignment_expression used instead of constant_expression because of shift/reduce conflicts
+				// with tuple.
+				{ $$ = $3; }
+		| '[' push subrange pop ']'						// CFA, multiple array elements
+				{ $$ = $3; }
+		| '[' push constant_expression ELLIPSIS constant_expression pop ']' // GCC, multiple array elements
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Range), $3, $5); }
+		| '.' '[' push field_list pop ']'				// CFA, tuple field selector
+				{ $$ = $4; }
+		;
+
+// The CFA type system is based on parametric polymorphism, the ability to declare functions with type
+// parameters, rather than an object-oriented type system. This required four groups of extensions:
+//
+// Overloading: function, data, and operator identifiers may be overloaded.
+//
+// Type declarations: "type" is used to generate new types for declaring objects. Similarly, "dtype" is used
+//     for object and incomplete types, and "ftype" is used for function types. Type declarations with
+//     initializers provide definitions of new types. Type declarations with storage class "extern" provide
+//     opaque types.
+//
+// Polymorphic functions: A forall clause declares a type parameter. The corresponding argument is inferred at
+//     the call site. A polymorphic function is not a template; it is a function, with an address and a type.
+//
+// Specifications and Assertions: Specifications are collections of declarations parameterized by one or more
+//     types. They serve many of the purposes of abstract classes, and specification hierarchies resemble
+//     subclass hierarchies. Unlike classes, they can define relationships between types.  Assertions declare
+//     that a type or types provide the operations declared by a specification.  Assertions are normally used
+//     to declare requirements on type arguments of polymorphic functions.
+
+typegen_declaration_specifier:							// CFA
+		typegen_type_specifier
+		| declaration_qualifier_list typegen_type_specifier
+				{ $$ = $2->addQualifiers( $1 ); }
+		| typegen_declaration_specifier storage_class	// remaining OBSOLESCENT (see 2)
+				{ $$ = $1->addQualifiers( $2 ); }
+		| typegen_declaration_specifier storage_class type_qualifier_list
+				{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
+		;
+
+typegen_type_specifier:									// CFA
+		TYPEGENname '(' type_name_list ')'
+				{ $$ = DeclarationNode::newFromTypeGen( $1, $3 ); }
+		| type_qualifier_list TYPEGENname '(' type_name_list ')'
+				{ $$ = DeclarationNode::newFromTypeGen( $2, $4 )->addQualifiers( $1 ); }
+		| typegen_type_specifier type_qualifier
+				{ $$ = $1->addQualifiers( $2 ); }
+		;
+
+type_parameter_list:									// CFA
+		type_parameter assignment_opt
+		| type_parameter_list ',' type_parameter assignment_opt
+				{ $$ = $1->appendList( $3 ); }
+		;
+
+type_parameter:											// CFA
+		type_class no_attr_identifier_or_typedef_name
+				{ typedefTable.addToEnclosingScope(*($2), TypedefTable::TD); }
+		  assertion_list_opt
+				{ $$ = DeclarationNode::newTypeParam( $1, $2 )->addAssertions( $4 ); }
+		| type_specifier identifier_parameter_declarator
+		;
+
+type_class:												// CFA
+		TYPE
+				{ $$ = DeclarationNode::Type; }
+		| DTYPE
+				{ $$ = DeclarationNode::Ftype; }
+		| FTYPE
+				{ $$ = DeclarationNode::Dtype; }
+		;
+
+assertion_list_opt:										// CFA
+		// empty
+				{ $$ = 0; }
+		| assertion_list_opt assertion
+				{ $$ = $1 == 0 ? $2 : $1->appendList( $2 ); }
+		;
+
+assertion:												// CFA
+		'|' no_attr_identifier_or_typedef_name '(' type_name_list ')'
+				{
+					typedefTable.openContext( *($2) );
+					$$ = DeclarationNode::newContextUse( $2, $4 );
+				}
+		| '|' '{' push context_declaration_list '}'
+				{ $$ = $4; }
+		| '|' '(' push type_parameter_list pop ')' '{' push context_declaration_list '}' '(' type_name_list ')'
+				{ $$ = 0; }
+		;
+
+type_name_list:											// CFA
+		type_name
+				{ $$ = new TypeValueNode( $1 ); }
+		| assignment_expression
+		| type_name_list ',' type_name
+				{ $$ = (ExpressionNode *)($1->set_link(new TypeValueNode( $3 ))); }
+		| type_name_list ',' assignment_expression
+				{ $$ = (ExpressionNode *)($1->set_link($3)); }
+		;
+
+type_declaring_list:									// CFA
+		TYPE type_declarator
+				{ $$ = $2; }
+		| storage_class_list TYPE type_declarator
+				{ $$ = $3->addQualifiers( $1 ); }
+		| type_declaring_list ',' type_declarator
+				{ $$ = $1->appendList( $3->copyStorageClasses( $1 ) ); }
+		;
+
+type_declarator:										// CFA
+		type_declarator_name assertion_list_opt
+				{ $$ = $1->addAssertions( $2 ); }
+		| type_declarator_name assertion_list_opt '=' type_name
+				{ $$ = $1->addAssertions( $2 )->addType( $4 ); }
+		;
+
+type_declarator_name:									// CFA
+		no_attr_identifier_or_typedef_name
+				{
+					typedefTable.addToEnclosingScope(*($1), TypedefTable::TD);
+					$$ = DeclarationNode::newTypeDecl( $1, 0 );
+				}
+		| no_01_identifier_or_typedef_name '(' push type_parameter_list pop ')'
+				{
+					typedefTable.addToEnclosingScope(*($1), TypedefTable::TG);
+					$$ = DeclarationNode::newTypeDecl( $1, $4 );
+				}
+		;
+
+context_specifier:										// CFA
+		CONTEXT no_attr_identifier_or_typedef_name '(' push type_parameter_list pop ')' '{' '}'
+				{
+					typedefTable.addToEnclosingScope(*($2), TypedefTable::ID );
+					$$ = DeclarationNode::newContext( $2, $5, 0 );
+				}
+		| CONTEXT no_attr_identifier_or_typedef_name '(' push type_parameter_list pop ')' '{'
+				{
+					typedefTable.enterContext( *($2) );
+					typedefTable.enterScope();
+				}
+		  context_declaration_list '}'
+				{
+					typedefTable.leaveContext();
+					typedefTable.addToEnclosingScope(*($2), TypedefTable::ID );
+					$$ = DeclarationNode::newContext( $2, $5, $10 );
+				}
+		;
+
+context_declaration_list:								// CFA
+		context_declaration
+		| context_declaration_list push context_declaration
+				{ $$ = $1->appendList( $3 ); }
+		;
+
+context_declaration:									// CFA
+		new_context_declaring_list pop ';'
+		| context_declaring_list pop ';'
+		;
+
+new_context_declaring_list:								// CFA
+		new_variable_specifier
+				{
+					typedefTable.addToEnclosingScope2( TypedefTable::ID );
+					$$ = $1;
+				}
+		| new_function_specifier
+				{
+					typedefTable.addToEnclosingScope2( TypedefTable::ID );
+					$$ = $1;
+				}
+		| new_context_declaring_list pop ',' push identifier_or_typedef_name
+				{
+					typedefTable.addToEnclosingScope2( *($5), TypedefTable::ID );
+					$$ = $1->appendList( $1->cloneType( $5 ) );
+				}
+		;
+
+context_declaring_list:									// CFA
+		type_specifier declarator
+				{
+					typedefTable.addToEnclosingScope2( TypedefTable::ID );
+					$$ = $2->addType( $1 );
+				}
+		| context_declaring_list pop ',' push declarator
+				{
+					typedefTable.addToEnclosingScope2( TypedefTable::ID );
+					$$ = $1->appendList( $1->cloneBaseType( $5 ) );
+				}
+		;
+
+//***************************** EXTERNAL DEFINITIONS *****************************
+
+translation_unit:
+		// empty
+				{}										// empty input file
+		| external_definition_list
+				{
+					if ( theTree ) {
+						theTree->appendList( $1 );
+					} else {
+						theTree = $1;
+					}
+				}
+		;
+
+external_definition_list:
+		external_definition
+		| external_definition_list push external_definition
+				{ $$ = ($1 != NULL ) ? $1->appendList( $3 ) : $3; }
+		;
+
+external_definition_list_opt:
+		// empty
+				{ $$ = 0; }
+		| external_definition_list
+		;
+
+external_definition:
+		declaration
+		| function_definition
+		| asm_statement									// GCC, global assembler statement
+				{}
+		| EXTERN STRINGliteral
+				{
+					linkageStack.push( linkage );
+					linkage = LinkageSpec::fromString( *$2 );
+				}
+		  '{' external_definition_list_opt '}'			// C++-style linkage specifier
+				{
+					linkage = linkageStack.top();
+					linkageStack.pop();
+					$$ = $5;
+				}
+		| EXTENSION external_definition
+				{ $$ = $2; }
+		;
+
+function_definition:
+		new_function_specifier compound_statement		// CFA
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $1->addFunctionBody( $2 );
+				}
+		| declaration_qualifier_list new_function_specifier compound_statement // CFA
+				// declaration_qualifier_list also includes type_qualifier_list, so a semantic check is
+				// necessary to preclude them as a type_qualifier cannot appear in this context.
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $2->addFunctionBody( $3 )->addQualifiers( $1 );
+				}
+
+		| declaration_specifier function_declarator compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $2->addFunctionBody( $3 )->addType( $1 );
+				}
+
+				// These rules are a concession to the "implicit int" type_specifier because there is a
+				// significant amount of code with functions missing a type-specifier on the return type.
+				// Parsing is possible because function_definition does not appear in the context of an
+				// expression (nested functions would preclude this concession). A function prototype
+				// declaration must still have a type_specifier. OBSOLESCENT (see 1)
+		| function_declarator compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $1->addFunctionBody( $2 );
+				}
+		| type_qualifier_list function_declarator compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $2->addFunctionBody( $3 )->addQualifiers( $1 );
+				}
+		| declaration_qualifier_list function_declarator compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $2->addFunctionBody( $3 )->addQualifiers( $1 );
+				}
+		| declaration_qualifier_list type_qualifier_list function_declarator compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $3->addFunctionBody( $4 )->addQualifiers( $2 )->addQualifiers( $1 );
+				}
+
+				// Old-style K&R function definition, OBSOLESCENT (see 4)
+		| declaration_specifier old_function_declarator push old_declaration_list_opt compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $2->addOldDeclList( $4 )->addFunctionBody( $5 )->addType( $1 );
+				}
+		| old_function_declarator push old_declaration_list_opt compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $1->addOldDeclList( $3 )->addFunctionBody( $4 );
+				}
+		| type_qualifier_list old_function_declarator push old_declaration_list_opt compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $2->addOldDeclList( $4 )->addFunctionBody( $5 )->addQualifiers( $1 );
+				}
+
+				// Old-style K&R function definition with "implicit int" type_specifier, OBSOLESCENT (see 4)
+		| declaration_qualifier_list old_function_declarator push old_declaration_list_opt compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $2->addOldDeclList( $4 )->addFunctionBody( $5 )->addQualifiers( $1 );
+				}
+		| declaration_qualifier_list type_qualifier_list old_function_declarator push old_declaration_list_opt compound_statement
+				{
+					typedefTable.addToEnclosingScope( TypedefTable::ID );
+					typedefTable.leaveScope();
+					$$ = $3->addOldDeclList( $5 )->addFunctionBody( $6 )->addQualifiers( $2 )->addQualifiers( $1 );
+				}
+		;
+
+declarator:
+		variable_declarator
+		| function_declarator
+		| typedef_redeclarator
+		;
+
+subrange:
+		constant_expression '~' constant_expression		// CFA, integer subrange
+				{ $$ = new CompositeExprNode(new OperatorNode(OperatorNode::Range), $1, $3); }
+		;
+
+asm_name_opt:											// GCC
+		// empty
+		| ASM '(' string_literal_list ')' attribute_list_opt
+		;
+
+attribute_list_opt:										// GCC
+		// empty
+		| attribute_list
+		;
+
+attribute_list:											// GCC
+		attribute
+		| attribute_list attribute
+		;
+
+attribute:												// GCC
+		ATTRIBUTE '(' '(' attribute_parameter_list ')' ')'
+		;
+
+attribute_parameter_list:								// GCC
+		attrib
+		| attribute_parameter_list ',' attrib
+		;
+
+attrib:													// GCC
+		// empty
+		| any_word
+		| any_word '(' comma_expression_opt ')'
+		;
+
+any_word:												// GCC
+		identifier_or_typedef_name {}
+		| storage_class_name {}
+		| basic_type_name {}
+		| type_qualifier {}
+		;
+
+// ============================================================================
+// The following sections are a series of grammar patterns used to parse declarators. Multiple patterns are
+// necessary because the type of an identifier in wrapped around the identifier in the same form as its usage
+// in an expression, as in:
+//
+//		int (*f())[10] { ... };
+//		... (*f())[3] += 1;		// definition mimics usage
+//
+// Because these patterns are highly recursive, changes at a lower level in the recursion require copying some
+// or all of the pattern. Each of these patterns has some subtle variation to ensure correct syntax in a
+// particular context.
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// The set of valid declarators before a compound statement for defining a function is less than the set of
+// declarators to define a variable or function prototype, e.g.:
+//
+//		valid declaration		invalid definition
+//		-----------------		------------------
+//		int f;						int f {}
+//		int *f;						int *f {}
+//		int f[10];				int f[10] {}
+//		int (*f)(int);				int (*f)(int) {}
+//
+// To preclude this syntactic anomaly requires separating the grammar rules for variable and function
+// declarators, hence variable_declarator and function_declarator.
+// ----------------------------------------------------------------------------
+
+// This pattern parses a declaration of a variable that is not redefining a typedef name. The pattern
+// precludes declaring an array of functions versus a pointer to an array of functions.
+
+variable_declarator:
+		paren_identifier attribute_list_opt
+		| variable_ptr
+		| variable_array attribute_list_opt
+		| variable_function attribute_list_opt
+		;
+
+paren_identifier:
+		identifier
+				{
+					typedefTable.setNextIdentifier( *($1) );
+					$$ = DeclarationNode::newName( $1 );
+				}
+		| '(' paren_identifier ')'						// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+variable_ptr:
+		'*' variable_declarator
+				{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
+		| '*' type_qualifier_list variable_declarator
+				{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
+		| '(' variable_ptr ')'
+				{ $$ = $2; }
+		;
+
+variable_array:
+		paren_identifier array_dimension
+				{ $$ = $1->addArray( $2 ); }
+		| '(' variable_ptr ')' array_dimension
+				{ $$ = $2->addArray( $4 ); }
+		| '(' variable_array ')' multi_array_dimension	// redundant parenthesis
+				{ $$ = $2->addArray( $4 ); }
+		| '(' variable_array ')'						// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+variable_function:
+		'(' variable_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $2->addParamList( $6 ); }
+		| '(' variable_function ')'						// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+// This pattern parses a function declarator that is not redefining a typedef name. Because functions cannot
+// be nested, there is no context where a function definition can redefine a typedef name. To allow nested
+// functions requires further separation of variable and function declarators in typedef_redeclarator.  The
+// pattern precludes returning arrays and functions versus pointers to arrays and functions.
+
+function_declarator:
+		function_no_ptr attribute_list_opt
+		| function_ptr
+		| function_array attribute_list_opt
+		;
+
+function_no_ptr:
+		paren_identifier '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $1->addParamList( $4 ); }
+		| '(' function_ptr ')' '(' push parameter_type_list_opt pop ')'
+				{ $$ = $2->addParamList( $6 ); }
+		| '(' function_no_ptr ')'						// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+function_ptr:
+		'*' function_declarator
+				{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
+		| '*' type_qualifier_list function_declarator
+				{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
+		| '(' function_ptr ')'
+				{ $$ = $2; }
+		;
+
+function_array:
+		'(' function_ptr ')' array_dimension
+				{ $$ = $2->addArray( $4 ); }
+		| '(' function_array ')' multi_array_dimension	// redundant parenthesis
+				{ $$ = $2->addArray( $4 ); }
+		| '(' function_array ')'						// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+// This pattern parses an old-style K&R function declarator (OBSOLESCENT, see 4) that is not redefining a
+// typedef name (see function_declarator for additional comments). The pattern precludes returning arrays and
+// functions versus pointers to arrays and functions.
+
+old_function_declarator:
+		old_function_no_ptr
+		| old_function_ptr
+		| old_function_array
+		;
+
+old_function_no_ptr:
+		paren_identifier '(' identifier_list ')'		// function_declarator handles empty parameter
+				{ $$ = $1->addIdList( $3 ); }
+		| '(' old_function_ptr ')' '(' identifier_list ')'
+				{ $$ = $2->addIdList( $5 ); }
+		| '(' old_function_no_ptr ')'					// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+old_function_ptr:
+		'*' old_function_declarator
+				{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
+		| '*' type_qualifier_list old_function_declarator
+				{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
+		| '(' old_function_ptr ')'
+				{ $$ = $2; }
+		;
+
+old_function_array:
+		'(' old_function_ptr ')' array_dimension
+				{ $$ = $2->addArray( $4 ); }
+		| '(' old_function_array ')' multi_array_dimension // redundant parenthesis
+				{ $$ = $2->addArray( $4 ); }
+		| '(' old_function_array ')'					// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+// This pattern parses a declaration for a variable or function prototype that redefines a typedef name, e.g.:
+//
+//		typedef int foo;
+//		{
+//		   int foo; // redefine typedef name in new scope
+//		}
+//
+// The pattern precludes declaring an array of functions versus a pointer to an array of functions, and
+// returning arrays and functions versus pointers to arrays and functions.
+
+typedef_redeclarator:
+		paren_typedef attribute_list_opt
+		| typedef_ptr
+		| typedef_array attribute_list_opt
+		| typedef_function attribute_list_opt
+		;
+
+paren_typedef:
+		TYPEDEFname
+				{
+				typedefTable.setNextIdentifier( *($1) );
+				$$ = DeclarationNode::newName( $1 );
+				}
+		| '(' paren_typedef ')'
+				{ $$ = $2; }
+		;
+
+typedef_ptr:
+		'*' typedef_redeclarator
+				{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
+		| '*' type_qualifier_list typedef_redeclarator
+				{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
+		| '(' typedef_ptr ')'
+				{ $$ = $2; }
+		;
+
+typedef_array:
+		paren_typedef array_dimension
+				{ $$ = $1->addArray( $2 ); }
+		| '(' typedef_ptr ')' array_dimension
+				{ $$ = $2->addArray( $4 ); }
+		| '(' typedef_array ')' multi_array_dimension	// redundant parenthesis
+				{ $$ = $2->addArray( $4 ); }
+		| '(' typedef_array ')'							// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+typedef_function:
+		paren_typedef '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $1->addParamList( $4 ); }
+		| '(' typedef_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $2->addParamList( $6 ); }
+		| '(' typedef_function ')'						// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+// This pattern parses a declaration for a parameter variable or function prototype that is not redefining a
+// typedef name and allows the C99 array options, which can only appear in a parameter list.  The pattern
+// precludes declaring an array of functions versus a pointer to an array of functions, and returning arrays
+// and functions versus pointers to arrays and functions.
+
+identifier_parameter_declarator:
+		paren_identifier attribute_list_opt
+		| identifier_parameter_ptr
+		| identifier_parameter_array attribute_list_opt
+		| identifier_parameter_function attribute_list_opt
+		;
+
+identifier_parameter_ptr:
+		'*' identifier_parameter_declarator
+				{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
+		| '*' type_qualifier_list identifier_parameter_declarator
+				{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
+		| '(' identifier_parameter_ptr ')'
+				{ $$ = $2; }
+		;
+
+identifier_parameter_array:
+		paren_identifier array_parameter_dimension
+				{ $$ = $1->addArray( $2 ); }
+		| '(' identifier_parameter_ptr ')' array_dimension
+				{ $$ = $2->addArray( $4 ); }
+		| '(' identifier_parameter_array ')' multi_array_dimension // redundant parenthesis
+				{ $$ = $2->addArray( $4 ); }
+		| '(' identifier_parameter_array ')'			// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+identifier_parameter_function:
+		paren_identifier '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $1->addParamList( $4 ); }
+		| '(' identifier_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $2->addParamList( $6 ); }
+		| '(' identifier_parameter_function ')'			// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+// This pattern parses a declaration for a parameter variable or function prototype that is redefining a
+// typedef name, e.g.:
+//
+//		typedef int foo;
+//		int f( int foo ); // redefine typedef name in new scope
+//
+// and allows the C99 array options, which can only appear in a parameter list.  In addition, the pattern
+// handles the special meaning of parenthesis around a typedef name:
+//
+//		ISO/IEC 9899:1999 Section 6.7.5.3(11) : "In a parameter declaration, a single typedef name in
+//		parentheses is taken to be an abstract declarator that specifies a function with a single parameter,
+//		not as redundant parentheses around the identifier."
+//
+// which precludes the following cases:
+//
+//		typedef float T;
+//		int f( int ( T [5] ) );						// see abstract_parameter_declarator
+//		int g( int ( T ( int ) ) );				// see abstract_parameter_declarator
+//		int f( int f1( T a[5] ) );				// see identifier_parameter_declarator
+//		int g( int g1( T g2( int p ) ) );		// see identifier_parameter_declarator
+//
+// In essence, a '(' immediately to the left of typedef name, T, is interpreted as starting a parameter type
+// list, and not as redundant parentheses around a redeclaration of T. Finally, the pattern also precludes
+// declaring an array of functions versus a pointer to an array of functions, and returning arrays and
+// functions versus pointers to arrays and functions.
+
+typedef_parameter_redeclarator:
+		typedef attribute_list_opt
+		| typedef_parameter_ptr
+		| typedef_parameter_array attribute_list_opt
+		| typedef_parameter_function attribute_list_opt
+		;
+
+typedef:
+		TYPEDEFname
+				{
+					typedefTable.setNextIdentifier( *($1) );
+					$$ = DeclarationNode::newName( $1 );
+				}
+		;
+
+typedef_parameter_ptr:
+		'*' typedef_parameter_redeclarator
+				{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
+		| '*' type_qualifier_list typedef_parameter_redeclarator
+				{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
+		| '(' typedef_parameter_ptr ')'
+				{ $$ = $2; }
+		;
+
+typedef_parameter_array:
+		typedef array_parameter_dimension
+				{ $$ = $1->addArray( $2 ); }
+		| '(' typedef_parameter_ptr ')' array_parameter_dimension
+				{ $$ = $2->addArray( $4 ); }
+		;
+
+typedef_parameter_function:
+		typedef '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $1->addParamList( $4 ); }
+		| '(' typedef_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $2->addParamList( $6 ); }
+		;
+
+// This pattern parses a declaration of an abstract variable or function prototype, i.e., there is no
+// identifier to which the type applies, e.g.:
+//
+//		sizeof( int );
+//		sizeof( int [10] );
+//
+// The pattern precludes declaring an array of functions versus a pointer to an array of functions, and
+// returning arrays and functions versus pointers to arrays and functions.
+
+abstract_declarator:
+		abstract_ptr
+		| abstract_array attribute_list_opt
+		| abstract_function attribute_list_opt
+		;
+
+abstract_ptr:
+		'*'
+				{ $$ = DeclarationNode::newPointer( 0 ); }
+		| '*' type_qualifier_list
+				{ $$ = DeclarationNode::newPointer( $2 ); }
+		| '*' abstract_declarator
+				{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
+		| '*' type_qualifier_list abstract_declarator
+				{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
+		| '(' abstract_ptr ')'
+				{ $$ = $2; }
+		;
+
+abstract_array:
+		array_dimension
+		| '(' abstract_ptr ')' array_dimension
+				{ $$ = $2->addArray( $4 ); }
+		| '(' abstract_array ')' multi_array_dimension	// redundant parenthesis
+				{ $$ = $2->addArray( $4 ); }
+		| '(' abstract_array ')'						// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+abstract_function:
+		'(' push parameter_type_list_opt pop ')'		// empty parameter list OBSOLESCENT (see 3)
+				{ $$ = DeclarationNode::newFunction( 0, 0, $3, 0 ); }
+		| '(' abstract_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $2->addParamList( $6 ); }
+		| '(' abstract_function ')'						// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+array_dimension:
+				// Only the first dimension can be empty.
+		'[' push pop ']'
+				{ $$ = DeclarationNode::newArray( 0, 0, false ); }
+		| '[' push pop ']' multi_array_dimension
+				{ $$ = DeclarationNode::newArray( 0, 0, false )->addArray( $5 ); }
+		| multi_array_dimension
+		;
+
+multi_array_dimension:
+		'[' push assignment_expression pop ']'
+				{ $$ = DeclarationNode::newArray( $3, 0, false ); }
+		| '[' push '*' pop ']'								// C99
+				{ $$ = DeclarationNode::newVarArray( 0 ); }
+		| multi_array_dimension '[' push assignment_expression pop ']'
+				{ $$ = $1->addArray( DeclarationNode::newArray( $4, 0, false ) ); }
+		| multi_array_dimension '[' push '*' pop ']'		// C99
+				{ $$ = $1->addArray( DeclarationNode::newVarArray( 0 ) ); }
+		;
+
+// This pattern parses a declaration of a parameter abstract variable or function prototype, i.e., there is no
+// identifier to which the type applies, e.g.:
+//
+//		int f( int );			// abstract variable parameter; no parameter name specified
+//		int f( int (int) );		// abstract function-prototype parameter; no parameter name specified
+//
+// The pattern precludes declaring an array of functions versus a pointer to an array of functions, and
+// returning arrays and functions versus pointers to arrays and functions.
+
+abstract_parameter_declarator:
+		abstract_parameter_ptr
+		| abstract_parameter_array attribute_list_opt
+		| abstract_parameter_function attribute_list_opt
+		;
+
+abstract_parameter_ptr:
+		'*'
+				{ $$ = DeclarationNode::newPointer( 0 ); }
+		| '*' type_qualifier_list
+				{ $$ = DeclarationNode::newPointer( $2 ); }
+		| '*' abstract_parameter_declarator
+				{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
+		| '*' type_qualifier_list abstract_parameter_declarator
+				{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
+		| '(' abstract_parameter_ptr ')'
+				{ $$ = $2; }
+		;
+
+abstract_parameter_array:
+		array_parameter_dimension
+		| '(' abstract_parameter_ptr ')' array_parameter_dimension
+				{ $$ = $2->addArray( $4 ); }
+		| '(' abstract_parameter_array ')' multi_array_dimension // redundant parenthesis
+				{ $$ = $2->addArray( $4 ); }
+		| '(' abstract_parameter_array ')'				// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+abstract_parameter_function:
+		'(' push parameter_type_list_opt pop ')'		// empty parameter list OBSOLESCENT (see 3)
+				{ $$ = DeclarationNode::newFunction( 0, 0, $3, 0 ); }
+		| '(' abstract_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $2->addParamList( $6 ); }
+		| '(' abstract_parameter_function ')'			// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+array_parameter_dimension:
+				// Only the first dimension can be empty or have qualifiers.
+		array_parameter_1st_dimension
+		| array_parameter_1st_dimension multi_array_dimension
+				{ $$ = $1->addArray( $2 ); }
+		| multi_array_dimension
+		;
+
+// The declaration of an array parameter has additional syntax over arrays in normal variable declarations:
+//
+//		ISO/IEC 9899:1999 Section 6.7.5.2(1) : "The optional type qualifiers and the keyword static shall
+//		appear only in a declaration of a function parameter with an array type, and then only in the
+//		outermost array type derivation."
+
+array_parameter_1st_dimension:
+		'[' push pop ']'
+				{ $$ = DeclarationNode::newArray( 0, 0, false ); }
+		// multi_array_dimension handles the '[' '*' ']' case
+		| '[' push type_qualifier_list '*' pop ']'		// remaining C99
+				{ $$ = DeclarationNode::newVarArray( $3 ); }
+		| '[' push type_qualifier_list pop ']'
+				{ $$ = DeclarationNode::newArray( 0, $3, false ); }
+		// multi_array_dimension handles the '[' assignment_expression ']' case
+		| '[' push type_qualifier_list assignment_expression pop ']'
+				{ $$ = DeclarationNode::newArray( $4, $3, false ); }
+		| '[' push STATIC type_qualifier_list_opt assignment_expression pop ']'
+				{ $$ = DeclarationNode::newArray( $5, $4, true ); }
+		| '[' push type_qualifier_list STATIC assignment_expression pop ']'
+				{ $$ = DeclarationNode::newArray( $5, $3, true ); }
+		;
+
+// This pattern parses a declaration of an abstract variable, i.e., there is no identifier to which the type
+// applies, e.g.:
+//
+//		sizeof( int ); // abstract variable; no identifier name specified
+//
+// The pattern precludes declaring an array of functions versus a pointer to an array of functions, and
+// returning arrays and functions versus pointers to arrays and functions.
+
+variable_abstract_declarator:
+		variable_abstract_ptr
+		| variable_abstract_array attribute_list_opt
+		| variable_abstract_function attribute_list_opt
+		;
+
+variable_abstract_ptr:
+		'*'
+				{ $$ = DeclarationNode::newPointer( 0 ); }
+		| '*' type_qualifier_list
+				{ $$ = DeclarationNode::newPointer( $2 ); }
+		| '*' variable_abstract_declarator
+				{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
+		| '*' type_qualifier_list variable_abstract_declarator
+				{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
+		| '(' variable_abstract_ptr ')'
+				{ $$ = $2; }
+		;
+
+variable_abstract_array:
+		array_dimension
+		| '(' variable_abstract_ptr ')' array_dimension
+				{ $$ = $2->addArray( $4 ); }
+		| '(' variable_abstract_array ')' multi_array_dimension // redundant parenthesis
+				{ $$ = $2->addArray( $4 ); }
+		| '(' variable_abstract_array ')'				// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+variable_abstract_function:
+		'(' variable_abstract_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
+				{ $$ = $2->addParamList( $6 ); }
+		| '(' variable_abstract_function ')'			// redundant parenthesis
+				{ $$ = $2; }
+		;
+
+// This pattern parses a new-style declaration for a parameter variable or function prototype that is either
+// an identifier or typedef name and allows the C99 array options, which can only appear in a parameter list.
+
+new_identifier_parameter_declarator_tuple:				// CFA
+		new_identifier_parameter_declarator_no_tuple
+		| new_abstract_tuple
+		| type_qualifier_list new_abstract_tuple
+				{ $$ = $2->addQualifiers( $1 ); }
+		;
+
+new_identifier_parameter_declarator_no_tuple:			// CFA
+		new_identifier_parameter_ptr
+		| new_identifier_parameter_array
+		;
+
+new_identifier_parameter_ptr:							// CFA
+		'*' type_specifier
+				{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
+		| type_qualifier_list '*' type_specifier
+				{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
+		| '*' new_abstract_function
+				{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
+		| type_qualifier_list '*' new_abstract_function
+				{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
+		| '*' new_identifier_parameter_declarator_tuple
+				{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
+		| type_qualifier_list '*' new_identifier_parameter_declarator_tuple
+				{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
+		;
+
+new_identifier_parameter_array:							// CFA
+				// Only the first dimension can be empty or have qualifiers. Empty dimension must be factored
+				// out due to shift/reduce conflict with new-style empty (void) function return type.
+		'[' push pop ']' type_specifier
+				{ $$ = $5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
+		| new_array_parameter_1st_dimension type_specifier
+				{ $$ = $2->addNewArray( $1 ); }
+		| '[' push pop ']' multi_array_dimension type_specifier
+				{ $$ = $6->addNewArray( $5 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
+		| new_array_parameter_1st_dimension multi_array_dimension type_specifier
+				{ $$ = $3->addNewArray( $2 )->addNewArray( $1 ); }
+		| multi_array_dimension type_specifier
+				{ $$ = $2->addNewArray( $1 ); }
+		| '[' push pop ']' new_identifier_parameter_ptr
+				{ $$ = $5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
+		| new_array_parameter_1st_dimension new_identifier_parameter_ptr
+				{ $$ = $2->addNewArray( $1 ); }
+		| '[' push pop ']' multi_array_dimension new_identifier_parameter_ptr
+				{ $$ = $6->addNewArray( $5 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
+		| new_array_parameter_1st_dimension multi_array_dimension new_identifier_parameter_ptr
+				{ $$ = $3->addNewArray( $2 )->addNewArray( $1 ); }
+		| multi_array_dimension new_identifier_parameter_ptr
+				{ $$ = $2->addNewArray( $1 ); }
+		;
+
+new_array_parameter_1st_dimension:
+		'[' push type_qualifier_list '*' pop ']'		// remaining C99
+				{ $$ = DeclarationNode::newVarArray( $3 ); }
+		| '[' push type_qualifier_list assignment_expression pop ']'
+				{ $$ = DeclarationNode::newArray( $4, $3, false ); }
+		| '[' push declaration_qualifier_list assignment_expression pop ']'
+				// declaration_qualifier_list must be used because of shift/reduce conflict with
+				// assignment_expression, so a semantic check is necessary to preclude them as a
+				// type_qualifier cannot appear in this context.
+				{ $$ = DeclarationNode::newArray( $4, $3, true ); }
+		| '[' push declaration_qualifier_list type_qualifier_list assignment_expression pop ']'
+				{ $$ = DeclarationNode::newArray( $5, $4->addQualifiers( $3 ), true ); }
+		;
+
+// This pattern parses a new-style declaration of an abstract variable or function prototype, i.e., there is
+// no identifier to which the type applies, e.g.:
+//
+//		[int] f( int );				// abstract variable parameter; no parameter name specified
+//		[int] f( [int] (int) );		// abstract function-prototype parameter; no parameter name specified
+//
+// These rules need LR(3):
+//
+//		new_abstract_tuple identifier_or_typedef_name
+//		'[' new_parameter_list ']' identifier_or_typedef_name '(' new_parameter_type_list_opt ')'
+//
+// since a function return type can be syntactically identical to a tuple type:
+//
+//		[int, int] t;
+//		[int, int] f( int );
+//
+// Therefore, it is necessary to look at the token after identifier_or_typedef_name to know when to reduce
+// new_abstract_tuple. To make this LR(1), several rules have to be flattened (lengthened) to allow the
+// necessary lookahead. To accomplish this, new_abstract_declarator has an entry point without tuple, and
+// tuple declarations are duplicated when appearing with new_function_specifier.
+
+new_abstract_declarator_tuple:							// CFA
+		new_abstract_tuple
+		| type_qualifier_list new_abstract_tuple
+				{ $$ = $2->addQualifiers( $1 ); }
+		| new_abstract_declarator_no_tuple
+		;
+
+new_abstract_declarator_no_tuple:						// CFA
+		new_abstract_ptr
+		| new_abstract_array
+		;
+
+new_abstract_ptr:										// CFA
+		'*' type_specifier
+				{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
+		| type_qualifier_list '*' type_specifier
+				{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
+		| '*' new_abstract_function
+				{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
+		| type_qualifier_list '*' new_abstract_function
+				{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
+		| '*' new_abstract_declarator_tuple
+				{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
+		| type_qualifier_list '*' new_abstract_declarator_tuple
+				{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
+		;
+
+new_abstract_array:										// CFA
+				// Only the first dimension can be empty. Empty dimension must be factored out due to
+				// shift/reduce conflict with empty (void) function return type.
+		'[' push pop ']' type_specifier
+				{ $$ = $5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
+		| '[' push pop ']' multi_array_dimension type_specifier
+				{ $$ = $6->addNewArray( $5 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
+		| multi_array_dimension type_specifier
+				{ $$ = $2->addNewArray( $1 ); }
+		| '[' push pop ']' new_abstract_ptr
+				{ $$ = $5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
+		| '[' push pop ']' multi_array_dimension new_abstract_ptr
+				{ $$ = $6->addNewArray( $5 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
+		| multi_array_dimension new_abstract_ptr
+				{ $$ = $2->addNewArray( $1 ); }
+		;
+
+new_abstract_tuple:										// CFA
+		'[' push new_abstract_parameter_list pop ']'
+				{ $$ = DeclarationNode::newTuple( $3 ); }
+		;
+
+new_abstract_function:									// CFA
+		'[' push pop ']' '(' new_parameter_type_list_opt ')'
+				{ $$ = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), $6, 0 ); }
+		| new_abstract_tuple '(' push new_parameter_type_list_opt pop ')'
+				{ $$ = DeclarationNode::newFunction( 0, $1, $4, 0 ); }
+		| new_function_return '(' push new_parameter_type_list_opt pop ')'
+				{ $$ = DeclarationNode::newFunction( 0, $1, $4, 0 ); }
+		;
+
+// 1) ISO/IEC 9899:1999 Section 6.7.2(2) : "At least one type specifier shall be given in the declaration
+//    specifiers in each declaration, and in the specifier-qualifier list in each structure declaration and
+//    type name."
+//
+// 2) ISO/IEC 9899:1999 Section 6.11.5(1) : "The placement of a storage-class specifier other than at the
+//    beginning of the declaration specifiers in a declaration is an obsolescent feature."
+//
+// 3) ISO/IEC 9899:1999 Section 6.11.6(1) : "The use of function declarators with empty parentheses (not
+//    prototype-format parameter type declarators) is an obsolescent feature."
+//
+// 4) ISO/IEC 9899:1999 Section 6.11.7(1) : "The use of function definitions with separate parameter
+//    identifier and declaration lists (not prototype-format parameter type and identifier declarators) is an
+//    obsolescent feature.
+
+//************************* MISCELLANEOUS ********************************
+
+comma_opt:												// redundant comma
+		// empty
+		| ','
+		;
+
+assignment_opt:
+		// empty
+				{ $$ = 0; }
+		| '=' assignment_expression
+				{ $$ = $2; }
+		;
+
+%%
+// ----end of grammar----
+
+void yyerror( char *string ) {
+	using std::cout;
+	using std::endl;
+	cout << "Error ";
+	if ( yyfilename ) {
+		cout << "in file " << yyfilename << " ";
+	}
+	cout << "at line " << yylineno << " reading token \"" << *(yylval.tok.str) << "\"" << endl;
+}
+
+// Local Variables: //
+// fill-column: 110 //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: src/Parser/lex.cc
===================================================================
--- src/Parser/lex.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,3658 +1,0 @@
-
-#line 3 "Parser/lex.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 35
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k.
- * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- * Ditto for the __ia64__ case accordingly.
- */
-#define YY_BUF_SIZE 32768
-#else
-#define YY_BUF_SIZE 16384
-#endif /* __ia64__ */
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-extern int yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
-     *       access to the local variable yy_act. Since yyless() is a macro, it would break
-     *       existing scanners that call yyless() from OUTSIDE yylex. 
-     *       One obvious solution it to make yy_act a global. I tried that, and saw
-     *       a 5% performance hit in a non-yylineno scanner, because yy_act is
-     *       normally declared as a register variable-- so it is not worth it.
-     */
-    #define  YY_LESS_LINENO(n) \
-            do { \
-                int yyl;\
-                for ( yyl = n; yyl < yyleng; ++yyl )\
-                    if ( yytext[yyl] == '\n' )\
-                        --yylineno;\
-            }while(0)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	int yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static int yy_n_chars;		/* number of characters read into yy_ch_buf */
-int yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 171
-#define YY_END_OF_BUFFER 172
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[826] =
-    {   0,
-        0,    0,    0,    0,    0,    0,  108,  108,  111,  111,
-      172,  170,    7,    9,    8,  131,  110,   95,  136,  139,
-      107,  118,  119,  134,  132,  122,  133,  125,  135,  100,
-      101,  102,  123,  124,  141,  143,  142,  144,  170,   95,
-      116,  170,  117,  137,   95,   97,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,  120,  140,  121,  138,    7,  170,    4,    4,  171,
-       98,  171,   99,  108,  109,  115,  111,  112,    7,    9,
-        0,    8,  148,  166,   95,    0,  160,  130,  153,  161,
-      158,  145,  156,  146,  157,  155,    0,  105,    3,    0,
-
-      159,  105,  103,    0,    0,  103,  103,    0,    0,  103,
-      102,  102,  102,    0,  102,  128,  129,  127,  149,  151,
-      147,  152,  150,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   96,    0,
-      110,  107,   95,    0,    0,  163,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   36,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   53,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,  162,
-      154,    7,    0,    0,    0,    2,    0,    5,   98,    0,
-
-        0,    0,  108,    0,  114,  113,  113,    0,    0,    0,
-      111,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  126,  105,    0,  105,
-        0,    0,    6,    0,  103,    0,    0,    0,  105,    0,
-      103,  103,  103,  103,    0,  104,    0,    0,  102,  102,
-      102,  102,    0,  164,  165,    0,  168,  167,    0,    0,
-        0,   96,    0,    0,    0,    0,    0,    0,    0,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   14,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-
-       95,   95,   95,   95,   95,   47,   95,   95,   95,   60,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   82,   95,   95,   95,   95,   95,   95,   95,
-        0,    0,    0,    0,    0,    0,    0,    0,  113,    0,
-        0,    0,    0,    0,  113,    0,    0,  169,    0,    0,
-        0,    0,    0,    0,    0,    0,  105,    0,    0,    0,
-      105,    0,  103,  103,    0,    0,  104,  104,    0,  104,
-        0,  104,  102,  102,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-
-       95,   95,   95,   95,   95,   95,   20,   95,   23,   95,
-       25,   95,   95,   95,   95,   95,   95,   39,   40,   95,
-       95,   95,   95,   95,   95,   95,   52,   95,   63,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       83,   95,   95,   90,   95,   95,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      113,    0,    0,    0,    0,    0,  105,    0,    0,    0,
-        0,    0,    0,  104,  104,    0,  106,    0,  104,  104,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   95,   95,   21,   95,   95,   95,   95,
-
-       95,   95,   95,   15,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   22,   24,   95,
-       30,   95,   95,   95,   95,   38,   95,   95,   95,   45,
-       95,   95,   50,   95,   95,   95,   95,   95,   71,   95,
-       95,   95,   95,   95,   81,   95,   95,   88,   95,   95,
-       94,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      106,    0,    0,  104,  106,  106,    0,  104,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   95,    0,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-
-       95,   95,   95,   95,   95,   55,   95,   95,   95,   95,
-       95,   95,   95,   26,   95,   95,   95,   37,   42,   95,
-       95,   48,   95,   57,   64,   95,   95,   70,   72,   75,
-       76,   78,   79,   95,   85,   95,   95,    0,    1,    0,
-        0,    0,    0,    0,    0,   98,    0,    0,    0,  113,
-        0,    0,    0,    0,  106,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   95,   95,   17,   95,   95,
-       95,   95,   95,   95,   95,   16,   95,   95,   31,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   33,
-       95,   35,   95,   44,   49,   95,   95,   84,   95,   95,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   10,   11,   27,   51,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   56,   58,   61,
-       95,   95,   73,   86,   95,   34,   43,   66,   67,   89,
-       91,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   95,   65,   95,   95,   12,   95,   28,
-       32,   95,   95,   95,   62,   95,   95,   95,   95,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   54,   95,   95,   95,   95,   95,   95,   46,
-       59,   68,   74,   87,   92,    0,    0,    0,    0,    0,
-
-        0,    0,    0,   95,   95,   13,   18,   29,   95,   95,
-       95,    0,    0,   95,   95,   95,   95,   69,   93,   95,
-       80,   19,   41,   77,    0
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        4,    5,    6,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    7,    8,    9,   10,   11,   12,   13,   14,   15,
-       16,   17,   18,   19,   20,   21,   22,   23,   24,   25,
-       26,   26,   26,   26,   26,   27,   28,   29,   30,   31,
-       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
-       42,   11,   43,   11,   11,   44,   11,   45,   11,   46,
-       11,   11,   47,   48,   49,   11,   11,   50,   11,   11,
-       51,   52,   53,   54,   55,   56,   57,   58,   59,   60,
-
-       61,   62,   63,   64,   65,   11,   66,   67,   68,   69,
-       70,   71,   11,   72,   73,   74,   75,   76,   77,   78,
-       79,   80,   81,   82,   83,   84,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yyconst flex_int32_t yy_meta[85] =
-    {   0,
-        1,    1,    2,    1,    1,    1,    1,    1,    3,    1,
-        4,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        6,    1,    7,    7,    7,    7,    7,    7,    1,    1,
-        1,    1,    1,    1,    1,    8,    8,    8,    8,    8,
-        8,    4,    4,    9,    4,   10,    4,    4,    9,    4,
-        1,   11,    1,    1,   12,    1,    8,    8,    8,    8,
-        8,    8,    4,    4,    4,    4,    9,    4,    4,    4,
-       10,    4,    4,    4,    9,    4,    4,    4,    4,    4,
-        1,    1,    1,    1
-    } ;
-
-static yyconst flex_int16_t yy_base[999] =
-    {   0,
-        0,   83, 2266, 2265,   93,    0,  175,  176,  177,  178,
-     2281, 2568,  189, 2568,  195,   54, 2568, 2223,   59,  171,
-     2568, 2568, 2568,   55,  186, 2568,  189,  187,  202,  214,
-      272,    0, 2241, 2568,  214, 2241,  150,  340, 2215,  222,
-     2568,  157, 2568, 2234,  277, 2568,  192,  133,  196,  198,
-      204,  271,  155,  218,  181,  200,  266,  238,  337,  224,
-      227, 2568,  223, 2568, 2231,  372,  400, 2568, 2237, 2568,
-     2206,  213, 2568,    0, 2568,  427,    0, 2568,  363, 2568,
-      381,  393, 2568,  498, 2205,  229, 2568, 2568, 2568, 2568,
-     2568, 2217, 2568, 2216, 2568, 2568, 2228,  558, 2568, 2240,
-
-     2568,  603,  385,  443,  419,  259,  239,  280,  399,  406,
-        0,  305,  240,  335,  411, 2568, 2568, 2568, 2210, 2568,
-     2568, 2568, 2209, 2188,  215,  277, 2203,  310,  383,  384,
-      327,  425,  380,  399, 2180,  448, 2130,  458, 2160,  288,
-     2568, 2568,  486, 2151, 2150, 2568,  420,  423,  439,  456,
-      445,  455,  460,  329,  483,  469,  462,  467,  480,  494,
-      396,  471,  472,  487,  470,  513,  489,  506,  508,  509,
-      386,  510,  516, 2152,  520,  522,  518,  541,  526,  543,
-      540,  551,  549,  553,  565,  598,  572,  581,  557, 2568,
-     2568,  669,  659, 2195,  686, 2568,  692, 2568, 2145,  559,
-
-     2141, 2135,    0,  649, 2568, 2568,  679, 2134, 2133, 2127,
-        0, 2149,  535,  606,  607,  674,  635,  625,  646,  664,
-      689, 2146,  692,  693, 2119, 2118, 2568,  712,  723, 2568,
-     2117, 2165, 2568,  714,    0,  555,  705,  759,  765,  776,
-      593, 2568, 2123, 2099,    0,  784, 2141,  787,  632, 2568,
-     2116, 2087,  798, 2568, 2568, 2119, 2568, 2568,  710,  725,
-     2099, 2094,  720, 2090, 2089, 2085,    0, 2084,    0,  712,
-      548,  710,  766,  767,  597,  745,  711,  777,  764,  788,
-      720,  783,  792,  713,  639,  789,  611,  793, 2086,  794,
-      791,  795,  810,  800,  805,  813,  814,  361,  818,  815,
-
-      816,  821,  825,  822,  826,  828,  829,  836,  838, 2080,
-      841,  842,  843,  839,  844,  845,  846,  849,  847,  853,
-      855,  860, 2079,  859,  905,  864,  866,  872,  870,  871,
-      933,  930, 2075, 2069, 2068,    0, 2067,    0,  920,  924,
-     2061,    0, 2060,    0, 2059,    0, 2074, 2568,  919,  920,
-     2054, 2051,    0, 2045,    0,  935,  941,  953,  963,  974,
-      986,  996, 2568, 2568,  960,  961, 1013,  989, 1047,  926,
-     1045,  968, 2568, 2568, 2044, 2043, 2037,    0, 2036,    0,
-     2035,    0, 2014,    0,  874,  873,  987,  903,  931,  932,
-      984,  920,  994,  995,  974,  976, 1009, 1024, 1017,  992,
-
-     1029, 1027,  952, 1030, 1034, 1040, 2016, 1031, 2011, 1047,
-     2010, 1049, 1043, 1054, 1038, 1056, 1057, 2009, 2003, 1052,
-     1058, 1062, 1069, 1073, 1074, 1075, 2002, 1076, 2001, 1078,
-     1079, 1082, 1083, 1085, 1081, 1086, 1092, 1089, 1099,  583,
-     1108, 1095, 1087, 1995, 1097, 1109, 1160, 1991,    0, 1990,
-        0, 1984,    0, 1983,    0, 1149, 1982,    0, 1978,    0,
-     1977, 1976, 1972,    0, 1971,    0, 1156, 1162, 1207, 1121,
-     1218, 1149, 1120, 1144, 2568, 1224, 1230, 1241, 1981, 1954,
-     1959, 1957,    0, 1953,    0, 1951,    0, 1945,    0, 1944,
-        0, 1943,    0, 1125, 1144, 1940, 1146, 1149, 1147, 1153,
-
-     1150, 1218, 1162, 1110, 1156, 1155, 1164, 1211, 1224, 1225,
-     1226,  164, 1228, 1208, 1170, 1232, 1238, 1939, 1938, 1235,
-     1932, 1227, 1231, 1234, 1242, 1931, 1246, 1247, 1250, 1930,
-     1252, 1255, 1924, 1257, 1261, 1254, 1256, 1258, 1923, 1264,
-      709, 1271, 1262, 1268, 1922, 1273, 1277, 1916, 1274, 1279,
-     1915, 1963, 1905,    0, 1904,    0, 1903,    0, 1897,    0,
-     1896,    0, 1895,    0, 1891,    0, 1890,    0, 1322, 1328,
-     1334, 1345, 1889, 2568, 1356, 2568, 1380, 2568, 1885,    0,
-     1884,    0, 1883,    0, 1850,    0,    0,    0, 1852,    0,
-     1342, 1281, 1315, 1322, 1333, 1289, 1283, 1338, 1340, 1336,
-
-     1361, 1343, 1341, 1362, 1364, 1365, 1367, 1397, 1373, 1314,
-     1376, 1375, 1377, 1847, 1378, 1380, 1382, 1846, 1845, 1381,
-     1387, 1839, 1389, 1838, 1837, 1396, 1391, 1833, 1832, 1831,
-     1827, 1826, 1825, 1392, 1818, 1407, 1394, 1846, 2568, 1793,
-        0, 1792,    0,    0,    0, 1791,    0,    0,    0, 2568,
-        0,    0,    0,    0, 1446, 1452, 1497, 1787,    0, 1786,
-        0,    0,    0,    0, 1782, 1408, 1430, 1784, 1410, 1432,
-     1437, 1411, 1412, 1443, 1433, 1783, 1447, 1445, 1457, 1413,
-     1476, 1463, 1450, 1477, 1475, 1474, 1480, 1479, 1481, 1779,
-     1482, 1778, 1483, 1777, 1773, 1464, 1485, 1772, 1490, 1486,
-
-        0,    0, 1768, 1764, 1763, 1762, 1537,    0, 1758, 1757,
-     1756, 1752, 1751, 1753, 1749, 1748, 1747, 1496, 1497, 1499,
-     1502, 1493, 1492, 1501, 1518, 1519, 1547, 1738, 1522, 1737,
-     1523, 1458, 1528, 1530, 1524, 1734, 1733, 1732, 1715, 1707,
-     1706, 1700, 1694, 1691, 1683, 1682, 1663, 1662, 1661, 1653,
-     1652, 1613, 1612, 1529, 1614, 1534, 1535, 1538, 1536, 1542,
-     1613, 1543, 1562, 1546, 1612, 1544, 1548, 1554, 1550, 1608,
-     1607, 1606, 1605, 1604, 1603, 1602, 1601, 1600, 1598, 1597,
-     1567, 1566, 1505, 1552, 1560, 1565, 1563, 1571, 1564, 1286,
-     1285, 1575, 1188, 1158, 1576, 1001,  997,  950,  901,  753,
-
-      752,  642,  556, 1577, 1580,  519, 1584,  475, 1588, 1589,
-     1590,  471,  407, 1582, 1583, 1594, 1596,  353,  298, 1595,
-      274,  234,  233,  165, 2568, 1669, 1681, 1693, 1702, 1711,
-     1723, 1732, 1744, 1756, 1768, 1775, 1784, 1790, 1796, 1802,
-     1808, 1814, 1820, 1826, 1832, 1838, 1850, 1856, 1859, 1866,
-     1868, 1874, 1880, 1886, 1888, 1894, 1899, 1911, 1923, 1929,
-     1935, 1941, 1947, 1949, 1955, 1957, 1963, 1965, 1971, 1973,
-     1979, 1981, 1987, 1989, 1995, 1997, 2003, 2010, 2016, 2022,
-     2028, 2034, 2036, 2042, 2044, 2050, 2052, 2058, 2063, 2075,
-     2081, 2087, 2089, 2095, 2097, 2103, 2105, 2111, 2113, 2119,
-
-     2121, 2127, 2129, 2135, 2141, 2143, 2149, 2151, 2157, 2163,
-     2169, 2171, 2177, 2179, 2185, 2187, 2193, 2195, 2201, 2203,
-     2209, 2214, 2226, 2232, 2238, 2240, 2246, 2248, 2254, 2256,
-     2262, 2264, 2270, 2272, 2278, 2280, 2286, 2288, 2294, 2296,
-     2302, 2308, 2310, 2316, 2318, 2324, 2326, 2332, 2334, 2336,
-     2341, 2347, 2355, 2361, 2367, 2369, 2375, 2377, 2379, 2384,
-     2390, 2392, 2394, 2396, 2398, 2400, 2402, 2404, 2410, 2412,
-     2418, 2420, 2422, 2424, 2426, 2435, 2441, 2443, 2445, 2451,
-     2457, 2463, 2465, 2471, 2477, 2483, 2489, 2495, 2501, 2507,
-     2513, 2519, 2525, 2531, 2537, 2543, 2549, 2555
-
-    } ;
-
-static yyconst flex_int16_t yy_def[999] =
-    {   0,
-      825,    1,  826,  826,  825,    5,  827,  827,  828,  828,
-      825,  825,  825,  825,  825,  825,  825,  829,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,   31,  825,  825,  825,  825,  825,  825,  830,  829,
-      825,  825,  825,  825,  829,  825,  829,  829,  829,  829,
-      829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
-      829,  825,  825,  825,  825,  825,  831,  825,  825,  825,
-      832,  825,  825,  833,  825,  825,  834,  825,  825,  825,
-      825,  825,  825,  825,  829,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  835,
-
-      825,  825,   30,  825,  825,  825,  825,  836,   30,  825,
-       31,  825,  825,   31,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  837,  825,
-      825,  825,  829,  838,  839,  825,  829,  829,  829,  829,
-      829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
-      829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
-      829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
-      829,  829,  829,  829,  829,  829,  829,  829,  829,  825,
-      825,  825,  831,  831,  831,  825,  831,  825,  832,  825,
-
-      840,  841,  833,  825,  825,  825,  825,  842,  843,  844,
-      834,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  845,  846,  825,  825,  825,  825,
-      228,  847,  825,  825,  103,  103,  825,  825,  825,  825,
-      825,  825,  825,  825,  848,  849,  850,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  837,  825,  851,  852,  853,  854,  855,  856,  857,
-      857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
-      857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
-      857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
-
-      857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
-      857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
-      857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
-      858,  859,  860,  861,  862,  863,  864,  865,  825,  825,
-      866,  867,  868,  869,  870,  871,  825,  825,  825,  825,
-      825,  872,  873,  874,  875,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  876,  877,  878,  825,  825,  825,
-      878,  825,  825,  825,  879,  880,  881,  882,  883,  884,
-      885,  886,  887,  888,  889,  889,  889,  889,  889,  889,
-      889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
-
-      889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
-      889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
-      889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
-      889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
-      889,  889,  889,  889,  889,  889,  890,  891,  892,  893,
-      894,  895,  896,  897,  898,  825,  899,  900,  901,  902,
-      903,  903,  904,  905,  906,  907,  825,  825,  825,  908,
-      825,  908,  825,  825,  825,  825,  825,  825,  825,  825,
-      909,  910,  911,  912,  913,  914,  915,  916,  917,  918,
-      919,  920,  921,  922,  922,  922,  922,  922,  922,  922,
-
-      922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
-      922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
-      922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
-      922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
-      922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
-      922,  923,  924,  925,  926,  927,  928,  929,  930,  931,
-      932,  933,  934,  935,  936,  937,  938,  939,  825,  825,
-      825,  825,  940,  825,  825,  825,  825,  825,  941,  942,
-      943,  944,  945,  946,  947,  948,  949,  950,  951,  952,
-      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
-
-      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
-      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
-      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
-      951,  951,  951,  951,  951,  951,  951,  953,  825,  954,
-      955,  956,  957,  958,  959,  960,  961,  962,  963,  825,
-      964,  965,  966,  967,  825,  825,  825,  968,  969,  970,
-      971,  972,  973,  974,  975,  976,  976,  976,  976,  976,
-      976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
-      976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
-      976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
-
-      977,  978,  956,  979,  980,  981,  825,  982,  968,  970,
-      983,  984,  975,  976,  976,  976,  976,  976,  976,  976,
-      976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
-      976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
-      976,  985,  986,  979,  987,  980,  988,  981,  989,  990,
-      983,  991,  984,  976,  976,  976,  976,  976,  976,  976,
-      976,  976,  976,  976,  976,  976,  976,  976,  976,  992,
-      985,  993,  986,  994,  987,  995,  988,  996,  989,  997,
-      990,  991,  976,  976,  976,  976,  976,  976,  976,  976,
-      976,  976,  976,  976,  976,  998,  992,  993,  994,  995,
-
-      970,  996,  997,  976,  976,  976,  976,  976,  976,  976,
-      976,  998,  970,  976,  976,  976,  976,  976,  976,  976,
-      976,  976,  976,  976,    0,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825
-
-    } ;
-
-static yyconst flex_int16_t yy_nxt[2653] =
-    {   0,
-       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
-       18,   19,   20,   21,   22,   23,   24,   25,   26,   27,
-       28,   29,   30,   31,   32,   32,   32,   32,   33,   34,
-       35,   36,   37,   38,   39,   18,   18,   18,   18,   18,
-       18,   18,   18,   40,   18,   18,   18,   18,   40,   18,
-       41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
-       51,   52,   53,   18,   54,   18,   55,   18,   18,   18,
-       18,   56,   57,   58,   59,   60,   61,   18,   18,   18,
-       62,   63,   64,   65,   66,   83,   91,   84,   84,   66,
-       87,   88,   67,   70,   70,   70,   70,   70,   70,   70,
-
-       70,   70,   70,   71,   70,   70,   70,   70,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   71,   71,
-       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
-       71,   71,   71,   70,   72,   70,   70,   71,   73,   71,
-       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
-       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
-       71,   71,   71,   70,   70,   70,   70,   75,   75,   78,
-       78,  122,  123,   89,   86,   78,   78,  608,   75,   75,
-       79,   80,   81,   81,   81,   79,   81,   80,   82,   82,
-
-       82,   81,   90,   92,  158,  144,   86,   97,   94,   98,
-       98,   98,   98,   98,   98,   86,   86,   93,   99,   84,
-       95,   96,   84,  100,  173,  117,   76,   76,   76,   76,
-      141,  145,   86,  101,  102,  142,  103,  103,  103,  103,
-      104,  104,  118,   86,  119,  120,  256,   86,  257,   86,
-      176,   86,  159,  105,  190,   86,  177,  106,  162,  160,
-      178,  201,  107,  108,  156,  161,  157,  163,  109,   86,
-      165,  164,  166,   86,  105,   86,  143,  225,   86,  174,
-      110,  167,  243,  251,   86,   86,  175,  202,  107,   86,
-      189,  108,  102,  188,  111,  111,  111,  111,  111,  111,
-
-      245,  183,  241,  226,  191,  244,  252,  242,  256,  184,
-      257,  105,  147,  148,  149,  112,  185,   86,  150,  151,
-      113,  152,   86,  153,  154,   86,  114,  168,   86,  179,
-      180,  155,  105,  242,  247,  169,  264,  170,  115,  181,
-      171,  256,  182,  257,  172,  141,  113,  124,  249,   86,
-      142,  125,  126,  250,  127,  825,  128,  129,  256,  130,
-      257,  131,  265,  186,   79,   80,   81,   81,   81,   79,
-      132,  133,  134,  192,   80,   81,   81,   81,  192,  250,
-       86,  193,   81,   80,   81,   81,   81,   81,   86,  253,
-      135,  143,  278,  136,   81,   80,   82,   82,   82,   81,
-
-      258,  195,  196,  258,   86,  187,  195,  235,  235,  235,
-      235,  256,   86,  257,  256,  256,  257,  257,  416,  825,
-      137,  138,  197,  197,  197,  197,  197,  197,  204,  205,
-      256,  260,  257,  204,  825,  206,  238,   86,  238,  236,
-      206,  239,  239,  239,  239,  239,  239,   86,  825,  207,
-      207,  207,  207,  248,  242,  259,  256,  306,  257,  250,
-      206,  825,  825,  102,  296,  104,  104,  104,  104,  104,
-      104,   86,  241,  240,   86,  208,  825,  249,  206,  256,
-      242,  257,  105,  206,  206,  250,  270,  206,  206,  256,
-       86,  257,  272,  271,  141,  206,   86,  237,  206,  142,
-
-      206,  209,  206,  105,  210,  212,   86,   86,  273,  213,
-      214,   86,  275,   86,  215,  216,  274,  217,   86,  218,
-       86,   86,   86,   86,  276,  825,   86,  291,  219,  220,
-      221,   86,  297,  277,   86,  290,  289,   86,   86,  279,
-       86,  280,  300,  281,  282,   86,  298,  283,  222,  284,
-      294,  223,  292,  293,  285,  286,  287,   86,  288,   86,
-       86,   86,  302,  295,   86,  299,  347,   86,  348,   86,
-       86,   86,  303,   86,  312,  825,  304,   86,  305,  224,
-      228,  228,  228,  228,  228,  228,  309,  301,  307,  308,
-      311,   86,   86,  310,   86,  316,  319,  229,  230,   86,
-
-       86,  230,   86,  313,   86,  317,  141,  333,   86,  360,
-      825,  320,  231,  314,  315,  321,   86,  386,  229,  230,
-      322,  330,  318,   86,  230,   98,   98,   98,   98,   98,
-       98,  323,   86,  334,   86,  324,  326,  347,  347,  348,
-      348,  363,  229,  230,  327,  328,  230,  329,   86,   86,
-      204,  205,  325,  390,  348,  204,  347,  234,  348,  545,
-      195,  196,   86,  229,  230,  195,  347,  363,  348,  230,
-      192,   80,   81,   81,   81,  192,  349,  347,  193,  348,
-      373,  197,  197,  197,  197,  197,  197,  195,  196,  405,
-       86,  348,  195,  331,  196,  347,  825,  348,  331,  403,
-
-      332,  339,  339,  339,  339,  347,  373,  348,  197,  197,
-      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
-      347,  350,  348,  347,  347,  348,  348,  104,  104,  104,
-      104,  104,  104,  340,  228,  228,  228,  228,  228,  228,
-      356,  256,  356,  257,  105,  357,  357,  357,  357,  357,
-      357,  229,  230,  229,  230,  230,  256,  230,  257,  248,
-       86,   86,   86,   86,   86,  105,  231,  392,  375,  402,
-      630,   86,  229,  230,  229,  230,  385,  358,  230,  387,
-      230,  239,  239,  239,  239,  239,  239,  361,  361,  361,
-      361,  361,  361,  238,  376,  238,   86,  398,  239,  239,
-
-      239,  239,  239,  239,  366,  230,  813,  825,  230,  104,
-      104,  104,  104,  104,  104,   86,  391,   86,   86,  362,
-      111,  111,  111,  111,  111,  111,  230,  368,   86,  369,
-      394,  230,  370,  388,   86,  389,  395,  396,  371,   86,
-       86,  248,   86,   86,   86,   86,   86,  408,  393,  399,
-      372,   86,  253,  404,  369,  409,   86,  397,  370,  400,
-      401,   86,  406,  407,   86,   86,   86,   86,  410,   86,
-      415,  411,   86,   86,  412,  418,   86,   86,  422,   86,
-       86,  420,  423,  419,  424,  413,  414,   86,  417,   86,
-       86,  421,   86,   86,   86,   86,   86,   86,   86,  426,
-
-       86,  425,  428,  429,   86,  427,   86,  431,  430,  436,
-       86,   86,  432,  141,  435,   86,  434,   86,  433,  441,
-      437,   86,   86,   86,   86,   86,  445,  438,  439,  440,
-      443,  444,  196,  442,  331,  196,  494,  446,  194,  331,
-      495,  332,  206,  206,  206,  206,  339,  339,  339,  339,
-      347,  347,  348,  348,   86,  825,   86,  357,  357,  357,
-      357,  357,  357,  467,  467,  467,  467,  467,  467,  479,
-      356,   86,  356,  497,  456,  357,  357,  357,  357,  357,
-      357,  230,   86,   86,  230,  228,  228,  228,  228,  228,
-      228,  498,  480,  501,  499,  468,  235,  235,  235,  235,
-
-      104,  104,  230,   86,  825,  471,  471,  230,  361,  361,
-      361,  361,  361,  361,  472,  473,  475,  359,  361,  361,
-      361,  361,  361,  361,  514,   86,  230,   86,  360,  230,
-      471,  471,  474,  366,  474,   86,  230,  475,   86,  230,
-      362,  504,  475,   86,  500,   86,   86,  230,  510,  505,
-      469,  825,  230,  496,  502,  812,  368,  230,  369,  503,
-       86,  370,  230,  475,  476,  825,  476,  371,   86,  477,
-      477,  477,  477,  477,  477,   86,  506,  507,   86,  372,
-       86,   86,   86,  369,  513,   86,  509,  370,  368,   86,
-      369,   86,  515,  370,   86,  511,  518,  508,   86,  481,
-
-       86,  478,  512,   86,  516,   86,  517,   86,   86,   86,
-      519,  372,  524,   86,  522,  369,  521,  526,  523,  370,
-       86,  520,  525,  527,   86,   86,   86,   86,  529,   86,
-       86,  528,   86,   86,   86,  533,   86,   86,   86,  531,
-       86,  540,  530,   86,  534,  532,   86,  543,   86,  549,
-       86,  536,  535,  537,  538,  541,  542,  544,  539,   86,
-       86,   86,  196,  548,  600,  471,  471,  546,  552,  551,
-      550,  206,  206,  206,  206,  472,   86,  547,  467,  467,
-      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
-      471,  471,  574,  591,  471,   86,  230,   86,   86,  230,
-
-       86,   86,  230,  573,   86,  230,   86,   86,  592,   86,
-      468,  595,  593,   86,  597,   86,  569,  230,  574,  471,
-      594,   86,  230,  230,  599,  602,  596,  601,  230,  361,
-      361,  361,  361,  361,  361,  570,  603,  570,  611,   86,
-      571,  571,  571,  571,  571,  571,  477,  477,  477,  477,
-      477,  477,  575,  575,  575,  575,  575,  575,  476,   86,
-      476,  469,   86,  477,  477,  477,  477,  477,  477,   86,
-      576,  604,  572,  576,  598,   86,   86,   86,   86,   86,
-      605,  610,   86,   86,  577,   86,   86,  606,  609,   86,
-      607,  576,  612,   86,  613,  614,  576,   86,   86,  616,
-
-      617,   86,  618,   86,  615,   86,   86,   86,   86,   86,
-      620,  623,   86,   86,  619,   86,  621,  624,  622,   86,
-      627,  625,   86,  629,   86,   86,  628,  626,   86,  631,
-       86,  633,   86,  634,   86,  632,   86,   86,  635,  668,
-       86,  673,  636,  637,  467,  467,  467,  467,  467,  467,
-      571,  571,  571,  571,  571,  571,  655,  655,  655,  655,
-      655,  655,  570,  672,  570,   86,   86,  571,  571,  571,
-      571,  571,  571,   86,  576,  669,  569,  576,  575,  575,
-      575,  575,  575,  575,   86,  686,  670,   86,  656,   86,
-      676,   86,   86,   86,   86,  576,  576,  674,  666,  576,
-
-      576,  671,  575,  575,  575,  575,  575,  575,  675,  678,
-      577,  667,   86,   86,  679,   86,   86,  576,   86,  682,
-      576,  684,  576,  576,   86,  677,   86,   86,   86,   86,
-      680,   86,   86,   86,  657,  683,  687,  681,   86,  685,
-       86,  576,   86,   86,  688,   86,  576,   86,   86,  697,
-      689,  690,  693,  698,  691,  692,  696,  695,   86,   86,
-      700,   86,   86,   86,   86,  694,  720,  699,  655,  655,
-      655,  655,  655,  655,  655,  655,  655,  655,  655,  655,
-      714,   86,  719,   86,   86,  726,  576,  716,   86,  576,
-      717,  715,  576,  718,   86,  576,   86,  721,   86,  727,
-
-      656,   86,  722,  730,  723,  724,  707,  576,   86,   86,
-      729,  725,  576,  576,   86,   86,  766,  728,  576,  575,
-      575,  575,  575,  575,  575,   86,   86,   86,   86,  731,
-       86,   86,   86,   86,   86,  738,   86,   86,  732,  733,
-      734,   86,  736,   86,   86,  735,  741,   86,   86,  740,
-       86,  657,   86,   86,  758,  756,   86,  737,  739,  655,
-      655,  655,  655,  655,  655,  755,  759,  754,  757,   86,
-       86,  763,  761,   86,   86,   86,  764,  765,  760,   86,
-       86,   86,  767,  762,  768,   86,   86,   86,  790,   86,
-      769,  707,  786,   86,   86,   86,  788,   86,   86,   86,
-
-      791,   86,  793,   86,  785,   86,  784,  783,  794,  787,
-      795,   86,  789,   86,   86,   86,   86,  792,  805,  806,
-      825,  825,   86,  807,  804,  808,   86,   86,   86,  810,
-      811,   86,  809,   86,   86,   86,  815,  814,  816,   86,
-       86,   86,  817,  818,  819,   86,   86,   86,  822,  821,
-      823,  803,  825,  820,  802,  825,  800,  825,  799,  825,
-      798,  825,  797,   86,   86,   86,  825,  782,  824,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   74,   74,   74,   74,   74,   74,   74,   74,   74,
-       74,   74,   74,   77,   77,   77,   77,   77,   77,   77,
-
-       77,   77,   77,   77,   77,   85,  825,  781,   85,   85,
-       85,   85,   85,   85,  139,  779,  825,  777,  139,  139,
-      139,  139,  139,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  199,  825,  775,  199,  199,
-      199,  199,  199,  199,  203,  825,  203,  203,  773,  203,
-      203,  203,  203,  203,  771,  203,  211,   86,   86,  211,
-      211,  211,  211,  211,  211,  211,   86,  211,  232,  232,
-      232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-      246,  246,  246,   86,   86,   86,  246,  262,   86,   86,
-      262,  262,  262,  262,  262,  262,  266,  266,   86,   86,
-
-       86,  266,  268,  268,   86,  825,  753,  268,  335,  335,
-      751,  825,  825,  335,  337,  337,  748,  746,  744,  337,
-      341,  341,  825,   86,   86,  341,  343,  343,   86,   86,
-       86,  343,  345,  345,   86,   86,  713,  345,  352,  352,
-      710,  709,  200,  352,  354,  354,  703,  702,  639,  354,
-      232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-      232,  232,  365,  365,  367,  367,  367,  367,  367,   86,
-      367,  246,  246,  246,  377,  377,   86,   86,   86,  377,
-      379,  379,   86,   86,   86,  379,  381,  381,   86,   86,
-       86,  381,  266,  266,  383,  383,   86,   86,   86,  383,
-
-      268,  268,   85,   86,  664,   85,   85,   85,   85,   85,
-       85,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  448,  448,  663,  661,  659,
-      448,  450,  450,  573,  654,  653,  450,  452,  452,  651,
-      649,  647,  452,  335,  335,  454,  454,  645,  643,  641,
-      454,  337,  337,  457,  457,  639,   86,   86,  457,  341,
-      341,  459,  459,   86,   86,   86,  459,  343,  343,  461,
-      461,   86,   86,   86,  461,  345,  345,  463,  463,   86,
-       86,   86,  463,  352,  352,  465,  465,  590,  588,  586,
-
-      465,  354,  354,  470,  470,  584,  470,  582,  470,  365,
-      365,  580,  365,  481,  365,  367,  367,  367,  367,  367,
-      578,  367,  482,  482,  578,  568,  566,  482,  484,  484,
-      462,  462,  564,  484,  486,  486,  562,  560,  558,  486,
-      377,  377,  488,  488,  556,  554,   86,  488,  379,  379,
-      490,  490,   86,   86,   86,  490,  381,  381,  492,  492,
-       86,   86,   86,  492,  383,  383,   85,   86,  493,   85,
-       85,   85,   85,   85,   85,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  553,  553,  491,
-      489,  487,  553,  448,  448,  555,  555,  485,  483,  466,
-
-      555,  450,  450,  557,  557,  464,  348,  348,  557,  452,
-      452,  559,  559,  462,  460,  458,  559,  454,  454,  561,
-      561,  455,  453,  451,  561,  457,  457,  563,  563,  449,
-       86,   86,  563,  459,  459,  461,  461,   86,  384,  382,
-      461,  565,  565,  380,  378,  263,  565,  463,  463,  567,
-      567,  258,  257,  374,  567,  465,  465,  470,  470,  374,
-      470,  245,  470,  367,  367,  364,  364,  233,  367,  579,
-      579,  359,  355,  353,  579,  482,  482,  581,  581,  351,
-      347,  346,  581,  484,  484,  583,  583,  344,  342,  338,
-      583,  486,  486,  585,  585,  336,  200,  196,  585,  488,
-
-      488,  587,  587,   86,  269,  267,  587,  490,  490,  589,
-      589,  263,  258,  261,  589,  492,  492,   85,  258,  256,
-       85,   85,   85,   85,   85,   85,  638,  638,  638,  638,
-      638,  638,  638,  638,  638,  638,  638,  638,  640,  640,
-      255,  254,  233,  640,  553,  553,  642,  642,  227,   84,
-       84,  642,  555,  555,  644,  644,   86,  200,  198,  644,
-      557,  557,  646,  646,   84,  146,  140,  646,  559,  559,
-      648,  648,  121,  116,   86,  648,  561,  561,  650,  650,
-      825,   69,   69,  650,  563,  563,  652,  652,  825,  825,
-      825,  652,  565,  565,   85,   85,  825,  825,  825,   85,
-
-      567,  567,  470,  470,  825,  825,  825,  470,  658,  658,
-      825,  825,  825,  658,  579,  579,  660,  660,  825,  825,
-      825,  660,  581,  581,  662,  662,  825,  825,  825,  662,
-      583,  583,  139,  139,  825,  825,  825,  139,  585,  585,
-      665,  665,  587,  587,   85,  825,  825,   85,   85,   85,
-       85,   85,   85,  589,  589,  638,  638,  638,  638,  638,
-      638,  638,  638,  638,  638,  638,  638,  701,  701,  825,
-      825,  825,  701,  640,  640,  199,  199,  825,  825,  825,
-      199,  642,  642,  704,  704,  644,  644,  199,  825,  825,
-      199,  199,  199,  199,  199,  199,  646,  646,  705,  705,
-
-      648,  648,  650,  650,  706,  706,  652,  652,   85,   85,
-      708,  708,  825,  825,  825,  708,  658,  658,  262,  262,
-      825,  825,  825,  262,  660,  660,  711,  711,  662,  662,
-      139,  139,  712,  712,  825,  825,  825,  712,   85,  825,
-      825,   85,   85,   85,   85,   85,   85,  742,  742,  701,
-      701,  743,  743,  825,  825,  825,  743,  745,  745,  825,
-      825,  825,  745,  747,  747,  825,  825,  825,  747,  749,
-      749,  750,  750,  825,  825,  825,  750,  752,  752,  825,
-      825,  825,  752,  770,  770,  825,  825,  825,  770,  772,
-      772,  825,  825,  825,  772,  774,  774,  825,  825,  825,
-
-      774,  776,  776,  825,  825,  825,  776,  778,  778,  825,
-      825,  825,  778,  780,  780,  825,  825,  825,  780,  589,
-      589,  825,  825,  825,  589,  796,  796,  825,  825,  825,
-      796,  646,  646,  825,  825,  825,  646,  650,  650,  825,
-      825,  825,  650,   85,   85,  825,  825,  825,   85,  801,
-      801,  825,  825,  825,  801,  139,  139,  825,  825,  825,
-      139,  199,  199,  825,  825,  825,  199,   11,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825
-    } ;
-
-static yyconst flex_int16_t yy_chk[2653] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    2,   16,   24,   16,   24,    2,
-       19,   19,    2,    5,    5,    5,    5,    5,    5,    5,
-
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    7,    8,    9,
-       10,   37,   37,   20,   48,    9,   10,  512,    7,    8,
-       13,   13,   13,   13,   13,   13,   15,   15,   15,   15,
-
-       15,   15,   20,   25,   48,   42,   53,   28,   27,   28,
-       28,   28,   28,   28,   28,  512,  824,   25,   29,   25,
-       27,   27,   27,   29,   53,   35,    7,    8,    9,   10,
-       40,   42,   55,   29,   30,   40,   30,   30,   30,   30,
-       30,   30,   35,   47,   35,   35,  125,   49,  125,   50,
-       55,   56,   49,   30,   63,   51,   55,   30,   50,   49,
-       56,   72,   30,   30,   47,   49,   47,   50,   30,   54,
-       51,   50,   51,   40,   30,   60,   40,   86,   61,   54,
-       30,   51,  107,  113,  823,  822,   54,   72,   30,   58,
-       61,   30,   31,   60,   31,   31,   31,   31,   31,   31,
-
-      108,   58,  106,   86,   63,  107,  113,  106,  126,   58,
-      126,   31,   45,   45,   45,   31,   58,   57,   45,   45,
-       31,   45,   52,   45,   45,  821,   31,   52,   45,   57,
-       57,   45,   31,  106,  108,   52,  140,   52,   31,   57,
-       52,  128,   57,  128,   52,   59,   31,   38,  112,  819,
-       59,   38,   38,  112,   38,  114,   38,   38,  131,   38,
-      131,   38,  140,   59,   79,   79,   79,   79,   79,   79,
-       38,   38,   38,   66,   66,   66,   66,   66,   66,  112,
-      154,   66,   81,   81,   81,   81,   81,   81,   59,  114,
-       38,   59,  154,   38,   82,   82,   82,   82,   82,   82,
-
-      129,   67,   67,  130,  818,   59,   67,  103,  103,  103,
-      103,  133,  298,  133,  129,  130,  129,  130,  298,  109,
-       38,   38,   67,   67,   67,   67,   67,   67,   76,   76,
-      134,  134,  134,   76,  103,   76,  105,  171,  105,  103,
-       76,  105,  105,  105,  105,  105,  105,  161,  109,   76,
-       76,   76,   76,  109,  110,  132,  132,  171,  132,  115,
-       76,  813,  103,  104,  161,  104,  104,  104,  104,  104,
-      104,  147,  110,  105,  148,   76,  109,  115,   76,  136,
-      110,  136,  104,   76,   76,  115,  147,   76,   76,  138,
-      149,  138,  148,  147,  143,   76,  151,  104,   76,  143,
-
-       76,   76,   76,  104,   76,   84,  152,  150,  149,   84,
-       84,  153,  151,  157,   84,   84,  150,   84,  158,   84,
-      156,  165,  162,  163,  152,  812,  808,  158,   84,   84,
-       84,  159,  162,  153,  155,  157,  156,  143,  164,  155,
-      167,  155,  165,  155,  155,  160,  163,  155,   84,  155,
-      160,   84,  159,  159,  155,  155,  155,  168,  155,  169,
-      170,  172,  167,  160,  166,  164,  213,  173,  213,  177,
-      806,  175,  168,  176,  177,  236,  169,  179,  170,   84,
-       98,   98,   98,   98,   98,   98,  175,  166,  172,  173,
-      176,  181,  178,  175,  180,  179,  181,   98,   98,  271,
-
-      183,   98,  182,  178,  184,  180,  186,  200,  189,  236,
-      803,  181,   98,  178,  178,  182,  185,  271,   98,   98,
-      183,  189,  180,  187,   98,  102,  102,  102,  102,  102,
-      102,  184,  188,  200,  440,  185,  187,  214,  215,  214,
-      215,  241,  102,  102,  187,  188,  102,  188,  275,  186,
-      204,  204,  186,  275,  217,  204,  218,  102,  218,  440,
-      193,  193,  287,  102,  102,  193,  217,  241,  217,  102,
-      192,  192,  192,  192,  192,  192,  219,  219,  192,  219,
-      249,  193,  193,  193,  193,  193,  193,  195,  195,  287,
-      285,  216,  195,  197,  197,  220,  802,  220,  197,  285,
-
-      197,  207,  207,  207,  207,  216,  249,  216,  195,  195,
-      195,  195,  195,  195,  197,  197,  197,  197,  197,  197,
-      221,  221,  221,  223,  224,  223,  224,  237,  237,  237,
-      237,  237,  237,  207,  228,  228,  228,  228,  228,  228,
-      229,  259,  229,  259,  237,  229,  229,  229,  229,  229,
-      229,  228,  228,  234,  234,  228,  260,  234,  260,  237,
-      541,  272,  277,  270,  284,  237,  228,  277,  263,  284,
-      541,  281,  228,  228,  234,  234,  270,  229,  228,  272,
-      234,  238,  238,  238,  238,  238,  238,  239,  239,  239,
-      239,  239,  239,  240,  263,  240,  276,  281,  240,  240,
-
-      240,  240,  240,  240,  246,  239,  801,  800,  239,  248,
-      248,  248,  248,  248,  248,  279,  276,  273,  274,  239,
-      253,  253,  253,  253,  253,  253,  239,  246,  278,  246,
-      279,  239,  246,  273,  282,  274,  279,  279,  246,  280,
-      286,  248,  291,  283,  288,  290,  292,  291,  278,  282,
-      246,  294,  253,  286,  246,  292,  295,  280,  246,  283,
-      283,  293,  288,  290,  296,  297,  300,  301,  293,  299,
-      297,  294,  302,  304,  295,  300,  303,  305,  304,  306,
-      307,  302,  305,  301,  306,  296,  296,  308,  299,  309,
-      314,  303,  311,  312,  313,  315,  316,  317,  319,  307,
-
-      318,  306,  309,  311,  320,  308,  321,  313,  312,  318,
-      324,  322,  314,  325,  317,  326,  316,  327,  315,  324,
-      319,  329,  330,  328,  386,  385,  329,  320,  321,  322,
-      327,  328,  332,  326,  331,  331,  385,  330,  332,  331,
-      386,  331,  339,  339,  339,  339,  340,  340,  340,  340,
-      349,  350,  349,  350,  388,  799,  325,  356,  356,  356,
-      356,  356,  356,  357,  357,  357,  357,  357,  357,  370,
-      358,  392,  358,  388,  339,  358,  358,  358,  358,  358,
-      358,  357,  389,  390,  357,  359,  359,  359,  359,  359,
-      359,  389,  370,  392,  390,  357,  360,  360,  360,  360,
-
-      360,  360,  357,  403,  798,  365,  366,  357,  361,  361,
-      361,  361,  361,  361,  365,  366,  372,  359,  362,  362,
-      362,  362,  362,  362,  403,  395,  361,  396,  360,  361,
-      365,  366,  368,  367,  372,  391,  362,  368,  387,  362,
-      361,  395,  372,  400,  391,  393,  394,  361,  400,  396,
-      362,  797,  361,  387,  393,  796,  367,  362,  367,  394,
-      397,  367,  362,  368,  369,  371,  369,  367,  399,  369,
-      369,  369,  369,  369,  369,  398,  397,  397,  402,  367,
-      401,  404,  408,  367,  402,  405,  399,  367,  371,  415,
-      371,  406,  404,  371,  413,  401,  408,  398,  410,  371,
-
-      412,  369,  401,  420,  405,  414,  406,  416,  417,  421,
-      410,  371,  415,  422,  414,  371,  413,  417,  414,  371,
-      423,  412,  416,  420,  424,  425,  426,  428,  422,  430,
-      431,  421,  435,  432,  433,  426,  434,  436,  443,  424,
-      438,  435,  423,  437,  428,  425,  442,  438,  445,  443,
-      439,  431,  430,  432,  433,  436,  437,  439,  434,  441,
-      446,  504,  447,  442,  504,  473,  470,  441,  447,  446,
-      445,  456,  456,  456,  456,  470,  494,  441,  467,  467,
-      467,  467,  467,  467,  468,  468,  468,  468,  468,  468,
-      473,  470,  474,  494,  472,  495,  467,  497,  499,  467,
-
-      498,  501,  468,  472,  500,  468,  506,  505,  495,  794,
-      467,  499,  497,  503,  501,  507,  468,  467,  474,  472,
-      498,  515,  467,  468,  503,  506,  500,  505,  468,  469,
-      469,  469,  469,  469,  469,  471,  507,  471,  515,  793,
-      471,  471,  471,  471,  471,  471,  476,  476,  476,  476,
-      476,  476,  477,  477,  477,  477,  477,  477,  478,  514,
-      478,  469,  508,  478,  478,  478,  478,  478,  478,  502,
-      477,  508,  471,  477,  502,  509,  510,  511,  522,  513,
-      509,  514,  523,  516,  477,  524,  520,  510,  513,  517,
-      511,  477,  516,  525,  517,  520,  477,  527,  528,  523,
-
-      524,  529,  525,  531,  522,  536,  532,  537,  534,  538,
-      528,  532,  535,  543,  527,  540,  529,  534,  531,  544,
-      537,  535,  542,  540,  546,  549,  538,  536,  547,  542,
-      550,  544,  592,  546,  597,  543,  791,  790,  547,  592,
-      596,  597,  549,  550,  569,  569,  569,  569,  569,  569,
-      570,  570,  570,  570,  570,  570,  571,  571,  571,  571,
-      571,  571,  572,  596,  572,  610,  593,  572,  572,  572,
-      572,  572,  572,  594,  571,  593,  569,  571,  575,  575,
-      575,  575,  575,  575,  595,  610,  594,  600,  571,  598,
-      600,  599,  603,  591,  602,  571,  575,  598,  591,  575,
-
-      571,  595,  577,  577,  577,  577,  577,  577,  599,  602,
-      575,  591,  601,  604,  603,  605,  606,  575,  607,  606,
-      577,  608,  575,  577,  609,  601,  612,  611,  613,  615,
-      604,  616,  620,  617,  577,  607,  611,  605,  621,  609,
-      623,  577,  627,  634,  612,  637,  577,  626,  608,  627,
-      613,  615,  620,  634,  616,  617,  626,  623,  636,  666,
-      637,  669,  672,  673,  680,  621,  673,  636,  655,  655,
-      655,  655,  655,  655,  656,  656,  656,  656,  656,  656,
-      666,  667,  672,  670,  675,  680,  655,  669,  671,  655,
-      670,  667,  656,  671,  674,  656,  678,  674,  677,  681,
-
-      655,  683,  675,  684,  677,  678,  656,  655,  679,  732,
-      683,  679,  655,  656,  682,  696,  732,  682,  656,  657,
-      657,  657,  657,  657,  657,  686,  685,  681,  684,  685,
-      688,  687,  689,  691,  693,  696,  697,  700,  686,  687,
-      688,  699,  691,  723,  722,  689,  700,  718,  719,  699,
-      720,  657,  724,  721,  722,  720,  783,  693,  697,  707,
-      707,  707,  707,  707,  707,  719,  723,  718,  721,  725,
-      726,  727,  725,  729,  731,  735,  729,  731,  724,  733,
-      754,  734,  733,  726,  734,  756,  757,  759,  763,  758,
-      735,  707,  758,  760,  762,  766,  760,  764,  727,  767,
-
-      764,  769,  767,  784,  757,  768,  756,  754,  768,  759,
-      769,  785,  762,  763,  787,  789,  786,  766,  785,  786,
-      782,  781,  788,  787,  784,  788,  792,  795,  804,  792,
-      795,  805,  789,  814,  815,  807,  805,  804,  807,  809,
-      810,  811,  809,  810,  811,  816,  820,  817,  816,  815,
-      817,  780,  779,  814,  778,  777,  776,  775,  774,  773,
-      772,  771,  770,  765,  761,  755,  753,  752,  820,  826,
-      826,  826,  826,  826,  826,  826,  826,  826,  826,  826,
-      826,  827,  827,  827,  827,  827,  827,  827,  827,  827,
-      827,  827,  827,  828,  828,  828,  828,  828,  828,  828,
-
-      828,  828,  828,  828,  828,  829,  751,  750,  829,  829,
-      829,  829,  829,  829,  830,  749,  748,  747,  830,  830,
-      830,  830,  830,  831,  831,  831,  831,  831,  831,  831,
-      831,  831,  831,  831,  831,  832,  746,  745,  832,  832,
-      832,  832,  832,  832,  833,  744,  833,  833,  743,  833,
-      833,  833,  833,  833,  742,  833,  834,  741,  740,  834,
-      834,  834,  834,  834,  834,  834,  739,  834,  835,  835,
-      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
-      836,  836,  836,  738,  737,  736,  836,  837,  730,  728,
-      837,  837,  837,  837,  837,  837,  838,  838,  717,  716,
-
-      715,  838,  839,  839,  714,  713,  712,  839,  840,  840,
-      711,  710,  709,  840,  841,  841,  706,  705,  704,  841,
-      842,  842,  703,  698,  695,  842,  843,  843,  694,  692,
-      690,  843,  844,  844,  676,  668,  665,  844,  845,  845,
-      660,  658,  646,  845,  846,  846,  642,  640,  638,  846,
-      847,  847,  847,  847,  847,  847,  847,  847,  847,  847,
-      847,  847,  848,  848,  849,  849,  849,  849,  849,  635,
-      849,  850,  850,  850,  851,  851,  633,  632,  631,  851,
-      852,  852,  630,  629,  628,  852,  853,  853,  625,  624,
-      622,  853,  854,  854,  855,  855,  619,  618,  614,  855,
-
-      856,  856,  857,  589,  585,  857,  857,  857,  857,  857,
-      857,  858,  858,  858,  858,  858,  858,  858,  858,  858,
-      858,  858,  858,  859,  859,  859,  859,  859,  859,  859,
-      859,  859,  859,  859,  859,  860,  860,  583,  581,  579,
-      860,  861,  861,  573,  567,  565,  861,  862,  862,  563,
-      561,  559,  862,  863,  863,  864,  864,  557,  555,  553,
-      864,  865,  865,  866,  866,  552,  551,  548,  866,  867,
-      867,  868,  868,  545,  539,  533,  868,  869,  869,  870,
-      870,  530,  526,  521,  870,  871,  871,  872,  872,  519,
-      518,  496,  872,  873,  873,  874,  874,  492,  490,  488,
-
-      874,  875,  875,  876,  876,  486,  876,  484,  876,  877,
-      877,  482,  877,  481,  877,  878,  878,  878,  878,  878,
-      480,  878,  879,  879,  479,  465,  463,  879,  880,  880,
-      462,  461,  459,  880,  881,  881,  457,  454,  452,  881,
-      882,  882,  883,  883,  450,  448,  444,  883,  884,  884,
-      885,  885,  429,  427,  419,  885,  886,  886,  887,  887,
-      418,  411,  409,  887,  888,  888,  889,  407,  383,  889,
-      889,  889,  889,  889,  889,  890,  890,  890,  890,  890,
-      890,  890,  890,  890,  890,  890,  890,  891,  891,  381,
-      379,  377,  891,  892,  892,  893,  893,  376,  375,  354,
-
-      893,  894,  894,  895,  895,  352,  351,  347,  895,  896,
-      896,  897,  897,  345,  343,  341,  897,  898,  898,  899,
-      899,  337,  335,  334,  899,  900,  900,  901,  901,  333,
-      323,  310,  901,  902,  902,  903,  903,  289,  268,  266,
-      903,  904,  904,  265,  264,  262,  904,  905,  905,  906,
-      906,  261,  256,  252,  906,  907,  907,  908,  908,  251,
-      908,  247,  908,  909,  909,  244,  243,  232,  909,  910,
-      910,  231,  226,  225,  910,  911,  911,  912,  912,  222,
-      212,  210,  912,  913,  913,  914,  914,  209,  208,  202,
-      914,  915,  915,  916,  916,  201,  199,  194,  916,  917,
-
-      917,  918,  918,  174,  145,  144,  918,  919,  919,  920,
-      920,  139,  137,  135,  920,  921,  921,  922,  127,  124,
-      922,  922,  922,  922,  922,  922,  923,  923,  923,  923,
-      923,  923,  923,  923,  923,  923,  923,  923,  924,  924,
-      123,  119,  100,  924,  925,  925,  926,  926,   97,   94,
-       92,  926,  927,  927,  928,  928,   85,   71,   69,  928,
-      929,  929,  930,  930,   65,   44,   39,  930,  931,  931,
-      932,  932,   36,   33,   18,  932,  933,  933,  934,  934,
-       11,    4,    3,  934,  935,  935,  936,  936,    0,    0,
-        0,  936,  937,  937,  938,  938,    0,    0,    0,  938,
-
-      939,  939,  940,  940,    0,    0,    0,  940,  941,  941,
-        0,    0,    0,  941,  942,  942,  943,  943,    0,    0,
-        0,  943,  944,  944,  945,  945,    0,    0,    0,  945,
-      946,  946,  947,  947,    0,    0,    0,  947,  948,  948,
-      949,  949,  950,  950,  951,    0,    0,  951,  951,  951,
-      951,  951,  951,  952,  952,  953,  953,  953,  953,  953,
-      953,  953,  953,  953,  953,  953,  953,  954,  954,    0,
-        0,    0,  954,  955,  955,  956,  956,    0,    0,    0,
-      956,  957,  957,  958,  958,  959,  959,  960,    0,    0,
-      960,  960,  960,  960,  960,  960,  961,  961,  962,  962,
-
-      963,  963,  964,  964,  965,  965,  966,  966,  967,  967,
-      968,  968,    0,    0,    0,  968,  969,  969,  970,  970,
-        0,    0,    0,  970,  971,  971,  972,  972,  973,  973,
-      974,  974,  975,  975,    0,    0,    0,  975,  976,    0,
-        0,  976,  976,  976,  976,  976,  976,  977,  977,  978,
-      978,  979,  979,    0,    0,    0,  979,  980,  980,    0,
-        0,    0,  980,  981,  981,    0,    0,    0,  981,  982,
-      982,  983,  983,    0,    0,    0,  983,  984,  984,    0,
-        0,    0,  984,  985,  985,    0,    0,    0,  985,  986,
-      986,    0,    0,    0,  986,  987,  987,    0,    0,    0,
-
-      987,  988,  988,    0,    0,    0,  988,  989,  989,    0,
-        0,    0,  989,  990,  990,    0,    0,    0,  990,  991,
-      991,    0,    0,    0,  991,  992,  992,    0,    0,    0,
-      992,  993,  993,    0,    0,    0,  993,  994,  994,    0,
-        0,    0,  994,  995,  995,    0,    0,    0,  995,  996,
-      996,    0,    0,    0,  996,  997,  997,    0,    0,    0,
-      997,  998,  998,    0,    0,    0,  998,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
-      825,  825
-    } ;
-
-/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[172] =
-    {   0,
-1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,     };
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "lex.ll"
-/*
- * Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
- *
- * The contents of this file are covered under the licence agreement in the
- * file "LICENCE" distributed with Cforall.
- * 
- * lex.l -- 
- * 
- * Author           : Peter A. Buhr
- * Created On       : Sat Sep 22 08:58:10 2001
- * Last Modified By : Peter A. Buhr
- * Last Modified On : Fri Jun 19 11:10:14 2015
- * Update Count     : 392
- */
-#line 20 "lex.ll"
-// This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive have been
-// performed and removed from the source. The only exceptions are preprocessor directives passed to the compiler (e.g.,
-// line-number directives) and C/C++ style comments, which are ignored.
-
-//**************************** Includes and Defines ****************************
-
-#include <string>
-
-#include "lex.h"
-#include "ParseNode.h"
-#include "parser.h"										// YACC generated definitions based on C++ grammar
-
-char *yyfilename;
-std::string *strtext;									// accumulate parts of character and string constant value
-
-#define RETURN_LOCN(x)		yylval.tok.loc.file = yyfilename; yylval.tok.loc.line = yylineno; return( x )
-#define RETURN_VAL(x)		yylval.tok.str = new std::string( yytext ); RETURN_LOCN( x )
-#define RETURN_CHAR(x)		yylval.tok.str = NULL; RETURN_LOCN( x )
-#define RETURN_STR(x)		yylval.tok.str = strtext; RETURN_LOCN( x )
-
-#define WHITE_RETURN(x)									// do nothing
-#define NEWLINE_RETURN()	WHITE_RETURN( '\n' )
-#define ASCIIOP_RETURN()	RETURN_CHAR( (int)yytext[0] ) // single character operator
-#define NAMEDOP_RETURN(x)	RETURN_VAL( x )				// multichar operator, with a name
-#define NUMERIC_RETURN(x)	rm_underscore(); RETURN_VAL( x ) // numeric constant
-#define KEYWORD_RETURN(x)	RETURN_CHAR( x )			// keyword
-#define IDENTIFIER_RETURN()	RETURN_VAL( (typedefTable.isIdentifier( yytext ) ? IDENTIFIER : typedefTable.isTypedef( yytext ) ? TYPEDEFname : TYPEGENname ) )
-#define ATTRIBUTE_RETURN()	RETURN_VAL( ATTR_IDENTIFIER )
-
-void rm_underscore() {
-	// remove underscores in numeric constant
-	int j = 0;
-	for ( int i = 0; yytext[i] != '\0'; i += 1 ) {
-		if ( yytext[i] != '_' ) {
-			yytext[j] = yytext[i];
-			j += 1;
-		} // if
-	} // for
-	yyleng = j;
-	yytext[yyleng] = '\0';
-}
-
-// identifier, GCC: $ in identifier
-// quoted identifier
-// attribute identifier, GCC: $ in identifier
-// numeric constants, CFA: '_' in constant
-// character escape sequence, GCC: \e => esc character
-// ' stop highlighting
-// display/white-space characters
-// operators
-
-
-
-
-#line 1451 "Parser/lex.cc"
-
-#define INITIAL 0
-#define COMMENT 1
-#define BKQUOTE 2
-#define QUOTE 3
-#define STRING 4
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-int yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k */
-#define YY_READ_BUF_SIZE 16384
-#else
-#define YY_READ_BUF_SIZE 8192
-#endif /* __ia64__ */
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
-		{ \
-		int c = '*'; \
-		size_t n; \
-		for ( n = 0; n < max_size && \
-			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
-			buf[n] = (char) c; \
-		if ( c == '\n' ) \
-			buf[n++] = (char) c; \
-		if ( c == EOF && ferror( yyin ) ) \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-		result = n; \
-		} \
-	else \
-		{ \
-		errno=0; \
-		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-			{ \
-			if( errno != EINTR) \
-				{ \
-				YY_FATAL_ERROR( "input in flex scanner failed" ); \
-				break; \
-				} \
-			errno=0; \
-			clearerr(yyin); \
-			} \
-		}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	if ( yyleng > 0 ) \
-		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
-				(yytext[yyleng - 1] == '\n'); \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-#line 136 "lex.ll"
-
-				   /* line directives */
-#line 1646 "Parser/lex.cc"
-
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-		yy_current_state += YY_AT_BOL();
-yy_match:
-		do
-			{
-			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-				{
-				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 826 )
-					yy_c = yy_meta[(unsigned int) yy_c];
-				}
-			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-			++yy_cp;
-			}
-		while ( yy_base[yy_current_state] != 2568 );
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-		if ( yy_act == 0 )
-			{ /* have to back up */
-			yy_cp = (yy_last_accepting_cpos);
-			yy_current_state = (yy_last_accepting_state);
-			yy_act = yy_accept[yy_current_state];
-			}
-
-		YY_DO_BEFORE_ACTION;
-
-		if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
-			{
-			int yyl;
-			for ( yyl = 0; yyl < yyleng; ++yyl )
-				if ( yytext[yyl] == '\n' )
-					   
-    yylineno++;
-;
-			}
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos);
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-/* rule 1 can match eol */
-YY_RULE_SETUP
-#line 138 "lex.ll"
-{
-	/* " stop highlighting */
-	char *end_num;
-	char *begin_string, *end_string;
-	char *filename;
-	long lineno, length;
-	lineno = strtol( yytext + 1, &end_num, 0 );
-	begin_string = strchr( end_num, '"' );
-	if ( begin_string ) {
-		end_string = strchr( begin_string + 1, '"' );
-		if ( end_string ) {
-			length = end_string - begin_string - 1;
-			filename = new char[ length + 1 ];
-			memcpy( filename, begin_string + 1, length );
-			filename[ length ] = '\0';
-			//std::cout << "file " << filename << " line " << lineno << std::endl;
-			yylineno = lineno;
-			yyfilename = filename;
-		} // if
-	} // if
-}
-	YY_BREAK
-/* ignore preprocessor directives (for now) */
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 161 "lex.ll"
-;
-	YY_BREAK
-/* ignore C style comments (ALSO HANDLED BY CPP) */
-case 3:
-YY_RULE_SETUP
-#line 164 "lex.ll"
-{ BEGIN COMMENT; }
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 165 "lex.ll"
-;
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 166 "lex.ll"
-{ BEGIN 0; }
-	YY_BREAK
-/* ignore C++ style comments (ALSO HANDLED BY CPP) */
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 169 "lex.ll"
-;
-	YY_BREAK
-/* ignore whitespace */
-case 7:
-YY_RULE_SETUP
-#line 172 "lex.ll"
-{ WHITE_RETURN(' '); }
-	YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 173 "lex.ll"
-{ WHITE_RETURN(' '); }
-	YY_BREAK
-case 9:
-/* rule 9 can match eol */
-YY_RULE_SETUP
-#line 174 "lex.ll"
-{ NEWLINE_RETURN(); }
-	YY_BREAK
-/* keywords */
-case 10:
-YY_RULE_SETUP
-#line 177 "lex.ll"
-{ KEYWORD_RETURN(ALIGNAS); }			// C11
-	YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 178 "lex.ll"
-{ KEYWORD_RETURN(ALIGNOF); }			// C11
-	YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 179 "lex.ll"
-{ KEYWORD_RETURN(ALIGNOF); }			// GCC
-	YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 180 "lex.ll"
-{ KEYWORD_RETURN(ALIGNOF); }			// GCC
-	YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 181 "lex.ll"
-{ KEYWORD_RETURN(ASM); }
-	YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 182 "lex.ll"
-{ KEYWORD_RETURN(ASM); }				// GCC
-	YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 183 "lex.ll"
-{ KEYWORD_RETURN(ASM); }				// GCC
-	YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 184 "lex.ll"
-{ KEYWORD_RETURN(ATOMIC); }				// C11
-	YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 185 "lex.ll"
-{ KEYWORD_RETURN(ATTRIBUTE); }			// GCC
-	YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 186 "lex.ll"
-{ KEYWORD_RETURN(ATTRIBUTE); }			// GCC
-	YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 187 "lex.ll"
-{ KEYWORD_RETURN(AUTO); }
-	YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 188 "lex.ll"
-{ KEYWORD_RETURN(BOOL); }				// C99
-	YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 189 "lex.ll"
-{ KEYWORD_RETURN(BREAK); }
-	YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 190 "lex.ll"
-{ KEYWORD_RETURN(CASE); }
-	YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 191 "lex.ll"
-{ KEYWORD_RETURN(CATCH); }				// CFA
-	YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 192 "lex.ll"
-{ KEYWORD_RETURN(CHAR); }
-	YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 193 "lex.ll"
-{ KEYWORD_RETURN(CHOOSE); }				// CFA
-	YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 194 "lex.ll"
-{ KEYWORD_RETURN(COMPLEX); }			// C99
-	YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 195 "lex.ll"
-{ KEYWORD_RETURN(COMPLEX); }			// GCC
-	YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 196 "lex.ll"
-{ KEYWORD_RETURN(COMPLEX); }			// GCC
-	YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 197 "lex.ll"
-{ KEYWORD_RETURN(CONST); }
-	YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 198 "lex.ll"
-{ KEYWORD_RETURN(CONST); }				// GCC
-	YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 199 "lex.ll"
-{ KEYWORD_RETURN(CONST); }				// GCC
-	YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 200 "lex.ll"
-{ KEYWORD_RETURN(CONTEXT); }			// CFA
-	YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 201 "lex.ll"
-{ KEYWORD_RETURN(CONTINUE); }
-	YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 202 "lex.ll"
-{ KEYWORD_RETURN(DEFAULT); }
-	YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 203 "lex.ll"
-{ KEYWORD_RETURN(DO); }
-	YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 204 "lex.ll"
-{ KEYWORD_RETURN(DOUBLE); }
-	YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 205 "lex.ll"
-{ KEYWORD_RETURN(DTYPE); }				// CFA
-	YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 206 "lex.ll"
-{ KEYWORD_RETURN(ELSE); }
-	YY_BREAK
-case 40:
-YY_RULE_SETUP
-#line 207 "lex.ll"
-{ KEYWORD_RETURN(ENUM); }
-	YY_BREAK
-case 41:
-YY_RULE_SETUP
-#line 208 "lex.ll"
-{ KEYWORD_RETURN(EXTENSION); }			// GCC
-	YY_BREAK
-case 42:
-YY_RULE_SETUP
-#line 209 "lex.ll"
-{ KEYWORD_RETURN(EXTERN); }
-	YY_BREAK
-case 43:
-YY_RULE_SETUP
-#line 210 "lex.ll"
-{ KEYWORD_RETURN(FALLTHRU); }			// CFA
-	YY_BREAK
-case 44:
-YY_RULE_SETUP
-#line 211 "lex.ll"
-{ KEYWORD_RETURN(FINALLY); }			// CFA
-	YY_BREAK
-case 45:
-YY_RULE_SETUP
-#line 212 "lex.ll"
-{ KEYWORD_RETURN(FLOAT); }
-	YY_BREAK
-case 46:
-YY_RULE_SETUP
-#line 213 "lex.ll"
-{ KEYWORD_RETURN(FLOAT); }				// GCC
-	YY_BREAK
-case 47:
-YY_RULE_SETUP
-#line 214 "lex.ll"
-{ KEYWORD_RETURN(FOR); }
-	YY_BREAK
-case 48:
-YY_RULE_SETUP
-#line 215 "lex.ll"
-{ KEYWORD_RETURN(FORALL); }				// CFA
-	YY_BREAK
-case 49:
-YY_RULE_SETUP
-#line 216 "lex.ll"
-{ KEYWORD_RETURN(FORTRAN); }
-	YY_BREAK
-case 50:
-YY_RULE_SETUP
-#line 217 "lex.ll"
-{ KEYWORD_RETURN(FTYPE); }				// CFA
-	YY_BREAK
-case 51:
-YY_RULE_SETUP
-#line 218 "lex.ll"
-{ KEYWORD_RETURN(GENERIC); }			// C11
-	YY_BREAK
-case 52:
-YY_RULE_SETUP
-#line 219 "lex.ll"
-{ KEYWORD_RETURN(GOTO); }
-	YY_BREAK
-case 53:
-YY_RULE_SETUP
-#line 220 "lex.ll"
-{ KEYWORD_RETURN(IF); }
-	YY_BREAK
-case 54:
-YY_RULE_SETUP
-#line 221 "lex.ll"
-{ KEYWORD_RETURN(IMAGINARY); }			// C99
-	YY_BREAK
-case 55:
-YY_RULE_SETUP
-#line 222 "lex.ll"
-{ KEYWORD_RETURN(IMAGINARY); }			// GCC
-	YY_BREAK
-case 56:
-YY_RULE_SETUP
-#line 223 "lex.ll"
-{ KEYWORD_RETURN(IMAGINARY); }			// GCC
-	YY_BREAK
-case 57:
-YY_RULE_SETUP
-#line 224 "lex.ll"
-{ KEYWORD_RETURN(INLINE); }				// C99
-	YY_BREAK
-case 58:
-YY_RULE_SETUP
-#line 225 "lex.ll"
-{ KEYWORD_RETURN(INLINE); }				// GCC
-	YY_BREAK
-case 59:
-YY_RULE_SETUP
-#line 226 "lex.ll"
-{ KEYWORD_RETURN(INLINE); }				// GCC
-	YY_BREAK
-case 60:
-YY_RULE_SETUP
-#line 227 "lex.ll"
-{ KEYWORD_RETURN(INT); }
-	YY_BREAK
-case 61:
-YY_RULE_SETUP
-#line 228 "lex.ll"
-{ KEYWORD_RETURN(INT); }				// GCC
-	YY_BREAK
-case 62:
-YY_RULE_SETUP
-#line 229 "lex.ll"
-{ KEYWORD_RETURN(LABEL); }				// GCC
-	YY_BREAK
-case 63:
-YY_RULE_SETUP
-#line 230 "lex.ll"
-{ KEYWORD_RETURN(LONG); }
-	YY_BREAK
-case 64:
-YY_RULE_SETUP
-#line 231 "lex.ll"
-{ KEYWORD_RETURN(LVALUE); }				// CFA
-	YY_BREAK
-case 65:
-YY_RULE_SETUP
-#line 232 "lex.ll"
-{ KEYWORD_RETURN(NORETURN); }			// C11
-	YY_BREAK
-case 66:
-YY_RULE_SETUP
-#line 233 "lex.ll"
-{ KEYWORD_RETURN(REGISTER); }
-	YY_BREAK
-case 67:
-YY_RULE_SETUP
-#line 234 "lex.ll"
-{ KEYWORD_RETURN(RESTRICT); }			// C99
-	YY_BREAK
-case 68:
-YY_RULE_SETUP
-#line 235 "lex.ll"
-{ KEYWORD_RETURN(RESTRICT); }			// GCC
-	YY_BREAK
-case 69:
-YY_RULE_SETUP
-#line 236 "lex.ll"
-{ KEYWORD_RETURN(RESTRICT); }			// GCC
-	YY_BREAK
-case 70:
-YY_RULE_SETUP
-#line 237 "lex.ll"
-{ KEYWORD_RETURN(RETURN); }
-	YY_BREAK
-case 71:
-YY_RULE_SETUP
-#line 238 "lex.ll"
-{ KEYWORD_RETURN(SHORT); }
-	YY_BREAK
-case 72:
-YY_RULE_SETUP
-#line 239 "lex.ll"
-{ KEYWORD_RETURN(SIGNED); }
-	YY_BREAK
-case 73:
-YY_RULE_SETUP
-#line 240 "lex.ll"
-{ KEYWORD_RETURN(SIGNED); }				// GCC
-	YY_BREAK
-case 74:
-YY_RULE_SETUP
-#line 241 "lex.ll"
-{ KEYWORD_RETURN(SIGNED); }				// GCC
-	YY_BREAK
-case 75:
-YY_RULE_SETUP
-#line 242 "lex.ll"
-{ KEYWORD_RETURN(SIZEOF); }
-	YY_BREAK
-case 76:
-YY_RULE_SETUP
-#line 243 "lex.ll"
-{ KEYWORD_RETURN(STATIC); }
-	YY_BREAK
-case 77:
-YY_RULE_SETUP
-#line 244 "lex.ll"
-{ KEYWORD_RETURN(STATICASSERT); }		// C11
-	YY_BREAK
-case 78:
-YY_RULE_SETUP
-#line 245 "lex.ll"
-{ KEYWORD_RETURN(STRUCT); }
-	YY_BREAK
-case 79:
-YY_RULE_SETUP
-#line 246 "lex.ll"
-{ KEYWORD_RETURN(SWITCH); }
-	YY_BREAK
-case 80:
-YY_RULE_SETUP
-#line 247 "lex.ll"
-{ KEYWORD_RETURN(THREADLOCAL); }		// C11
-	YY_BREAK
-case 81:
-YY_RULE_SETUP
-#line 248 "lex.ll"
-{ KEYWORD_RETURN(THROW); }				// CFA
-	YY_BREAK
-case 82:
-YY_RULE_SETUP
-#line 249 "lex.ll"
-{ KEYWORD_RETURN(TRY); }				// CFA
-	YY_BREAK
-case 83:
-YY_RULE_SETUP
-#line 250 "lex.ll"
-{ KEYWORD_RETURN(TYPE); }				// CFA
-	YY_BREAK
-case 84:
-YY_RULE_SETUP
-#line 251 "lex.ll"
-{ KEYWORD_RETURN(TYPEDEF); }
-	YY_BREAK
-case 85:
-YY_RULE_SETUP
-#line 252 "lex.ll"
-{ KEYWORD_RETURN(TYPEOF); }				// GCC
-	YY_BREAK
-case 86:
-YY_RULE_SETUP
-#line 253 "lex.ll"
-{ KEYWORD_RETURN(TYPEOF); }				// GCC
-	YY_BREAK
-case 87:
-YY_RULE_SETUP
-#line 254 "lex.ll"
-{ KEYWORD_RETURN(TYPEOF); }				// GCC
-	YY_BREAK
-case 88:
-YY_RULE_SETUP
-#line 255 "lex.ll"
-{ KEYWORD_RETURN(UNION); }
-	YY_BREAK
-case 89:
-YY_RULE_SETUP
-#line 256 "lex.ll"
-{ KEYWORD_RETURN(UNSIGNED); }
-	YY_BREAK
-case 90:
-YY_RULE_SETUP
-#line 257 "lex.ll"
-{ KEYWORD_RETURN(VOID); }
-	YY_BREAK
-case 91:
-YY_RULE_SETUP
-#line 258 "lex.ll"
-{ KEYWORD_RETURN(VOLATILE); }
-	YY_BREAK
-case 92:
-YY_RULE_SETUP
-#line 259 "lex.ll"
-{ KEYWORD_RETURN(VOLATILE); }			// GCC
-	YY_BREAK
-case 93:
-YY_RULE_SETUP
-#line 260 "lex.ll"
-{ KEYWORD_RETURN(VOLATILE); }			// GCC
-	YY_BREAK
-case 94:
-YY_RULE_SETUP
-#line 261 "lex.ll"
-{ KEYWORD_RETURN(WHILE); }
-	YY_BREAK
-/* identifier */
-case 95:
-YY_RULE_SETUP
-#line 264 "lex.ll"
-{ IDENTIFIER_RETURN(); }
-	YY_BREAK
-case 96:
-YY_RULE_SETUP
-#line 265 "lex.ll"
-{ ATTRIBUTE_RETURN(); }
-	YY_BREAK
-case 97:
-YY_RULE_SETUP
-#line 266 "lex.ll"
-{ BEGIN BKQUOTE; }
-	YY_BREAK
-case 98:
-YY_RULE_SETUP
-#line 267 "lex.ll"
-{ IDENTIFIER_RETURN(); }
-	YY_BREAK
-case 99:
-YY_RULE_SETUP
-#line 268 "lex.ll"
-{ BEGIN 0; }
-	YY_BREAK
-/* numeric constants */
-case 100:
-YY_RULE_SETUP
-#line 271 "lex.ll"
-{ NUMERIC_RETURN(ZERO); }				// CFA
-	YY_BREAK
-case 101:
-YY_RULE_SETUP
-#line 272 "lex.ll"
-{ NUMERIC_RETURN(ONE); }				// CFA
-	YY_BREAK
-case 102:
-YY_RULE_SETUP
-#line 273 "lex.ll"
-{ NUMERIC_RETURN(INTEGERconstant); }
-	YY_BREAK
-case 103:
-YY_RULE_SETUP
-#line 274 "lex.ll"
-{ NUMERIC_RETURN(INTEGERconstant); }
-	YY_BREAK
-case 104:
-YY_RULE_SETUP
-#line 275 "lex.ll"
-{ NUMERIC_RETURN(INTEGERconstant); }
-	YY_BREAK
-case 105:
-YY_RULE_SETUP
-#line 276 "lex.ll"
-{ NUMERIC_RETURN(FLOATINGconstant); }
-	YY_BREAK
-case 106:
-YY_RULE_SETUP
-#line 277 "lex.ll"
-{ NUMERIC_RETURN(FLOATINGconstant); }
-	YY_BREAK
-/* character constant, allows empty value */
-case 107:
-YY_RULE_SETUP
-#line 280 "lex.ll"
-{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
-	YY_BREAK
-case 108:
-YY_RULE_SETUP
-#line 281 "lex.ll"
-{ *strtext += std::string( yytext ); }
-	YY_BREAK
-case 109:
-/* rule 109 can match eol */
-YY_RULE_SETUP
-#line 282 "lex.ll"
-{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
-	YY_BREAK
-/* ' stop highlighting */
-/* string constant */
-case 110:
-YY_RULE_SETUP
-#line 286 "lex.ll"
-{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
-	YY_BREAK
-case 111:
-YY_RULE_SETUP
-#line 287 "lex.ll"
-{ *strtext += std::string( yytext ); }
-	YY_BREAK
-case 112:
-/* rule 112 can match eol */
-YY_RULE_SETUP
-#line 288 "lex.ll"
-{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
-	YY_BREAK
-/* " stop highlighting */
-/* common character/string constant */
-case 113:
-YY_RULE_SETUP
-#line 292 "lex.ll"
-{ rm_underscore(); *strtext += std::string( yytext ); }
-	YY_BREAK
-case 114:
-/* rule 114 can match eol */
-YY_RULE_SETUP
-#line 293 "lex.ll"
-{}						// continuation (ALSO HANDLED BY CPP)
-	YY_BREAK
-case 115:
-YY_RULE_SETUP
-#line 294 "lex.ll"
-{ *strtext += std::string( yytext ); } // unknown escape character
-	YY_BREAK
-/* punctuation */
-case 116:
-YY_RULE_SETUP
-#line 297 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 117:
-YY_RULE_SETUP
-#line 298 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 118:
-YY_RULE_SETUP
-#line 299 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 119:
-YY_RULE_SETUP
-#line 300 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 120:
-YY_RULE_SETUP
-#line 301 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 121:
-YY_RULE_SETUP
-#line 302 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 122:
-YY_RULE_SETUP
-#line 303 "lex.ll"
-{ ASCIIOP_RETURN(); }					// also operator
-	YY_BREAK
-case 123:
-YY_RULE_SETUP
-#line 304 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 124:
-YY_RULE_SETUP
-#line 305 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 125:
-YY_RULE_SETUP
-#line 306 "lex.ll"
-{ ASCIIOP_RETURN(); }					// also operator
-	YY_BREAK
-case 126:
-YY_RULE_SETUP
-#line 307 "lex.ll"
-{ NAMEDOP_RETURN(ELLIPSIS); }
-	YY_BREAK
-/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
-case 127:
-YY_RULE_SETUP
-#line 310 "lex.ll"
-{ RETURN_VAL('['); }
-	YY_BREAK
-case 128:
-YY_RULE_SETUP
-#line 311 "lex.ll"
-{ RETURN_VAL(']'); }
-	YY_BREAK
-case 129:
-YY_RULE_SETUP
-#line 312 "lex.ll"
-{ RETURN_VAL('{'); }
-	YY_BREAK
-case 130:
-YY_RULE_SETUP
-#line 313 "lex.ll"
-{ RETURN_VAL('}'); }
-	YY_BREAK
-/* operators */
-case 131:
-YY_RULE_SETUP
-#line 316 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 132:
-YY_RULE_SETUP
-#line 317 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 133:
-YY_RULE_SETUP
-#line 318 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 134:
-YY_RULE_SETUP
-#line 319 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 135:
-YY_RULE_SETUP
-#line 320 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 136:
-YY_RULE_SETUP
-#line 321 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 137:
-YY_RULE_SETUP
-#line 322 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 138:
-YY_RULE_SETUP
-#line 323 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 139:
-YY_RULE_SETUP
-#line 324 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 140:
-YY_RULE_SETUP
-#line 325 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 141:
-YY_RULE_SETUP
-#line 326 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 142:
-YY_RULE_SETUP
-#line 327 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 143:
-YY_RULE_SETUP
-#line 328 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 144:
-YY_RULE_SETUP
-#line 329 "lex.ll"
-{ ASCIIOP_RETURN(); }
-	YY_BREAK
-case 145:
-YY_RULE_SETUP
-#line 331 "lex.ll"
-{ NAMEDOP_RETURN(ICR); }
-	YY_BREAK
-case 146:
-YY_RULE_SETUP
-#line 332 "lex.ll"
-{ NAMEDOP_RETURN(DECR); }
-	YY_BREAK
-case 147:
-YY_RULE_SETUP
-#line 333 "lex.ll"
-{ NAMEDOP_RETURN(EQ); }
-	YY_BREAK
-case 148:
-YY_RULE_SETUP
-#line 334 "lex.ll"
-{ NAMEDOP_RETURN(NE); }
-	YY_BREAK
-case 149:
-YY_RULE_SETUP
-#line 335 "lex.ll"
-{ NAMEDOP_RETURN(LS); }
-	YY_BREAK
-case 150:
-YY_RULE_SETUP
-#line 336 "lex.ll"
-{ NAMEDOP_RETURN(RS); }
-	YY_BREAK
-case 151:
-YY_RULE_SETUP
-#line 337 "lex.ll"
-{ NAMEDOP_RETURN(LE); }
-	YY_BREAK
-case 152:
-YY_RULE_SETUP
-#line 338 "lex.ll"
-{ NAMEDOP_RETURN(GE); }
-	YY_BREAK
-case 153:
-YY_RULE_SETUP
-#line 339 "lex.ll"
-{ NAMEDOP_RETURN(ANDAND); }
-	YY_BREAK
-case 154:
-YY_RULE_SETUP
-#line 340 "lex.ll"
-{ NAMEDOP_RETURN(OROR); }
-	YY_BREAK
-case 155:
-YY_RULE_SETUP
-#line 341 "lex.ll"
-{ NAMEDOP_RETURN(ARROW); }
-	YY_BREAK
-case 156:
-YY_RULE_SETUP
-#line 342 "lex.ll"
-{ NAMEDOP_RETURN(PLUSassign); }
-	YY_BREAK
-case 157:
-YY_RULE_SETUP
-#line 343 "lex.ll"
-{ NAMEDOP_RETURN(MINUSassign); }
-	YY_BREAK
-case 158:
-YY_RULE_SETUP
-#line 344 "lex.ll"
-{ NAMEDOP_RETURN(MULTassign); }
-	YY_BREAK
-case 159:
-YY_RULE_SETUP
-#line 345 "lex.ll"
-{ NAMEDOP_RETURN(DIVassign); }
-	YY_BREAK
-case 160:
-YY_RULE_SETUP
-#line 346 "lex.ll"
-{ NAMEDOP_RETURN(MODassign); }
-	YY_BREAK
-case 161:
-YY_RULE_SETUP
-#line 347 "lex.ll"
-{ NAMEDOP_RETURN(ANDassign); }
-	YY_BREAK
-case 162:
-YY_RULE_SETUP
-#line 348 "lex.ll"
-{ NAMEDOP_RETURN(ORassign); }
-	YY_BREAK
-case 163:
-YY_RULE_SETUP
-#line 349 "lex.ll"
-{ NAMEDOP_RETURN(ERassign); }
-	YY_BREAK
-case 164:
-YY_RULE_SETUP
-#line 350 "lex.ll"
-{ NAMEDOP_RETURN(LSassign); }
-	YY_BREAK
-case 165:
-YY_RULE_SETUP
-#line 351 "lex.ll"
-{ NAMEDOP_RETURN(RSassign); }
-	YY_BREAK
-/* CFA, operator identifier */
-case 166:
-YY_RULE_SETUP
-#line 354 "lex.ll"
-{ IDENTIFIER_RETURN(); }				// unary
-	YY_BREAK
-case 167:
-YY_RULE_SETUP
-#line 355 "lex.ll"
-{ IDENTIFIER_RETURN(); }
-	YY_BREAK
-case 168:
-YY_RULE_SETUP
-#line 356 "lex.ll"
-{ IDENTIFIER_RETURN(); }		// binary
-	YY_BREAK
-/*
-	  This rule handles ambiguous cases with operator identifiers, e.g., "int *?*?()", where the string "*?*?"
-	  can be lexed as "*"/"?*?" or "*?"/"*?". Since it is common practise to put a unary operator juxtaposed
-	  to an identifier, e.g., "*i", users will be annoyed if they cannot do this with respect to operator
-	  identifiers. Even with this special hack, there are 5 general cases that cannot be handled. The first
-	  case is for the function-call identifier "?()":
-
-	  int * ?()();	// declaration: space required after '*'
-	  * ?()();	// expression: space required after '*'
-
-	  Without the space, the string "*?()" is ambiguous without N character look ahead; it requires scanning
-	  ahead to determine if there is a '(', which is the start of an argument/parameter list.
-
-	  The 4 remaining cases occur in expressions:
-
-	  i++?i:0;		// space required before '?'
-	  i--?i:0;		// space required before '?'
-	  i?++i:0;		// space required after '?'
-	  i?--i:0;		// space required after '?'
-
-	  In the first two cases, the string "i++?" is ambiguous, where this string can be lexed as "i"/"++?" or
-	  "i++"/"?"; it requires scanning ahead to determine if there is a '(', which is the start of an argument
-	  list.  In the second two cases, the string "?++x" is ambiguous, where this string can be lexed as
-	  "?++"/"x" or "?"/"++x"; it requires scanning ahead to determine if there is a '(', which is the start of
-	  an argument list.
-	*/
-case 169:
-YY_RULE_SETUP
-#line 383 "lex.ll"
-{
-	// 1 or 2 character unary operator ?
-	int i = yytext[1] == '?' ? 1 : 2;
-	yyless( i );		// put back characters up to first '?'
-	if ( i > 1 ) {
-		NAMEDOP_RETURN( yytext[0] == '+' ? ICR : DECR );
-	} else {
-		ASCIIOP_RETURN();
-	} // if
-}
-	YY_BREAK
-/* unknown characters */
-case 170:
-YY_RULE_SETUP
-#line 395 "lex.ll"
-{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
-	YY_BREAK
-case 171:
-YY_RULE_SETUP
-#line 397 "lex.ll"
-ECHO;
-	YY_BREAK
-#line 2675 "Parser/lex.cc"
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(COMMENT):
-case YY_STATE_EOF(BKQUOTE):
-case YY_STATE_EOF(QUOTE):
-case YY_STATE_EOF(STRING):
-	yyterminate();
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			int num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				int new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), (size_t) num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-	yy_current_state += YY_AT_BOL();
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-			{
-			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 826 )
-				yy_c = yy_meta[(unsigned int) yy_c];
-			}
-		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	register YY_CHAR yy_c = 1;
-	if ( yy_accept[yy_current_state] )
-		{
-		(yy_last_accepting_state) = yy_current_state;
-		(yy_last_accepting_cpos) = yy_cp;
-		}
-	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-		{
-		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 826 )
-			yy_c = yy_meta[(unsigned int) yy_c];
-		}
-	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 825);
-
-	return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			int offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
-		   
-    yylineno++;
-;
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-#ifndef __cplusplus
-extern int isatty (int );
-#endif /* __cplusplus */
-    
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	int num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	int i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-int yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    /* We do not touch yylineno unless the option is enabled. */
-    yylineno =  1;
-    
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 397 "lex.ll"
-
-
-
-// Local Variables: //
-// mode: c++ //
-// tab-width: 4 //
-// compile-command: "make install" //
-// End: //
-
Index: src/Parser/lex.h
===================================================================
--- src/Parser/lex.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/lex.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep 22 08:58:10 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 20:28:48 2015
-// Update Count     : 341
+// Last Modified On : Sat May 16 12:18:48 2015
+// Update Count     : 334
 //
 
@@ -18,5 +18,5 @@
 
 int yylex();
-void yyerror( const char * );
+void yyerror(char *);
 
 // External declarations for information sharing between lexer and scanner
@@ -35,5 +35,5 @@
 class Token {
   public:
-    std::string *str;									// must be pointer as used in union
+    std::string *str;
     Location loc;
 
@@ -44,4 +44,5 @@
 
 // Local Variables: //
+// fill-column: 110 //
 // tab-width: 4 //
 // mode: c++ //
Index: src/Parser/lex.l
===================================================================
--- src/Parser/lex.l	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Parser/lex.l	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,406 @@
+/*
+ * Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+ *
+ * The contents of this file are covered under the licence agreement in the
+ * file "LICENCE" distributed with Cforall.
+ * 
+ * lex.l -- 
+ * 
+ * Author           : Peter A. Buhr
+ * Created On       : Sat Sep 22 08:58:10 2001
+ * Last Modified By : Peter A. Buhr
+ * Last Modified On : Tue May 19 15:41:54 2015
+ * Update Count     : 331
+ */
+
+%option yylineno
+
+%{
+// This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive
+// have been performed and removed from the source. The only exceptions are preprocessor directives passed to
+// the compiler (e.g., line-number directives) and C/C++ style comments, which are ignored.
+
+//**************************** Includes and Defines ****************************
+
+#include <string>
+
+#include "lex.h"
+#include "ParseNode.h"
+#include "cfa.tab.h"									// YACC generated definitions based on C++ grammar
+
+char *yyfilename;
+std::string *strtext;									// accumulate parts of character and string constant value
+
+#define WHITE_RETURN(x)									// do nothing
+#define NEWLINE_RETURN()	WHITE_RETURN('\n')
+#define RETURN_VAL(x)		yylval.tok.str = new std::string(yytext); \
+		                        yylval.tok.loc.file = yyfilename; \
+		                        yylval.tok.loc.line = yylineno; \
+		                        return(x)
+#define RETURN_STR(x)		yylval.tok.str = strtext; \
+		                        yylval.tok.loc.file = yyfilename; \
+		                        yylval.tok.loc.line = yylineno; \
+		                        return(x)
+
+#define KEYWORD_RETURN(x)	RETURN_VAL(x)				// keyword
+#define IDENTIFIER_RETURN()	RETURN_VAL((typedefTable.isIdentifier(yytext) ? IDENTIFIER : typedefTable.isTypedef(yytext) ? TYPEDEFname : TYPEGENname))
+//#define ATTRIBUTE_RETURN()	RETURN_VAL((typedefTable.isIdentifier(yytext) ? ATTR_IDENTIFIER : typedefTable.isTypedef(yytext) ? ATTR_TYPEDEFname : ATTR_TYPEGENname))
+#define ATTRIBUTE_RETURN()	RETURN_VAL(ATTR_IDENTIFIER)
+
+#define ASCIIOP_RETURN()	RETURN_VAL((int)yytext[0])	// single character operator
+#define NAMEDOP_RETURN(x)	RETURN_VAL(x)				// multichar operator, with a name
+
+#define NUMERIC_RETURN(x)	rm_underscore(); RETURN_VAL(x) // numeric constant
+
+void rm_underscore() {
+	// remove underscores in numeric constant
+	int j = 0;
+	for ( int i = 0; yytext[i] != '\0'; i += 1 ) {
+		if ( yytext[i] != '_' ) {
+			yytext[j] = yytext[i];
+			j += 1;
+		} // if
+	} // for
+	yyleng = j;
+	yytext[yyleng] = '\0';
+}
+
+%}
+
+octal [0-7]
+nonzero [1-9]
+decimal [0-9]
+hex [0-9a-fA-F]
+universal_char "\\"((u"_"?{hex_quad})|(U"_"?{hex_quad}{2}))
+
+				// identifier, GCC: $ in identifier
+identifier ([a-zA-Z_$]|{universal_char})([0-9a-zA-Z_$]|{universal_char})*
+
+				// quoted identifier
+quoted_identifier "`"{identifier}"`"
+
+				// attribute identifier, GCC: $ in identifier
+attr_identifier "@"{identifier}
+
+				// numeric constants, CFA: '_' in constant
+hex_quad {hex}("_"?{hex}){3}
+integer_suffix "_"?(([uU][lL]?)|([uU]("ll"|"LL")?)|([lL][uU]?)|("ll"|"LL")[uU]?)
+
+octal_digits ({octal})|({octal}({octal}|"_")*{octal})
+octal_prefix "0""_"?
+octal_constant (("0")|({octal_prefix}{octal_digits})){integer_suffix}?
+
+nonzero_digits ({nonzero})|({nonzero}({decimal}|"_")*{decimal})
+decimal_constant {nonzero_digits}{integer_suffix}?
+
+hex_digits ({hex})|({hex}({hex}|"_")*{hex})
+hex_prefix "0"[xX]"_"?
+hex_constant {hex_prefix}{hex_digits}{integer_suffix}?
+
+decimal_digits ({decimal})|({decimal}({decimal}|"_")*{decimal})
+fractional_constant ({decimal_digits}?"."{decimal_digits})|({decimal_digits}".")
+exponent "_"?[eE]"_"?[+-]?{decimal_digits}
+floating_suffix "_"?[flFL]
+floating_constant (({fractional_constant}{exponent}?)|({decimal_digits}{exponent})){floating_suffix}?
+
+binary_exponent "_"?[pP]"_"?[+-]?{decimal_digits}
+hex_fractional_constant ({hex_digits}?"."{hex_digits})|({hex_digits}".")
+hex_floating_constant {hex_prefix}(({hex_fractional_constant}{binary_exponent})|({hex_digits}{binary_exponent})){floating_suffix}?
+
+				// character escape sequence, GCC: \e => esc character
+simple_escape "\\"[abefnrtv'"?\\]
+				// ' stop highlighting
+octal_escape "\\"{octal}("_"?{octal}){0,2}
+hex_escape "\\""x""_"?{hex_digits}
+escape_seq {simple_escape}|{octal_escape}|{hex_escape}|{universal_char}
+
+				// display/white-space characters
+h_tab [\011]
+form_feed [\014]
+v_tab [\013]
+c_return [\015]
+h_white [ ]|{h_tab}
+
+				// operators
+op_unary_only "~"|"!"
+op_unary_binary "+"|"-"|"*"
+op_unary_pre_post "++"|"--"
+op_unary {op_unary_only}|{op_unary_binary}|{op_unary_pre_post}
+
+op_binary_only "/"|"%"|"^"|"&"|"|"|"<"|">"|"="|"=="|"!="|"<<"|">>"|"<="|">="|"+="|"-="|"*="|"/="|"%="|"&="|"|="|"^="|"<<="|">>="
+op_binary_over {op_unary_binary}|{op_binary_only}
+op_binary_not_over "?"|"->"|"&&"|"||"
+operator {op_unary_pre_post}|{op_binary_over}|{op_binary_not_over}
+
+%x COMMENT
+%x BKQUOTE
+%x QUOTE
+%x STRING
+
+%%
+				   /* line directives */
+^{h_white}*"#"{h_white}*[0-9]+{h_white}*["][^"\n]+["][^\n]*"\n" {
+	/* " stop highlighting */
+	char *end_num;
+	char *begin_string, *end_string;
+	char *filename;
+	long lineno, length;
+	lineno = strtol( yytext + 1, &end_num, 0 );
+	begin_string = strchr( end_num, '"' );
+	if ( begin_string ) {
+		end_string = strchr( begin_string + 1, '"' );
+		if ( end_string ) {
+			length = end_string - begin_string - 1;
+			filename = new char[ length + 1 ];
+			memcpy( filename, begin_string + 1, length );
+			filename[ length ] = '\0';
+			//std::cout << "file " << filename << " line " << lineno << std::endl;
+			yylineno = lineno;
+			yyfilename = filename;
+		} // if
+	} // if
+}
+
+				/* ignore preprocessor directives (for now) */
+^{h_white}*"#"[^\n]*"\n" ;
+
+				/* ignore C style comments */
+"/*"			{ BEGIN COMMENT; }
+<COMMENT>.|\n		;
+<COMMENT>"*/"		{ BEGIN 0; }
+
+				/* ignore C++ style comments */
+"//"[^\n]*"\n"		;
+
+				/* ignore whitespace */
+{h_white}+		{ WHITE_RETURN(' '); }
+({v_tab}|{c_return}|{form_feed})+ { WHITE_RETURN(' '); }
+({h_white}|{v_tab}|{c_return}|{form_feed})*"\n" { NEWLINE_RETURN(); }
+
+				/* keywords */
+_Alignas		{ KEYWORD_RETURN(ALIGNAS); }			// C11
+_Alignof		{ KEYWORD_RETURN(ALIGNOF); }			// C11
+__alignof		{ KEYWORD_RETURN(ALIGNOF); }			// GCC
+__alignof__		{ KEYWORD_RETURN(ALIGNOF); }			// GCC
+asm				{ KEYWORD_RETURN(ASM); }
+__asm			{ KEYWORD_RETURN(ASM); }				// GCC
+__asm__			{ KEYWORD_RETURN(ASM); }				// GCC
+_Atomic			{ KEYWORD_RETURN(ATOMIC); }				// C11
+__attribute		{ KEYWORD_RETURN(ATTRIBUTE); }			// GCC
+__attribute__	{ KEYWORD_RETURN(ATTRIBUTE); }			// GCC
+auto			{ KEYWORD_RETURN(AUTO); }
+_Bool			{ KEYWORD_RETURN(BOOL); }				// C99
+break			{ KEYWORD_RETURN(BREAK); }
+case			{ KEYWORD_RETURN(CASE); }
+catch			{ KEYWORD_RETURN(CATCH); }				// CFA
+char			{ KEYWORD_RETURN(CHAR); }
+choose			{ KEYWORD_RETURN(CHOOSE); }				// CFA
+_Complex		{ KEYWORD_RETURN(COMPLEX); }			// C99
+__complex		{ KEYWORD_RETURN(COMPLEX); }			// GCC
+__complex__		{ KEYWORD_RETURN(COMPLEX); }			// GCC
+const			{ KEYWORD_RETURN(CONST); }
+__const			{ KEYWORD_RETURN(CONST); }				// GCC
+__const__		{ KEYWORD_RETURN(CONST); }				// GCC
+context			{ KEYWORD_RETURN(CONTEXT); }			// CFA
+continue		{ KEYWORD_RETURN(CONTINUE); }
+default			{ KEYWORD_RETURN(DEFAULT); }
+do				{ KEYWORD_RETURN(DO); }
+double			{ KEYWORD_RETURN(DOUBLE); }
+dtype			{ KEYWORD_RETURN(DTYPE); }				// CFA
+else			{ KEYWORD_RETURN(ELSE); }
+enum			{ KEYWORD_RETURN(ENUM); }
+__extension__	{ KEYWORD_RETURN(EXTENSION); }			// GCC
+extern			{ KEYWORD_RETURN(EXTERN); }
+fallthru		{ KEYWORD_RETURN(FALLTHRU); }			// CFA
+finally			{ KEYWORD_RETURN(FINALLY); }			// CFA
+float			{ KEYWORD_RETURN(FLOAT); }
+__float128		{ KEYWORD_RETURN(FLOAT); }				// GCC
+for				{ KEYWORD_RETURN(FOR); }
+forall			{ KEYWORD_RETURN(FORALL); }				// CFA
+fortran			{ KEYWORD_RETURN(FORTRAN); }
+ftype			{ KEYWORD_RETURN(FTYPE); }				// CFA
+_Generic		{ KEYWORD_RETURN(GENERIC); }			// C11
+goto			{ KEYWORD_RETURN(GOTO); }
+if				{ KEYWORD_RETURN(IF); }
+_Imaginary		{ KEYWORD_RETURN(IMAGINARY); }			// C99
+__imag			{ KEYWORD_RETURN(IMAGINARY); }			// GCC
+__imag__		{ KEYWORD_RETURN(IMAGINARY); }			// GCC
+inline			{ KEYWORD_RETURN(INLINE); }				// C99
+__inline		{ KEYWORD_RETURN(INLINE); }				// GCC
+__inline__		{ KEYWORD_RETURN(INLINE); }				// GCC
+int				{ KEYWORD_RETURN(INT); }
+__int128		{ KEYWORD_RETURN(INT); }				// GCC
+__label__		{ KEYWORD_RETURN(LABEL); }				// GCC
+long			{ KEYWORD_RETURN(LONG); }
+lvalue			{ KEYWORD_RETURN(LVALUE); }				// CFA
+_Noreturn		{ KEYWORD_RETURN(NORETURN); }			// C11
+register		{ KEYWORD_RETURN(REGISTER); }
+restrict		{ KEYWORD_RETURN(RESTRICT); }			// C99
+__restrict		{ KEYWORD_RETURN(RESTRICT); }			// GCC
+__restrict__	{ KEYWORD_RETURN(RESTRICT); }			// GCC
+return			{ KEYWORD_RETURN(RETURN); }
+short			{ KEYWORD_RETURN(SHORT); }
+signed			{ KEYWORD_RETURN(SIGNED); }
+__signed		{ KEYWORD_RETURN(SIGNED); }				// GCC
+__signed__		{ KEYWORD_RETURN(SIGNED); }				// GCC
+sizeof			{ KEYWORD_RETURN(SIZEOF); }
+static			{ KEYWORD_RETURN(STATIC); }
+_Static_assert	{ KEYWORD_RETURN(STATICASSERT); }		// C11
+struct			{ KEYWORD_RETURN(STRUCT); }
+switch			{ KEYWORD_RETURN(SWITCH); }
+_Thread_local	{ KEYWORD_RETURN(THREADLOCAL); }		// C11
+throw			{ KEYWORD_RETURN(THROW); }				// CFA
+try				{ KEYWORD_RETURN(TRY); }				// CFA
+type			{ KEYWORD_RETURN(TYPE); }				// CFA
+typedef			{ KEYWORD_RETURN(TYPEDEF); }
+typeof			{ KEYWORD_RETURN(TYPEOF); }				// GCC
+__typeof		{ KEYWORD_RETURN(TYPEOF); }				// GCC
+__typeof__		{ KEYWORD_RETURN(TYPEOF); }				// GCC
+union			{ KEYWORD_RETURN(UNION); }
+unsigned		{ KEYWORD_RETURN(UNSIGNED); }
+void			{ KEYWORD_RETURN(VOID); }
+volatile		{ KEYWORD_RETURN(VOLATILE); }
+__volatile		{ KEYWORD_RETURN(VOLATILE); }			// GCC
+__volatile__	{ KEYWORD_RETURN(VOLATILE); }			// GCC
+while			{ KEYWORD_RETURN(WHILE); }
+
+				/* identifier */
+{identifier}	{ IDENTIFIER_RETURN(); }
+{attr_identifier} { ATTRIBUTE_RETURN(); }
+"`"			{ BEGIN BKQUOTE; }
+<BKQUOTE>{identifier} { IDENTIFIER_RETURN(); }
+<BKQUOTE>"`"	{ BEGIN 0; }
+
+				/* numeric constants */
+"0"				{ NUMERIC_RETURN(ZERO); }				// CFA
+"1"				{ NUMERIC_RETURN(ONE); }				// CFA
+{decimal_constant}	{ NUMERIC_RETURN(INTEGERconstant); }
+{octal_constant}	{ NUMERIC_RETURN(INTEGERconstant); }
+{hex_constant}		{ NUMERIC_RETURN(INTEGERconstant); }
+{floating_constant}	{ NUMERIC_RETURN(FLOATINGconstant); }
+{hex_floating_constant}	{ NUMERIC_RETURN(FLOATINGconstant); }
+
+				/* character constant, allows empty value */
+"L"?"_"?[']		{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
+<QUOTE>[^'\\\n]* { *strtext += std::string( yytext ); }
+<QUOTE>['\n]	{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
+				/* ' stop highlighting */
+
+				/* string constant */
+"L"?"_"?["]		{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
+<STRING>[^"\\\n]* { *strtext += std::string( yytext ); }
+<STRING>["\n]	{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(STRINGliteral); }
+				/* " stop highlighting */
+
+<QUOTE,STRING>{escape_seq} { rm_underscore(); *strtext += std::string( yytext ); }
+<QUOTE,STRING>[\\]	{ *strtext += std::string( yytext ); } // unknown escape character
+
+				/* punctuation */
+"["				{ ASCIIOP_RETURN(); }
+"]"				{ ASCIIOP_RETURN(); }
+"("				{ ASCIIOP_RETURN(); }
+")"				{ ASCIIOP_RETURN(); }
+"{"				{ ASCIIOP_RETURN(); }
+"}"				{ ASCIIOP_RETURN(); }
+","				{ ASCIIOP_RETURN(); }					// also operator
+":"				{ ASCIIOP_RETURN(); }
+";"				{ ASCIIOP_RETURN(); }
+"."				{ ASCIIOP_RETURN(); }					// also operator
+"..."			{ NAMEDOP_RETURN(ELLIPSIS); }
+
+				/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
+"<:"			{ RETURN_VAL('['); }
+":>"			{ RETURN_VAL(']'); }
+"<%"			{ RETURN_VAL('{'); }
+"%>"			{ RETURN_VAL('}'); }
+
+				/* operators */
+"!"				{ ASCIIOP_RETURN(); }
+"+"				{ ASCIIOP_RETURN(); }
+"-"				{ ASCIIOP_RETURN(); }
+"*"				{ ASCIIOP_RETURN(); }
+"/"				{ ASCIIOP_RETURN(); }
+"%"				{ ASCIIOP_RETURN(); }
+"^"				{ ASCIIOP_RETURN(); }
+"~"				{ ASCIIOP_RETURN(); }
+"&"				{ ASCIIOP_RETURN(); }
+"|"				{ ASCIIOP_RETURN(); }
+"<"				{ ASCIIOP_RETURN(); }
+">"				{ ASCIIOP_RETURN(); }
+"="				{ ASCIIOP_RETURN(); }
+"?"				{ ASCIIOP_RETURN(); }
+
+"++"			{ NAMEDOP_RETURN(ICR); }
+"--"			{ NAMEDOP_RETURN(DECR); }
+"=="			{ NAMEDOP_RETURN(EQ); }
+"!="			{ NAMEDOP_RETURN(NE); }
+"<<"			{ NAMEDOP_RETURN(LS); }
+">>"			{ NAMEDOP_RETURN(RS); }
+"<="			{ NAMEDOP_RETURN(LE); }
+">="			{ NAMEDOP_RETURN(GE); }
+"&&"			{ NAMEDOP_RETURN(ANDAND); }
+"||"			{ NAMEDOP_RETURN(OROR); }
+"->"			{ NAMEDOP_RETURN(ARROW); }
+"+="			{ NAMEDOP_RETURN(PLUSassign); }
+"-="			{ NAMEDOP_RETURN(MINUSassign); }
+"*="			{ NAMEDOP_RETURN(MULTassign); }
+"/="			{ NAMEDOP_RETURN(DIVassign); }
+"%="			{ NAMEDOP_RETURN(MODassign); }
+"&="			{ NAMEDOP_RETURN(ANDassign); }
+"|="			{ NAMEDOP_RETURN(ORassign); }
+"^="			{ NAMEDOP_RETURN(ERassign); }
+"<<="			{ NAMEDOP_RETURN(LSassign); }
+">>="			{ NAMEDOP_RETURN(RSassign); }
+
+				/* CFA, operator identifier */
+{op_unary}"?"	{ IDENTIFIER_RETURN(); }				// unary
+"?"({op_unary_pre_post}|"()"|"[?]") { IDENTIFIER_RETURN(); }
+"?"{op_binary_over}"?"	{ IDENTIFIER_RETURN(); }		// binary
+	/*
+	  This rule handles ambiguous cases with operator identifiers, e.g., "int *?*?()", where the string "*?*?"
+	  can be lexed as "*"/"?*?" or "*?"/"*?". Since it is common practise to put a unary operator juxtaposed
+	  to an identifier, e.g., "*i", users will be annoyed if they cannot do this with respect to operator
+	  identifiers. Even with this special hack, there are 5 general cases that cannot be handled. The first
+	  case is for the function-call identifier "?()":
+
+	  int * ?()();	// declaration: space required after '*'
+	  * ?()();	// expression: space required after '*'
+
+	  Without the space, the string "*?()" is ambiguous without N character look ahead; it requires scanning
+	  ahead to determine if there is a '(', which is the start of an argument/parameter list.
+
+	  The 4 remaining cases occur in expressions:
+
+	  i++?i:0;		// space required before '?'
+	  i--?i:0;		// space required before '?'
+	  i?++i:0;		// space required after '?'
+	  i?--i:0;		// space required after '?'
+
+	  In the first two cases, the string "i++?" is ambiguous, where this string can be lexed as "i"/"++?" or
+	  "i++"/"?"; it requires scanning ahead to determine if there is a '(', which is the start of an argument
+	  list.  In the second two cases, the string "?++x" is ambiguous, where this string can be lexed as
+	  "?++"/"x" or "?"/"++x"; it requires scanning ahead to determine if there is a '(', which is the start of
+	  an argument list.
+	*/
+{op_unary}"?"(({op_unary_pre_post}|"[?]")|({op_binary_over}"?")) {
+	// 1 or 2 character unary operator ?
+	int i = yytext[1] == '?' ? 1 : 2;
+	yyless( i );		// put back characters up to first '?'
+	if ( i > 1 ) {
+		NAMEDOP_RETURN( yytext[0] == '+' ? ICR : DECR );
+	} else {
+		ASCIIOP_RETURN();
+	} // if
+}
+
+				/* unknown characters */
+.			{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
+
+%%
+
+// Local Variables: //
+// fill-column: 110 //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: src/Parser/lex.ll
===================================================================
--- src/Parser/lex.ll	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,403 +1,0 @@
-/*
- * Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
- *
- * The contents of this file are covered under the licence agreement in the
- * file "LICENCE" distributed with Cforall.
- * 
- * lex.l -- 
- * 
- * Author           : Peter A. Buhr
- * Created On       : Sat Sep 22 08:58:10 2001
- * Last Modified By : Peter A. Buhr
- * Last Modified On : Fri Jun 19 11:10:14 2015
- * Update Count     : 392
- */
-
-%option yylineno
-%option nounput
-
-%{
-// This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive have been
-// performed and removed from the source. The only exceptions are preprocessor directives passed to the compiler (e.g.,
-// line-number directives) and C/C++ style comments, which are ignored.
-
-//**************************** Includes and Defines ****************************
-
-#include <string>
-
-#include "lex.h"
-#include "ParseNode.h"
-#include "parser.h"										// YACC generated definitions based on C++ grammar
-
-char *yyfilename;
-std::string *strtext;									// accumulate parts of character and string constant value
-
-#define RETURN_LOCN(x)		yylval.tok.loc.file = yyfilename; yylval.tok.loc.line = yylineno; return( x )
-#define RETURN_VAL(x)		yylval.tok.str = new std::string( yytext ); RETURN_LOCN( x )
-#define RETURN_CHAR(x)		yylval.tok.str = NULL; RETURN_LOCN( x )
-#define RETURN_STR(x)		yylval.tok.str = strtext; RETURN_LOCN( x )
-
-#define WHITE_RETURN(x)									// do nothing
-#define NEWLINE_RETURN()	WHITE_RETURN( '\n' )
-#define ASCIIOP_RETURN()	RETURN_CHAR( (int)yytext[0] ) // single character operator
-#define NAMEDOP_RETURN(x)	RETURN_VAL( x )				// multichar operator, with a name
-#define NUMERIC_RETURN(x)	rm_underscore(); RETURN_VAL( x ) // numeric constant
-#define KEYWORD_RETURN(x)	RETURN_CHAR( x )			// keyword
-#define IDENTIFIER_RETURN()	RETURN_VAL( (typedefTable.isIdentifier( yytext ) ? IDENTIFIER : typedefTable.isTypedef( yytext ) ? TYPEDEFname : TYPEGENname ) )
-#define ATTRIBUTE_RETURN()	RETURN_VAL( ATTR_IDENTIFIER )
-
-void rm_underscore() {
-	// remove underscores in numeric constant
-	int j = 0;
-	for ( int i = 0; yytext[i] != '\0'; i += 1 ) {
-		if ( yytext[i] != '_' ) {
-			yytext[j] = yytext[i];
-			j += 1;
-		} // if
-	} // for
-	yyleng = j;
-	yytext[yyleng] = '\0';
-}
-
-%}
-
-octal [0-7]
-nonzero [1-9]
-decimal [0-9]
-hex [0-9a-fA-F]
-universal_char "\\"((u"_"?{hex_quad})|(U"_"?{hex_quad}{2}))
-
-				// identifier, GCC: $ in identifier
-identifier ([a-zA-Z_$]|{universal_char})([0-9a-zA-Z_$]|{universal_char})*
-
-				// quoted identifier
-quoted_identifier "`"{identifier}"`"
-
-				// attribute identifier, GCC: $ in identifier
-attr_identifier "@"{identifier}
-
-				// numeric constants, CFA: '_' in constant
-hex_quad {hex}("_"?{hex}){3}
-integer_suffix "_"?(([uU][lL]?)|([uU]("ll"|"LL")?)|([lL][uU]?)|("ll"|"LL")[uU]?)
-
-octal_digits ({octal})|({octal}({octal}|"_")*{octal})
-octal_prefix "0""_"?
-octal_constant (("0")|({octal_prefix}{octal_digits})){integer_suffix}?
-
-nonzero_digits ({nonzero})|({nonzero}({decimal}|"_")*{decimal})
-decimal_constant {nonzero_digits}{integer_suffix}?
-
-hex_digits ({hex})|({hex}({hex}|"_")*{hex})
-hex_prefix "0"[xX]"_"?
-hex_constant {hex_prefix}{hex_digits}{integer_suffix}?
-
-decimal_digits ({decimal})|({decimal}({decimal}|"_")*{decimal})
-fractional_constant ({decimal_digits}?"."{decimal_digits})|({decimal_digits}".")
-exponent "_"?[eE]"_"?[+-]?{decimal_digits}
-floating_suffix "_"?[flFL]
-floating_constant (({fractional_constant}{exponent}?)|({decimal_digits}{exponent})){floating_suffix}?
-
-binary_exponent "_"?[pP]"_"?[+-]?{decimal_digits}
-hex_fractional_constant ({hex_digits}?"."{hex_digits})|({hex_digits}".")
-hex_floating_constant {hex_prefix}(({hex_fractional_constant}{binary_exponent})|({hex_digits}{binary_exponent})){floating_suffix}?
-
-				// character escape sequence, GCC: \e => esc character
-simple_escape "\\"[abefnrtv'"?\\]
-				// ' stop highlighting
-octal_escape "\\"{octal}("_"?{octal}){0,2}
-hex_escape "\\""x""_"?{hex_digits}
-escape_seq {simple_escape}|{octal_escape}|{hex_escape}|{universal_char}
-cwide_prefix "L"|"U"|"u"
-swide_prefix {cwide_prefix}|"u8"
-
-				// display/white-space characters
-h_tab [\011]
-form_feed [\014]
-v_tab [\013]
-c_return [\015]
-h_white [ ]|{h_tab}
-
-				// operators
-op_unary_only "~"|"!"
-op_unary_binary "+"|"-"|"*"
-op_unary_pre_post "++"|"--"
-op_unary {op_unary_only}|{op_unary_binary}|{op_unary_pre_post}
-
-op_binary_only "/"|"%"|"^"|"&"|"|"|"<"|">"|"="|"=="|"!="|"<<"|">>"|"<="|">="|"+="|"-="|"*="|"/="|"%="|"&="|"|="|"^="|"<<="|">>="
-op_binary_over {op_unary_binary}|{op_binary_only}
-op_binary_not_over "?"|"->"|"&&"|"||"
-operator {op_unary_pre_post}|{op_binary_over}|{op_binary_not_over}
-
-%x COMMENT
-%x BKQUOTE
-%x QUOTE
-%x STRING
-
-%%
-				   /* line directives */
-^{h_white}*"#"{h_white}*[0-9]+{h_white}*["][^"\n]+["][^\n]*"\n" {
-	/* " stop highlighting */
-	char *end_num;
-	char *begin_string, *end_string;
-	char *filename;
-	long lineno, length;
-	lineno = strtol( yytext + 1, &end_num, 0 );
-	begin_string = strchr( end_num, '"' );
-	if ( begin_string ) {
-		end_string = strchr( begin_string + 1, '"' );
-		if ( end_string ) {
-			length = end_string - begin_string - 1;
-			filename = new char[ length + 1 ];
-			memcpy( filename, begin_string + 1, length );
-			filename[ length ] = '\0';
-			//std::cout << "file " << filename << " line " << lineno << std::endl;
-			yylineno = lineno;
-			yyfilename = filename;
-		} // if
-	} // if
-}
-
-				/* ignore preprocessor directives (for now) */
-^{h_white}*"#"[^\n]*"\n" ;
-
-				/* ignore C style comments (ALSO HANDLED BY CPP) */
-"/*"			{ BEGIN COMMENT; }
-<COMMENT>.|\n	;
-<COMMENT>"*/"	{ BEGIN 0; }
-
-				/* ignore C++ style comments (ALSO HANDLED BY CPP) */
-"//"[^\n]*"\n"	;
-
-				/* ignore whitespace */
-{h_white}+		{ WHITE_RETURN(' '); }
-({v_tab}|{c_return}|{form_feed})+ { WHITE_RETURN(' '); }
-({h_white}|{v_tab}|{c_return}|{form_feed})*"\n" { NEWLINE_RETURN(); }
-
-				/* keywords */
-_Alignas		{ KEYWORD_RETURN(ALIGNAS); }			// C11
-_Alignof		{ KEYWORD_RETURN(ALIGNOF); }			// C11
-__alignof		{ KEYWORD_RETURN(ALIGNOF); }			// GCC
-__alignof__		{ KEYWORD_RETURN(ALIGNOF); }			// GCC
-asm				{ KEYWORD_RETURN(ASM); }
-__asm			{ KEYWORD_RETURN(ASM); }				// GCC
-__asm__			{ KEYWORD_RETURN(ASM); }				// GCC
-_Atomic			{ KEYWORD_RETURN(ATOMIC); }				// C11
-__attribute		{ KEYWORD_RETURN(ATTRIBUTE); }			// GCC
-__attribute__	{ KEYWORD_RETURN(ATTRIBUTE); }			// GCC
-auto			{ KEYWORD_RETURN(AUTO); }
-_Bool			{ KEYWORD_RETURN(BOOL); }				// C99
-break			{ KEYWORD_RETURN(BREAK); }
-case			{ KEYWORD_RETURN(CASE); }
-catch			{ KEYWORD_RETURN(CATCH); }				// CFA
-char			{ KEYWORD_RETURN(CHAR); }
-choose			{ KEYWORD_RETURN(CHOOSE); }				// CFA
-_Complex		{ KEYWORD_RETURN(COMPLEX); }			// C99
-__complex		{ KEYWORD_RETURN(COMPLEX); }			// GCC
-__complex__		{ KEYWORD_RETURN(COMPLEX); }			// GCC
-const			{ KEYWORD_RETURN(CONST); }
-__const			{ KEYWORD_RETURN(CONST); }				// GCC
-__const__		{ KEYWORD_RETURN(CONST); }				// GCC
-context			{ KEYWORD_RETURN(CONTEXT); }			// CFA
-continue		{ KEYWORD_RETURN(CONTINUE); }
-default			{ KEYWORD_RETURN(DEFAULT); }
-do				{ KEYWORD_RETURN(DO); }
-double			{ KEYWORD_RETURN(DOUBLE); }
-dtype			{ KEYWORD_RETURN(DTYPE); }				// CFA
-else			{ KEYWORD_RETURN(ELSE); }
-enum			{ KEYWORD_RETURN(ENUM); }
-__extension__	{ KEYWORD_RETURN(EXTENSION); }			// GCC
-extern			{ KEYWORD_RETURN(EXTERN); }
-fallthru		{ KEYWORD_RETURN(FALLTHRU); }			// CFA
-finally			{ KEYWORD_RETURN(FINALLY); }			// CFA
-float			{ KEYWORD_RETURN(FLOAT); }
-__float128		{ KEYWORD_RETURN(FLOAT); }				// GCC
-for				{ KEYWORD_RETURN(FOR); }
-forall			{ KEYWORD_RETURN(FORALL); }				// CFA
-fortran			{ KEYWORD_RETURN(FORTRAN); }
-ftype			{ KEYWORD_RETURN(FTYPE); }				// CFA
-_Generic		{ KEYWORD_RETURN(GENERIC); }			// C11
-goto			{ KEYWORD_RETURN(GOTO); }
-if				{ KEYWORD_RETURN(IF); }
-_Imaginary		{ KEYWORD_RETURN(IMAGINARY); }			// C99
-__imag			{ KEYWORD_RETURN(IMAGINARY); }			// GCC
-__imag__		{ KEYWORD_RETURN(IMAGINARY); }			// GCC
-inline			{ KEYWORD_RETURN(INLINE); }				// C99
-__inline		{ KEYWORD_RETURN(INLINE); }				// GCC
-__inline__		{ KEYWORD_RETURN(INLINE); }				// GCC
-int				{ KEYWORD_RETURN(INT); }
-__int128		{ KEYWORD_RETURN(INT); }				// GCC
-__label__		{ KEYWORD_RETURN(LABEL); }				// GCC
-long			{ KEYWORD_RETURN(LONG); }
-lvalue			{ KEYWORD_RETURN(LVALUE); }				// CFA
-_Noreturn		{ KEYWORD_RETURN(NORETURN); }			// C11
-register		{ KEYWORD_RETURN(REGISTER); }
-restrict		{ KEYWORD_RETURN(RESTRICT); }			// C99
-__restrict		{ KEYWORD_RETURN(RESTRICT); }			// GCC
-__restrict__	{ KEYWORD_RETURN(RESTRICT); }			// GCC
-return			{ KEYWORD_RETURN(RETURN); }
-short			{ KEYWORD_RETURN(SHORT); }
-signed			{ KEYWORD_RETURN(SIGNED); }
-__signed		{ KEYWORD_RETURN(SIGNED); }				// GCC
-__signed__		{ KEYWORD_RETURN(SIGNED); }				// GCC
-sizeof			{ KEYWORD_RETURN(SIZEOF); }
-static			{ KEYWORD_RETURN(STATIC); }
-_Static_assert	{ KEYWORD_RETURN(STATICASSERT); }		// C11
-struct			{ KEYWORD_RETURN(STRUCT); }
-switch			{ KEYWORD_RETURN(SWITCH); }
-_Thread_local	{ KEYWORD_RETURN(THREADLOCAL); }		// C11
-throw			{ KEYWORD_RETURN(THROW); }				// CFA
-try				{ KEYWORD_RETURN(TRY); }				// CFA
-type			{ KEYWORD_RETURN(TYPE); }				// CFA
-typedef			{ KEYWORD_RETURN(TYPEDEF); }
-typeof			{ KEYWORD_RETURN(TYPEOF); }				// GCC
-__typeof		{ KEYWORD_RETURN(TYPEOF); }				// GCC
-__typeof__		{ KEYWORD_RETURN(TYPEOF); }				// GCC
-union			{ KEYWORD_RETURN(UNION); }
-unsigned		{ KEYWORD_RETURN(UNSIGNED); }
-void			{ KEYWORD_RETURN(VOID); }
-volatile		{ KEYWORD_RETURN(VOLATILE); }
-__volatile		{ KEYWORD_RETURN(VOLATILE); }			// GCC
-__volatile__	{ KEYWORD_RETURN(VOLATILE); }			// GCC
-while			{ KEYWORD_RETURN(WHILE); }
-
-				/* identifier */
-{identifier}	{ IDENTIFIER_RETURN(); }
-{attr_identifier} { ATTRIBUTE_RETURN(); }
-"`"			{ BEGIN BKQUOTE; }
-<BKQUOTE>{identifier} { IDENTIFIER_RETURN(); }
-<BKQUOTE>"`"	{ BEGIN 0; }
-
-				/* numeric constants */
-"0"				{ NUMERIC_RETURN(ZERO); }				// CFA
-"1"				{ NUMERIC_RETURN(ONE); }				// CFA
-{decimal_constant} { NUMERIC_RETURN(INTEGERconstant); }
-{octal_constant} { NUMERIC_RETURN(INTEGERconstant); }
-{hex_constant}	{ NUMERIC_RETURN(INTEGERconstant); }
-{floating_constant}	{ NUMERIC_RETURN(FLOATINGconstant); }
-{hex_floating_constant}	{ NUMERIC_RETURN(FLOATINGconstant); }
-
-				/* character constant, allows empty value */
-({cwide_prefix}[_]?)?['] { BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
-<QUOTE>[^'\\\n]* { *strtext += std::string( yytext ); }
-<QUOTE>['\n]	{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
-				/* ' stop highlighting */
-
-				/* string constant */
-({swide_prefix}[_]?)?["] { BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
-<STRING>[^"\\\n]* { *strtext += std::string( yytext ); }
-<STRING>["\n]	{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
-				/* " stop highlighting */
-
-				/* common character/string constant */
-<QUOTE,STRING>{escape_seq} { rm_underscore(); *strtext += std::string( yytext ); }
-<QUOTE,STRING>"\\"{h_white}*"\n" {}						// continuation (ALSO HANDLED BY CPP)
-<QUOTE,STRING>"\\" { *strtext += std::string( yytext ); } // unknown escape character
-
-				/* punctuation */
-"["				{ ASCIIOP_RETURN(); }
-"]"				{ ASCIIOP_RETURN(); }
-"("				{ ASCIIOP_RETURN(); }
-")"				{ ASCIIOP_RETURN(); }
-"{"				{ ASCIIOP_RETURN(); }
-"}"				{ ASCIIOP_RETURN(); }
-","				{ ASCIIOP_RETURN(); }					// also operator
-":"				{ ASCIIOP_RETURN(); }
-";"				{ ASCIIOP_RETURN(); }
-"."				{ ASCIIOP_RETURN(); }					// also operator
-"..."			{ NAMEDOP_RETURN(ELLIPSIS); }
-
-				/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
-"<:"			{ RETURN_VAL('['); }
-":>"			{ RETURN_VAL(']'); }
-"<%"			{ RETURN_VAL('{'); }
-"%>"			{ RETURN_VAL('}'); }
-
-				/* operators */
-"!"				{ ASCIIOP_RETURN(); }
-"+"				{ ASCIIOP_RETURN(); }
-"-"				{ ASCIIOP_RETURN(); }
-"*"				{ ASCIIOP_RETURN(); }
-"/"				{ ASCIIOP_RETURN(); }
-"%"				{ ASCIIOP_RETURN(); }
-"^"				{ ASCIIOP_RETURN(); }
-"~"				{ ASCIIOP_RETURN(); }
-"&"				{ ASCIIOP_RETURN(); }
-"|"				{ ASCIIOP_RETURN(); }
-"<"				{ ASCIIOP_RETURN(); }
-">"				{ ASCIIOP_RETURN(); }
-"="				{ ASCIIOP_RETURN(); }
-"?"				{ ASCIIOP_RETURN(); }
-
-"++"			{ NAMEDOP_RETURN(ICR); }
-"--"			{ NAMEDOP_RETURN(DECR); }
-"=="			{ NAMEDOP_RETURN(EQ); }
-"!="			{ NAMEDOP_RETURN(NE); }
-"<<"			{ NAMEDOP_RETURN(LS); }
-">>"			{ NAMEDOP_RETURN(RS); }
-"<="			{ NAMEDOP_RETURN(LE); }
-">="			{ NAMEDOP_RETURN(GE); }
-"&&"			{ NAMEDOP_RETURN(ANDAND); }
-"||"			{ NAMEDOP_RETURN(OROR); }
-"->"			{ NAMEDOP_RETURN(ARROW); }
-"+="			{ NAMEDOP_RETURN(PLUSassign); }
-"-="			{ NAMEDOP_RETURN(MINUSassign); }
-"*="			{ NAMEDOP_RETURN(MULTassign); }
-"/="			{ NAMEDOP_RETURN(DIVassign); }
-"%="			{ NAMEDOP_RETURN(MODassign); }
-"&="			{ NAMEDOP_RETURN(ANDassign); }
-"|="			{ NAMEDOP_RETURN(ORassign); }
-"^="			{ NAMEDOP_RETURN(ERassign); }
-"<<="			{ NAMEDOP_RETURN(LSassign); }
-">>="			{ NAMEDOP_RETURN(RSassign); }
-
-				/* CFA, operator identifier */
-{op_unary}"?"	{ IDENTIFIER_RETURN(); }				// unary
-"?"({op_unary_pre_post}|"()"|"[?]"|"{}") { IDENTIFIER_RETURN(); }
-"?"{op_binary_over}"?"	{ IDENTIFIER_RETURN(); }		// binary
-	/*
-	  This rule handles ambiguous cases with operator identifiers, e.g., "int *?*?()", where the string "*?*?"
-	  can be lexed as "*"/"?*?" or "*?"/"*?". Since it is common practise to put a unary operator juxtaposed
-	  to an identifier, e.g., "*i", users will be annoyed if they cannot do this with respect to operator
-	  identifiers. Even with this special hack, there are 5 general cases that cannot be handled. The first
-	  case is for the function-call identifier "?()":
-
-	  int * ?()();	// declaration: space required after '*'
-	  * ?()();	// expression: space required after '*'
-
-	  Without the space, the string "*?()" is ambiguous without N character look ahead; it requires scanning
-	  ahead to determine if there is a '(', which is the start of an argument/parameter list.
-
-	  The 4 remaining cases occur in expressions:
-
-	  i++?i:0;		// space required before '?'
-	  i--?i:0;		// space required before '?'
-	  i?++i:0;		// space required after '?'
-	  i?--i:0;		// space required after '?'
-
-	  In the first two cases, the string "i++?" is ambiguous, where this string can be lexed as "i"/"++?" or
-	  "i++"/"?"; it requires scanning ahead to determine if there is a '(', which is the start of an argument
-	  list.  In the second two cases, the string "?++x" is ambiguous, where this string can be lexed as
-	  "?++"/"x" or "?"/"++x"; it requires scanning ahead to determine if there is a '(', which is the start of
-	  an argument list.
-	*/
-{op_unary}"?"(({op_unary_pre_post}|"[?]")|({op_binary_over}"?")) {
-	// 1 or 2 character unary operator ?
-	int i = yytext[1] == '?' ? 1 : 2;
-	yyless( i );		// put back characters up to first '?'
-	if ( i > 1 ) {
-		NAMEDOP_RETURN( yytext[0] == '+' ? ICR : DECR );
-	} else {
-		ASCIIOP_RETURN();
-	} // if
-}
-
-				/* unknown characters */
-.			{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
-
-%%
-
-// Local Variables: //
-// mode: c++ //
-// tab-width: 4 //
-// compile-command: "make install" //
-// End: //
Index: src/Parser/module.mk
===================================================================
--- src/Parser/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Parser/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -8,19 +8,18 @@
 ## module.mk -- 
 ##
-## Author           : Peter A. Buhr
+## Author           : Richard C. Bilson
 ## Created On       : Sat May 16 15:29:09 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  8 20:23:47 2015
-## Update Count     : 87
+## Last Modified On : Thu May 21 21:17:07 2015
+## Update Count     : 2
 ###############################################################################
 
-BUILT_SOURCES = Parser/parser.h
+YACC=bison
+YFLAGS=-d --debug -v
+LEX=flex
+LFLAGS=
 
-AM_YFLAGS = -d -t -v
-cfa_cpp_LDADD = ${LEXLIB}	# yywrap
-MAINTAINERCLEANFILES = Parser/parser.output
-
-SRC += Parser/parser.yy \
-       Parser/lex.ll \
+SRC += Parser/cfa.y \
+       Parser/lex.l \
        Parser/TypedefTable.cc \
        Parser/ParseNode.cc \
@@ -33,2 +32,23 @@
        Parser/parseutility.cc \
        Parser/Parser.cc
+
+EXTRA_OUTPUT += Parser/cfa.tab.cc \
+                Parser/cfa.tab.h \
+		Parser/lex.yy.cc \
+		Parser/cfa.output
+
+LIBS += -lfl
+
+Parser/Parser.cc: Parser/cfa.tab.h
+
+Parser/cfa.tab.cc: Parser/cfa.y
+	$(YACC) $(YFLAGS) $< --file-prefix=Parser/cfa
+	-mv Parser/cfa.tab.c Parser/cfa.tab.cc
+
+Parser/cfa.tab.h: Parser/cfa.tab.cc
+
+Parser/lex.yy.cc: Parser/lex.l Parser/cfa.tab.h Parser/TypedefTable.h
+	$(LEX) $(LFLAGS) -o$@ $< 
+
+Parser/lex.yy.o: Parser/lex.yy.cc Parser/ParseNode.h
+	$(CXX) $(CXXFLAGS) -Wno-unused -c -o $@ $<
Index: src/Parser/parser.cc
===================================================================
--- src/Parser/parser.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,9133 +1,0 @@
-/* A Bison parser, made by GNU Bison 2.5.  */
-
-/* Bison implementation for Yacc-like parsers in C
-   
-      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
-   
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation, either version 3 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* As a special exception, you may create a larger work that contains
-   part or all of the Bison parser skeleton and distribute that work
-   under terms of your choice, so long as that work isn't itself a
-   parser generator using the skeleton or a modified version thereof
-   as a parser skeleton.  Alternatively, if you modify or redistribute
-   the parser skeleton itself, you may (at your option) remove this
-   special exception, which will cause the skeleton and the resulting
-   Bison output files to be licensed under the GNU General Public
-   License without this special exception.
-   
-   This special exception was added by the Free Software Foundation in
-   version 2.2 of Bison.  */
-
-/* C LALR(1) parser skeleton written by Richard Stallman, by
-   simplifying the original so-called "semantic" parser.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-/* Identify Bison output.  */
-#define YYBISON 1
-
-/* Bison version.  */
-#define YYBISON_VERSION "2.5"
-
-/* Skeleton name.  */
-#define YYSKELETON_NAME "yacc.c"
-
-/* Pure parsers.  */
-#define YYPURE 0
-
-/* Push parsers.  */
-#define YYPUSH 0
-
-/* Pull parsers.  */
-#define YYPULL 1
-
-/* Using locations.  */
-#define YYLSP_NEEDED 0
-
-
-
-/* Copy the first part of user declarations.  */
-
-/* Line 268 of yacc.c  */
-#line 44 "parser.yy"
-
-#define YYDEBUG_LEXER_TEXT (yylval)						// lexer loads this up each time
-#define YYDEBUG 1										// get the pretty debugging code to compile
-extern char *yytext;
-
-#undef __GNUC_MINOR__
-
-#include <cstdio>
-#include <stack>
-#include "TypedefTable.h"
-#include "lex.h"
-#include "ParseNode.h"
-#include "LinkageSpec.h"
-
-DeclarationNode *theTree = 0;							// the resulting parse tree
-LinkageSpec::Type linkage = LinkageSpec::Cforall;
-std::stack< LinkageSpec::Type > linkageStack;
-TypedefTable typedefTable;
-
-
-/* Line 268 of yacc.c  */
-#line 92 "Parser/parser.cc"
-
-/* Enabling traces.  */
-#ifndef YYDEBUG
-# define YYDEBUG 1
-#endif
-
-/* Enabling verbose error messages.  */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-/* Enabling the token table.  */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
-#endif
-
-
-/* Tokens.  */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     TYPEDEF = 258,
-     AUTO = 259,
-     EXTERN = 260,
-     REGISTER = 261,
-     STATIC = 262,
-     INLINE = 263,
-     FORTRAN = 264,
-     CONST = 265,
-     VOLATILE = 266,
-     RESTRICT = 267,
-     FORALL = 268,
-     LVALUE = 269,
-     VOID = 270,
-     CHAR = 271,
-     SHORT = 272,
-     INT = 273,
-     LONG = 274,
-     FLOAT = 275,
-     DOUBLE = 276,
-     SIGNED = 277,
-     UNSIGNED = 278,
-     BOOL = 279,
-     COMPLEX = 280,
-     IMAGINARY = 281,
-     TYPEOF = 282,
-     LABEL = 283,
-     ENUM = 284,
-     STRUCT = 285,
-     UNION = 286,
-     TYPE = 287,
-     FTYPE = 288,
-     DTYPE = 289,
-     CONTEXT = 290,
-     SIZEOF = 291,
-     ATTRIBUTE = 292,
-     EXTENSION = 293,
-     IF = 294,
-     ELSE = 295,
-     SWITCH = 296,
-     CASE = 297,
-     DEFAULT = 298,
-     DO = 299,
-     WHILE = 300,
-     FOR = 301,
-     BREAK = 302,
-     CONTINUE = 303,
-     GOTO = 304,
-     RETURN = 305,
-     CHOOSE = 306,
-     FALLTHRU = 307,
-     TRY = 308,
-     CATCH = 309,
-     FINALLY = 310,
-     THROW = 311,
-     ASM = 312,
-     ALIGNAS = 313,
-     ALIGNOF = 314,
-     ATOMIC = 315,
-     GENERIC = 316,
-     NORETURN = 317,
-     STATICASSERT = 318,
-     THREADLOCAL = 319,
-     IDENTIFIER = 320,
-     QUOTED_IDENTIFIER = 321,
-     TYPEDEFname = 322,
-     TYPEGENname = 323,
-     ATTR_IDENTIFIER = 324,
-     ATTR_TYPEDEFname = 325,
-     ATTR_TYPEGENname = 326,
-     INTEGERconstant = 327,
-     FLOATINGconstant = 328,
-     CHARACTERconstant = 329,
-     STRINGliteral = 330,
-     ZERO = 331,
-     ONE = 332,
-     ARROW = 333,
-     ICR = 334,
-     DECR = 335,
-     LS = 336,
-     RS = 337,
-     LE = 338,
-     GE = 339,
-     EQ = 340,
-     NE = 341,
-     ANDAND = 342,
-     OROR = 343,
-     ELLIPSIS = 344,
-     MULTassign = 345,
-     DIVassign = 346,
-     MODassign = 347,
-     PLUSassign = 348,
-     MINUSassign = 349,
-     LSassign = 350,
-     RSassign = 351,
-     ANDassign = 352,
-     ERassign = 353,
-     ORassign = 354,
-     THEN = 355
-   };
-#endif
-/* Tokens.  */
-#define TYPEDEF 258
-#define AUTO 259
-#define EXTERN 260
-#define REGISTER 261
-#define STATIC 262
-#define INLINE 263
-#define FORTRAN 264
-#define CONST 265
-#define VOLATILE 266
-#define RESTRICT 267
-#define FORALL 268
-#define LVALUE 269
-#define VOID 270
-#define CHAR 271
-#define SHORT 272
-#define INT 273
-#define LONG 274
-#define FLOAT 275
-#define DOUBLE 276
-#define SIGNED 277
-#define UNSIGNED 278
-#define BOOL 279
-#define COMPLEX 280
-#define IMAGINARY 281
-#define TYPEOF 282
-#define LABEL 283
-#define ENUM 284
-#define STRUCT 285
-#define UNION 286
-#define TYPE 287
-#define FTYPE 288
-#define DTYPE 289
-#define CONTEXT 290
-#define SIZEOF 291
-#define ATTRIBUTE 292
-#define EXTENSION 293
-#define IF 294
-#define ELSE 295
-#define SWITCH 296
-#define CASE 297
-#define DEFAULT 298
-#define DO 299
-#define WHILE 300
-#define FOR 301
-#define BREAK 302
-#define CONTINUE 303
-#define GOTO 304
-#define RETURN 305
-#define CHOOSE 306
-#define FALLTHRU 307
-#define TRY 308
-#define CATCH 309
-#define FINALLY 310
-#define THROW 311
-#define ASM 312
-#define ALIGNAS 313
-#define ALIGNOF 314
-#define ATOMIC 315
-#define GENERIC 316
-#define NORETURN 317
-#define STATICASSERT 318
-#define THREADLOCAL 319
-#define IDENTIFIER 320
-#define QUOTED_IDENTIFIER 321
-#define TYPEDEFname 322
-#define TYPEGENname 323
-#define ATTR_IDENTIFIER 324
-#define ATTR_TYPEDEFname 325
-#define ATTR_TYPEGENname 326
-#define INTEGERconstant 327
-#define FLOATINGconstant 328
-#define CHARACTERconstant 329
-#define STRINGliteral 330
-#define ZERO 331
-#define ONE 332
-#define ARROW 333
-#define ICR 334
-#define DECR 335
-#define LS 336
-#define RS 337
-#define LE 338
-#define GE 339
-#define EQ 340
-#define NE 341
-#define ANDAND 342
-#define OROR 343
-#define ELLIPSIS 344
-#define MULTassign 345
-#define DIVassign 346
-#define MODassign 347
-#define PLUSassign 348
-#define MINUSassign 349
-#define LSassign 350
-#define RSassign 351
-#define ANDassign 352
-#define ERassign 353
-#define ORassign 354
-#define THEN 355
-
-
-
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-{
-
-/* Line 293 of yacc.c  */
-#line 107 "parser.yy"
-
-	Token tok;
-	ParseNode *pn;
-	ExpressionNode *en;
-	DeclarationNode *decl;
-	DeclarationNode::Aggregate aggKey;
-	DeclarationNode::TypeClass tclass;
-	StatementNode *sn;
-	ConstantNode *constant;
-	InitializerNode *in;
-
-
-
-/* Line 293 of yacc.c  */
-#line 342 "Parser/parser.cc"
-} YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-#endif
-
-
-/* Copy the second part of user declarations.  */
-
-
-/* Line 343 of yacc.c  */
-#line 354 "Parser/parser.cc"
-
-#ifdef short
-# undef short
-#endif
-
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
-#endif
-
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
-#else
-typedef short int yytype_int8;
-#endif
-
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short int yytype_uint16;
-#endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
-#endif
-
-#ifndef YYSIZE_T
-# ifdef __SIZE_TYPE__
-#  define YYSIZE_T __SIZE_TYPE__
-# elif defined size_t
-#  define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# else
-#  define YYSIZE_T unsigned int
-# endif
-#endif
-
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-#  if ENABLE_NLS
-#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-#   define YY_(msgid) dgettext ("bison-runtime", msgid)
-#  endif
-# endif
-# ifndef YY_
-#  define YY_(msgid) msgid
-# endif
-#endif
-
-/* Suppress unused-variable warnings by "using" E.  */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
-#else
-# define YYUSE(e) /* empty */
-#endif
-
-/* Identity function, used to suppress warnings about constant conditions.  */
-#ifndef lint
-# define YYID(n) (n)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
-#else
-static int
-YYID (yyi)
-    int yyi;
-#endif
-{
-  return yyi;
-}
-#endif
-
-#if ! defined yyoverflow || YYERROR_VERBOSE
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# ifdef YYSTACK_USE_ALLOCA
-#  if YYSTACK_USE_ALLOCA
-#   ifdef __GNUC__
-#    define YYSTACK_ALLOC __builtin_alloca
-#   elif defined __BUILTIN_VA_ARG_INCR
-#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
-#   elif defined _AIX
-#    define YYSTACK_ALLOC __alloca
-#   elif defined _MSC_VER
-#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
-#    define alloca _alloca
-#   else
-#    define YYSTACK_ALLOC alloca
-#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#     ifndef EXIT_SUCCESS
-#      define EXIT_SUCCESS 0
-#     endif
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning.  */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
-#  ifndef YYSTACK_ALLOC_MAXIMUM
-    /* The OS might guarantee only one guard page at the bottom of the stack,
-       and a page size can be as small as 4096 bytes.  So we cannot safely
-       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
-       to allow for a few compiler-allocated temporary stack slots.  */
-#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
-#  endif
-# else
-#  define YYSTACK_ALLOC YYMALLOC
-#  define YYSTACK_FREE YYFREE
-#  ifndef YYSTACK_ALLOC_MAXIMUM
-#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
-#  endif
-#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
-       && ! ((defined YYMALLOC || defined malloc) \
-	     && (defined YYFREE || defined free)))
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   ifndef EXIT_SUCCESS
-#    define EXIT_SUCCESS 0
-#   endif
-#  endif
-#  ifndef YYMALLOC
-#   define YYMALLOC malloc
-#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-#   endif
-#  endif
-#  ifndef YYFREE
-#   define YYFREE free
-#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-#   endif
-#  endif
-# endif
-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
-
-
-#if (! defined yyoverflow \
-     && (! defined __cplusplus \
-	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  yytype_int16 yyss_alloc;
-  YYSTYPE yyvs_alloc;
-};
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
-      + YYSTACK_GAP_MAXIMUM)
-
-# define YYCOPY_NEEDED 1
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
-    do									\
-      {									\
-	YYSIZE_T yynewbytes;						\
-	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
-	Stack = &yyptr->Stack_alloc;					\
-	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
-	yyptr += yynewbytes / sizeof (*yyptr);				\
-      }									\
-    while (YYID (0))
-
-#endif
-
-#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if defined __GNUC__ && 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)		\
-      do					\
-	{					\
-	  YYSIZE_T yyi;				\
-	  for (yyi = 0; yyi < (Count); yyi++)	\
-	    (To)[yyi] = (From)[yyi];		\
-	}					\
-      while (YYID (0))
-#  endif
-# endif
-#endif /* !YYCOPY_NEEDED */
-
-/* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  240
-/* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   11462
-
-/* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  125
-/* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  235
-/* YYNRULES -- Number of rules.  */
-#define YYNRULES  731
-/* YYNRULES -- Number of states.  */
-#define YYNSTATES  1529
-
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
-#define YYUNDEFTOK  2
-#define YYMAXUTOK   355
-
-#define YYTRANSLATE(YYX)						\
-  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
-static const yytype_uint8 yytranslate[] =
-{
-       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,   110,     2,     2,     2,   117,   112,     2,
-     101,   102,   111,   113,   108,   114,   105,   116,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,   109,   124,
-     118,   123,   119,   122,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   103,     2,   104,   120,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,   106,   121,   107,   115,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
-      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100
-};
-
-#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
-   YYRHS.  */
-static const yytype_uint16 yyprhs[] =
-{
-       0,     0,     3,     4,     5,     7,     9,    11,    13,    15,
-      17,    19,    21,    23,    25,    27,    29,    32,    34,    36,
-      38,    40,    44,    48,    50,    57,    62,    66,    74,    78,
-      86,    89,    92,   100,   102,   106,   107,   109,   113,   121,
-     131,   133,   137,   139,   143,   151,   155,   163,   165,   168,
-     171,   174,   177,   180,   183,   186,   191,   193,   198,   203,
-     206,   211,   214,   216,   218,   220,   222,   224,   229,   234,
-     236,   240,   244,   248,   250,   254,   258,   260,   264,   268,
-     270,   274,   278,   282,   286,   288,   292,   296,   298,   302,
-     304,   308,   310,   314,   316,   320,   322,   326,   328,   334,
-     339,   345,   347,   349,   353,   357,   360,   361,   363,   368,
-     374,   381,   389,   391,   395,   397,   399,   401,   403,   405,
-     407,   409,   411,   413,   415,   417,   421,   422,   424,   426,
-     428,   430,   432,   434,   436,   438,   440,   445,   448,   456,
-     458,   462,   464,   467,   469,   472,   474,   477,   480,   486,
-     494,   500,   510,   516,   526,   528,   532,   534,   536,   540,
-     544,   547,   549,   552,   555,   556,   558,   561,   565,   566,
-     568,   571,   575,   579,   584,   585,   587,   589,   592,   598,
-     606,   613,   620,   625,   629,   634,   637,   641,   644,   648,
-     652,   656,   659,   663,   667,   672,   674,   680,   687,   697,
-     708,   711,   713,   716,   719,   722,   724,   731,   740,   751,
-     764,   765,   767,   769,   773,   778,   780,   784,   786,   788,
-     790,   794,   796,   798,   800,   804,   805,   807,   811,   816,
-     818,   822,   824,   826,   830,   834,   838,   842,   846,   849,
-     853,   860,   864,   868,   873,   875,   878,   881,   885,   891,
-     902,   913,   921,   929,   935,   945,   948,   951,   957,   961,
-     967,   972,   976,   981,   986,   994,   998,  1002,  1006,  1010,
-    1015,  1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,
-    1039,  1041,  1043,  1046,  1048,  1050,  1052,  1054,  1056,  1058,
-    1060,  1061,  1067,  1069,  1072,  1076,  1078,  1081,  1083,  1085,
-    1087,  1089,  1091,  1093,  1095,  1097,  1099,  1101,  1103,  1105,
-    1107,  1109,  1111,  1113,  1115,  1117,  1119,  1121,  1123,  1125,
-    1128,  1131,  1135,  1139,  1141,  1145,  1147,  1150,  1153,  1156,
-    1161,  1166,  1171,  1176,  1178,  1181,  1184,  1188,  1190,  1193,
-    1196,  1198,  1201,  1204,  1208,  1210,  1213,  1216,  1218,  1220,
-    1225,  1228,  1234,  1242,  1248,  1251,  1254,  1256,  1259,  1262,
-    1266,  1269,  1273,  1275,  1278,  1282,  1285,  1288,  1293,  1294,
-    1296,  1299,  1302,  1304,  1305,  1307,  1310,  1313,  1319,  1326,
-    1329,  1332,  1337,  1338,  1341,  1342,  1344,  1346,  1348,  1354,
-    1360,  1366,  1368,  1374,  1380,  1390,  1392,  1398,  1399,  1401,
-    1403,  1409,  1411,  1413,  1419,  1425,  1427,  1431,  1435,  1440,
-    1442,  1444,  1446,  1448,  1451,  1453,  1457,  1461,  1463,  1466,
-    1468,  1472,  1474,  1476,  1478,  1480,  1482,  1484,  1486,  1488,
-    1490,  1492,  1494,  1497,  1499,  1501,  1503,  1506,  1507,  1510,
-    1512,  1517,  1519,  1522,  1526,  1531,  1534,  1537,  1539,  1542,
-    1545,  1551,  1557,  1565,  1572,  1574,  1577,  1580,  1584,  1589,
-    1595,  1598,  1601,  1606,  1607,  1612,  1615,  1617,  1619,  1621,
-    1622,  1625,  1631,  1637,  1651,  1653,  1655,  1659,  1663,  1666,
-    1670,  1674,  1677,  1682,  1684,  1691,  1701,  1702,  1714,  1716,
-    1720,  1724,  1728,  1730,  1732,  1738,  1741,  1747,  1748,  1750,
-    1752,  1756,  1757,  1759,  1761,  1763,  1765,  1766,  1773,  1776,
-    1778,  1781,  1786,  1789,  1793,  1797,  1801,  1806,  1812,  1818,
-    1824,  1831,  1833,  1835,  1837,  1841,  1842,  1848,  1849,  1851,
-    1853,  1856,  1863,  1865,  1869,  1870,  1872,  1877,  1879,  1881,
-    1883,  1885,  1888,  1890,  1893,  1896,  1898,  1902,  1905,  1909,
-    1913,  1916,  1921,  1926,  1930,  1939,  1943,  1946,  1948,  1951,
-    1958,  1967,  1971,  1974,  1978,  1982,  1987,  1992,  1996,  1998,
-    2000,  2002,  2007,  2014,  2018,  2021,  2025,  2029,  2034,  2039,
-    2043,  2046,  2048,  2051,  2054,  2056,  2060,  2063,  2067,  2071,
-    2074,  2079,  2084,  2088,  2095,  2104,  2108,  2111,  2113,  2116,
-    2119,  2122,  2126,  2130,  2133,  2138,  2143,  2147,  2154,  2163,
-    2167,  2170,  2172,  2175,  2178,  2180,  2183,  2187,  2191,  2194,
-    2199,  2206,  2215,  2217,  2220,  2223,  2225,  2228,  2231,  2235,
-    2239,  2241,  2246,  2251,  2255,  2261,  2270,  2274,  2279,  2285,
-    2287,  2293,  2299,  2306,  2313,  2315,  2318,  2321,  2323,  2326,
-    2329,  2333,  2337,  2339,  2344,  2349,  2353,  2359,  2368,  2372,
-    2374,  2377,  2379,  2384,  2391,  2397,  2404,  2412,  2420,  2422,
-    2425,  2428,  2430,  2433,  2436,  2440,  2444,  2446,  2451,  2456,
-    2460,  2469,  2473,  2475,  2477,  2480,  2482,  2484,  2487,  2491,
-    2494,  2498,  2501,  2505,  2511,  2514,  2521,  2525,  2528,  2534,
-    2537,  2544,  2548,  2551,  2558,  2565,  2572,  2580,  2582,  2585,
-    2587,  2589,  2591,  2594,  2598,  2601,  2605,  2608,  2612,  2618,
-    2625,  2628,  2634,  2641,  2644,  2650,  2658,  2665,  2672,  2673,
-    2675,  2676
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
-static const yytype_int16 yyrhs[] =
-{
-     288,     0,    -1,    -1,    -1,    72,    -1,    73,    -1,    74,
-      -1,    65,    -1,    69,    -1,   132,    -1,    65,    -1,    69,
-      -1,    65,    -1,    76,    -1,    77,    -1,    75,    -1,   133,
-      75,    -1,    65,    -1,   132,    -1,   128,    -1,   133,    -1,
-     101,   160,   102,    -1,   101,   164,   102,    -1,   134,    -1,
-     135,   103,   126,   155,   127,   104,    -1,   135,   101,   136,
-     102,    -1,   135,   105,   131,    -1,   135,   105,   103,   126,
-     138,   127,   104,    -1,   135,    78,   131,    -1,   135,    78,
-     103,   126,   138,   127,   104,    -1,   135,    79,    -1,   135,
-      80,    -1,   101,   262,   102,   106,   266,   358,   107,    -1,
-     137,    -1,   136,   108,   137,    -1,    -1,   155,    -1,   131,
-     109,   155,    -1,   103,   126,   155,   127,   104,   109,   155,
-      -1,   103,   126,   155,   108,   158,   127,   104,   109,   155,
-      -1,   139,    -1,   138,   108,   139,    -1,   131,    -1,   131,
-     105,   139,    -1,   131,   105,   103,   126,   138,   127,   104,
-      -1,   131,    78,   139,    -1,   131,    78,   103,   126,   138,
-     127,   104,    -1,   135,    -1,    79,   140,    -1,    80,   140,
-      -1,    38,   142,    -1,   141,   142,    -1,   110,   142,    -1,
-     111,   142,    -1,    36,   140,    -1,    36,   101,   262,   102,
-      -1,    69,    -1,    69,   101,   263,   102,    -1,    69,   101,
-     137,   102,    -1,    59,   140,    -1,    59,   101,   262,   102,
-      -1,    87,   131,    -1,   112,    -1,   113,    -1,   114,    -1,
-     115,    -1,   140,    -1,   101,   262,   102,   142,    -1,   101,
-     262,   102,   157,    -1,   142,    -1,   143,   111,   142,    -1,
-     143,   116,   142,    -1,   143,   117,   142,    -1,   143,    -1,
-     144,   113,   143,    -1,   144,   114,   143,    -1,   144,    -1,
-     145,    81,   144,    -1,   145,    82,   144,    -1,   145,    -1,
-     146,   118,   145,    -1,   146,   119,   145,    -1,   146,    83,
-     145,    -1,   146,    84,   145,    -1,   146,    -1,   147,    85,
-     146,    -1,   147,    86,   146,    -1,   147,    -1,   148,   112,
-     147,    -1,   148,    -1,   149,   120,   148,    -1,   149,    -1,
-     150,   121,   149,    -1,   150,    -1,   151,    87,   150,    -1,
-     151,    -1,   152,    88,   151,    -1,   152,    -1,   152,   122,
-     160,   109,   153,    -1,   152,   122,   109,   153,    -1,   152,
-     122,   160,   109,   157,    -1,   153,    -1,   153,    -1,   140,
-     123,   155,    -1,   140,   159,   155,    -1,   157,   359,    -1,
-      -1,   155,    -1,   103,   126,   127,   104,    -1,   103,   126,
-     155,   127,   104,    -1,   103,   126,   108,   158,   127,   104,
-      -1,   103,   126,   155,   108,   158,   127,   104,    -1,   156,
-      -1,   158,   108,   156,    -1,    90,    -1,    91,    -1,    92,
-      -1,    93,    -1,    94,    -1,    95,    -1,    96,    -1,    97,
-      -1,    98,    -1,    99,    -1,   155,    -1,   160,   108,   155,
-      -1,    -1,   160,    -1,   163,    -1,   164,    -1,   168,    -1,
-     169,    -1,   181,    -1,   183,    -1,   184,    -1,   189,    -1,
-     131,   109,   298,   162,    -1,   106,   107,    -1,   106,   126,
-     126,   198,   165,   127,   107,    -1,   166,    -1,   165,   126,
-     166,    -1,   201,    -1,    38,   201,    -1,   294,    -1,   162,
-     127,    -1,   162,    -1,   167,   162,    -1,   161,   124,    -1,
-      39,   101,   160,   102,   162,    -1,    39,   101,   160,   102,
-     162,    40,   162,    -1,    41,   101,   160,   102,   174,    -1,
-      41,   101,   160,   102,   106,   126,   194,   175,   107,    -1,
-      51,   101,   160,   102,   174,    -1,    51,   101,   160,   102,
-     106,   126,   194,   177,   107,    -1,   154,    -1,   154,    89,
-     154,    -1,   296,    -1,   170,    -1,   171,   108,   170,    -1,
-      42,   171,   109,    -1,    43,   109,    -1,   172,    -1,   173,
-     172,    -1,   173,   162,    -1,    -1,   176,    -1,   173,   167,
-      -1,   176,   173,   167,    -1,    -1,   178,    -1,   173,   180,
-      -1,   173,   167,   179,    -1,   178,   173,   180,    -1,   178,
-     173,   167,   179,    -1,    -1,   180,    -1,    52,    -1,    52,
-     124,    -1,    45,   101,   160,   102,   162,    -1,    44,   162,
-      45,   101,   160,   102,   124,    -1,    46,   101,   126,   182,
-     102,   162,    -1,   161,   127,   124,   161,   124,   161,    -1,
-     201,   161,   124,   161,    -1,    49,   131,   124,    -1,    49,
-     111,   160,   124,    -1,    48,   124,    -1,    48,   131,   124,
-      -1,    47,   124,    -1,    47,   131,   124,    -1,    50,   161,
-     124,    -1,    56,   155,   124,    -1,    56,   124,    -1,    53,
-     164,   185,    -1,    53,   164,   187,    -1,    53,   164,   185,
-     187,    -1,   186,    -1,    54,   101,    89,   102,   164,    -1,
-     186,    54,   101,    89,   102,   164,    -1,    54,   101,   126,
-     126,   188,   127,   102,   164,   127,    -1,   186,    54,   101,
-     126,   126,   188,   127,   102,   164,   127,    -1,    55,   164,
-      -1,   214,    -1,   214,   295,    -1,   214,   343,    -1,   352,
-     131,    -1,   352,    -1,    57,   215,   101,   154,   102,   124,
-      -1,    57,   215,   101,   154,   109,   190,   102,   124,    -1,
-      57,   215,   101,   154,   109,   190,   109,   190,   102,   124,
-      -1,    57,   215,   101,   154,   109,   190,   109,   190,   109,
-     193,   102,   124,    -1,    -1,   191,    -1,   192,    -1,   191,
-     108,   192,    -1,    75,   101,   154,   102,    -1,    75,    -1,
-     193,   108,    75,    -1,   127,    -1,   195,    -1,   201,    -1,
-     195,   126,   201,    -1,   127,    -1,   197,    -1,   211,    -1,
-     197,   126,   211,    -1,    -1,   199,    -1,    28,   200,   124,
-      -1,   199,    28,   200,   124,    -1,   261,    -1,   200,   108,
-     261,    -1,   202,    -1,   211,    -1,   203,   127,   124,    -1,
-     208,   127,   124,    -1,   205,   127,   124,    -1,   279,   127,
-     124,    -1,   282,   127,   124,    -1,   204,   264,    -1,   220,
-     204,   264,    -1,   203,   127,   108,   126,   259,   264,    -1,
-     353,   259,   297,    -1,   356,   259,   297,    -1,   216,   356,
-     259,   297,    -1,   206,    -1,   216,   206,    -1,   220,   206,
-      -1,   220,   216,   206,    -1,   205,   127,   108,   126,   259,
-      -1,   103,   126,   127,   104,   129,   101,   126,   247,   127,
-     102,    -1,   103,   126,   127,   104,    67,   101,   126,   247,
-     127,   102,    -1,   356,   259,   101,   126,   247,   127,   102,
-      -1,   207,   259,   101,   126,   247,   127,   102,    -1,   103,
-     126,   249,   127,   104,    -1,   103,   126,   249,   127,   108,
-     126,   250,   127,   104,    -1,     3,   204,    -1,     3,   206,
-      -1,   208,   127,   108,   126,   131,    -1,     3,   214,   295,
-      -1,   209,   127,   108,   126,   295,    -1,   216,     3,   214,
-     295,    -1,   214,     3,   295,    -1,   214,     3,   216,   295,
-      -1,     3,   131,   123,   155,    -1,   210,   127,   108,   126,
-     131,   123,   155,    -1,   212,   127,   124,    -1,   209,   127,
-     124,    -1,   210,   127,   124,    -1,   229,   127,   124,    -1,
-     213,   295,   297,   264,    -1,   212,   108,   298,   295,   297,
-     264,    -1,   225,    -1,   229,    -1,   231,    -1,   270,    -1,
-     226,    -1,   230,    -1,   232,    -1,   271,    -1,    -1,   216,
-      -1,   217,    -1,   216,   217,    -1,   218,    -1,   300,    -1,
-      10,    -1,    12,    -1,    11,    -1,    14,    -1,    60,    -1,
-      -1,    13,   101,   219,   272,   102,    -1,   221,    -1,   216,
-     221,    -1,   220,   216,   221,    -1,   222,    -1,   221,   222,
-      -1,   223,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
-      -1,     8,    -1,     9,    -1,    62,    -1,    64,    -1,    16,
-      -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,
-      -1,    22,    -1,    23,    -1,    15,    -1,    24,    -1,    25,
-      -1,    26,    -1,   226,    -1,   220,   226,    -1,   225,   222,
-      -1,   225,   222,   216,    -1,   225,   222,   226,    -1,   227,
-      -1,   215,   228,   215,    -1,   224,    -1,   216,   224,    -1,
-     227,   217,    -1,   227,   224,    -1,    27,   101,   263,   102,
-      -1,    27,   101,   160,   102,    -1,    71,   101,   263,   102,
-      -1,    71,   101,   160,   102,    -1,   230,    -1,   220,   230,
-      -1,   229,   222,    -1,   229,   222,   216,    -1,   233,    -1,
-     216,   233,    -1,   230,   217,    -1,   232,    -1,   220,   232,
-      -1,   231,   222,    -1,   231,   222,   216,    -1,    67,    -1,
-     216,    67,    -1,   232,   217,    -1,   234,    -1,   244,    -1,
-     235,   106,   236,   107,    -1,   235,   261,    -1,   235,   261,
-     106,   236,   107,    -1,   235,   101,   278,   102,   106,   236,
-     107,    -1,   235,   101,   278,   102,   261,    -1,    30,   298,
-      -1,    31,   298,    -1,   237,    -1,   236,   237,    -1,   238,
-     124,    -1,    38,   238,   124,    -1,   239,   124,    -1,    38,
-     239,   124,    -1,   352,    -1,   352,   261,    -1,   238,   108,
-     261,    -1,   238,   108,    -1,   214,   240,    -1,   239,   108,
-     298,   240,    -1,    -1,   242,    -1,   304,   241,    -1,   317,
-     241,    -1,   343,    -1,    -1,   242,    -1,   109,   154,    -1,
-      29,   298,    -1,   243,   106,   245,   358,   107,    -1,   243,
-     261,   106,   245,   358,   107,    -1,   243,   261,    -1,   261,
-     246,    -1,   245,   108,   261,   246,    -1,    -1,   123,   154,
-      -1,    -1,   248,    -1,   250,    -1,   249,    -1,   249,   127,
-     108,   126,   250,    -1,   250,   127,   108,   126,    89,    -1,
-     249,   127,   108,   126,    89,    -1,   254,    -1,   250,   127,
-     108,   126,   254,    -1,   249,   127,   108,   126,   254,    -1,
-     249,   127,   108,   126,   250,   127,   108,   126,   254,    -1,
-     255,    -1,   250,   127,   108,   126,   255,    -1,    -1,   252,
-      -1,   253,    -1,   253,   127,   108,   126,    89,    -1,   257,
-      -1,   256,    -1,   253,   127,   108,   126,   257,    -1,   253,
-     127,   108,   126,   256,    -1,   256,    -1,   348,   259,   359,
-      -1,   356,   259,   359,    -1,   216,   356,   259,   359,    -1,
-     206,    -1,   257,    -1,   348,    -1,   356,    -1,   216,   356,
-      -1,   357,    -1,   213,   322,   359,    -1,   213,   326,   359,
-      -1,   213,    -1,   213,   337,    -1,   131,    -1,   258,   108,
-     131,    -1,   129,    -1,    67,    -1,    68,    -1,   130,    -1,
-      67,    -1,    68,    -1,   131,    -1,    67,    -1,    68,    -1,
-     352,    -1,   214,    -1,   214,   343,    -1,   352,    -1,   357,
-      -1,   214,    -1,   214,   331,    -1,    -1,   123,   265,    -1,
-     155,    -1,   106,   266,   358,   107,    -1,   265,    -1,   267,
-     265,    -1,   266,   108,   265,    -1,   266,   108,   267,   265,
-      -1,   268,   109,    -1,   261,   109,    -1,   269,    -1,   268,
-     269,    -1,   105,   261,    -1,   103,   126,   155,   127,   104,
-      -1,   103,   126,   296,   127,   104,    -1,   103,   126,   154,
-      89,   154,   127,   104,    -1,   105,   103,   126,   138,   127,
-     104,    -1,   271,    -1,   220,   271,    -1,   270,   222,    -1,
-     270,   222,   216,    -1,    68,   101,   278,   102,    -1,   216,
-      68,   101,   278,   102,    -1,   271,   217,    -1,   273,   359,
-      -1,   272,   108,   273,   359,    -1,    -1,   275,   261,   274,
-     276,    -1,   214,   322,    -1,    32,    -1,    34,    -1,    33,
-      -1,    -1,   276,   277,    -1,   121,   261,   101,   278,   102,
-      -1,   121,   106,   126,   284,   107,    -1,   121,   101,   126,
-     272,   127,   102,   106,   126,   284,   107,   101,   278,   102,
-      -1,   263,    -1,   155,    -1,   278,   108,   263,    -1,   278,
-     108,   155,    -1,    32,   280,    -1,   221,    32,   280,    -1,
-     279,   108,   280,    -1,   281,   276,    -1,   281,   276,   123,
-     263,    -1,   261,    -1,   260,   101,   126,   272,   127,   102,
-      -1,    35,   261,   101,   126,   272,   127,   102,   106,   107,
-      -1,    -1,    35,   261,   101,   126,   272,   127,   102,   106,
-     283,   284,   107,    -1,   285,    -1,   284,   126,   285,    -1,
-     286,   127,   124,    -1,   287,   127,   124,    -1,   204,    -1,
-     206,    -1,   286,   127,   108,   126,   259,    -1,   214,   295,
-      -1,   287,   127,   108,   126,   295,    -1,    -1,   289,    -1,
-     291,    -1,   289,   126,   291,    -1,    -1,   289,    -1,   201,
-      -1,   293,    -1,   189,    -1,    -1,     5,    75,   292,   106,
-     290,   107,    -1,    38,   291,    -1,   294,    -1,   309,   164,
-      -1,   313,   126,   196,   164,    -1,   205,   164,    -1,   213,
-     309,   164,    -1,   216,   309,   164,    -1,   220,   309,   164,
-      -1,   220,   216,   309,   164,    -1,   213,   313,   126,   196,
-     164,    -1,   216,   313,   126,   196,   164,    -1,   220,   313,
-     126,   196,   164,    -1,   220,   216,   313,   126,   196,   164,
-      -1,   304,    -1,   309,    -1,   317,    -1,   154,   115,   154,
-      -1,    -1,    57,   101,   133,   102,   298,    -1,    -1,   299,
-      -1,   300,    -1,   299,   300,    -1,    37,   101,   101,   301,
-     102,   102,    -1,   302,    -1,   301,   108,   302,    -1,    -1,
-     303,    -1,   303,   101,   161,   102,    -1,   259,    -1,   223,
-      -1,   224,    -1,   217,    -1,   305,   298,    -1,   306,    -1,
-     307,   298,    -1,   308,   298,    -1,   129,    -1,   101,   305,
-     102,    -1,   111,   304,    -1,   111,   216,   304,    -1,   101,
-     306,   102,    -1,   305,   335,    -1,   101,   306,   102,   335,
-      -1,   101,   307,   102,   336,    -1,   101,   307,   102,    -1,
-     101,   306,   102,   101,   126,   251,   127,   102,    -1,   101,
-     308,   102,    -1,   310,   298,    -1,   311,    -1,   312,   298,
-      -1,   305,   101,   126,   251,   127,   102,    -1,   101,   311,
-     102,   101,   126,   251,   127,   102,    -1,   101,   310,   102,
-      -1,   111,   309,    -1,   111,   216,   309,    -1,   101,   311,
-     102,    -1,   101,   311,   102,   335,    -1,   101,   312,   102,
-     336,    -1,   101,   312,   102,    -1,   314,    -1,   315,    -1,
-     316,    -1,   305,   101,   258,   102,    -1,   101,   315,   102,
-     101,   258,   102,    -1,   101,   314,   102,    -1,   111,   313,
-      -1,   111,   216,   313,    -1,   101,   315,   102,    -1,   101,
-     315,   102,   335,    -1,   101,   316,   102,   336,    -1,   101,
-     316,   102,    -1,   318,   298,    -1,   319,    -1,   320,   298,
-      -1,   321,   298,    -1,    67,    -1,   101,   318,   102,    -1,
-     111,   317,    -1,   111,   216,   317,    -1,   101,   319,   102,
-      -1,   318,   335,    -1,   101,   319,   102,   335,    -1,   101,
-     320,   102,   336,    -1,   101,   320,   102,    -1,   318,   101,
-     126,   251,   127,   102,    -1,   101,   319,   102,   101,   126,
-     251,   127,   102,    -1,   101,   321,   102,    -1,   305,   298,
-      -1,   323,    -1,   324,   298,    -1,   325,   298,    -1,   111,
-     322,    -1,   111,   216,   322,    -1,   101,   323,   102,    -1,
-     305,   341,    -1,   101,   323,   102,   335,    -1,   101,   324,
-     102,   336,    -1,   101,   324,   102,    -1,   305,   101,   126,
-     251,   127,   102,    -1,   101,   323,   102,   101,   126,   251,
-     127,   102,    -1,   101,   325,   102,    -1,   327,   298,    -1,
-     328,    -1,   329,   298,    -1,   330,   298,    -1,    67,    -1,
-     111,   326,    -1,   111,   216,   326,    -1,   101,   328,   102,
-      -1,   327,   341,    -1,   101,   328,   102,   341,    -1,   327,
-     101,   126,   251,   127,   102,    -1,   101,   328,   102,   101,
-     126,   251,   127,   102,    -1,   332,    -1,   333,   298,    -1,
-     334,   298,    -1,   111,    -1,   111,   216,    -1,   111,   331,
-      -1,   111,   216,   331,    -1,   101,   332,   102,    -1,   335,
-      -1,   101,   332,   102,   335,    -1,   101,   333,   102,   336,
-      -1,   101,   333,   102,    -1,   101,   126,   251,   127,   102,
-      -1,   101,   332,   102,   101,   126,   251,   127,   102,    -1,
-     101,   334,   102,    -1,   103,   126,   127,   104,    -1,   103,
-     126,   127,   104,   336,    -1,   336,    -1,   103,   126,   155,
-     127,   104,    -1,   103,   126,   111,   127,   104,    -1,   336,
-     103,   126,   155,   127,   104,    -1,   336,   103,   126,   111,
-     127,   104,    -1,   338,    -1,   339,   298,    -1,   340,   298,
-      -1,   111,    -1,   111,   216,    -1,   111,   337,    -1,   111,
-     216,   337,    -1,   101,   338,   102,    -1,   341,    -1,   101,
-     338,   102,   341,    -1,   101,   339,   102,   336,    -1,   101,
-     339,   102,    -1,   101,   126,   251,   127,   102,    -1,   101,
-     338,   102,   101,   126,   251,   127,   102,    -1,   101,   340,
-     102,    -1,   342,    -1,   342,   336,    -1,   336,    -1,   103,
-     126,   127,   104,    -1,   103,   126,   216,   111,   127,   104,
-      -1,   103,   126,   216,   127,   104,    -1,   103,   126,   216,
-     155,   127,   104,    -1,   103,   126,     7,   215,   155,   127,
-     104,    -1,   103,   126,   216,     7,   155,   127,   104,    -1,
-     344,    -1,   345,   298,    -1,   346,   298,    -1,   111,    -1,
-     111,   216,    -1,   111,   343,    -1,   111,   216,   343,    -1,
-     101,   344,   102,    -1,   335,    -1,   101,   344,   102,   335,
-      -1,   101,   345,   102,   336,    -1,   101,   345,   102,    -1,
-     101,   344,   102,   101,   126,   251,   127,   102,    -1,   101,
-     346,   102,    -1,   348,    -1,   356,    -1,   216,   356,    -1,
-     349,    -1,   350,    -1,   111,   214,    -1,   216,   111,   214,
-      -1,   111,   357,    -1,   216,   111,   357,    -1,   111,   347,
-      -1,   216,   111,   347,    -1,   103,   126,   127,   104,   214,
-      -1,   351,   214,    -1,   103,   126,   127,   104,   336,   214,
-      -1,   351,   336,   214,    -1,   336,   214,    -1,   103,   126,
-     127,   104,   349,    -1,   351,   349,    -1,   103,   126,   127,
-     104,   336,   349,    -1,   351,   336,   349,    -1,   336,   349,
-      -1,   103,   126,   216,   111,   127,   104,    -1,   103,   126,
-     216,   155,   127,   104,    -1,   103,   126,   220,   155,   127,
-     104,    -1,   103,   126,   220,   216,   155,   127,   104,    -1,
-     356,    -1,   216,   356,    -1,   353,    -1,   354,    -1,   355,
-      -1,   111,   214,    -1,   216,   111,   214,    -1,   111,   357,
-      -1,   216,   111,   357,    -1,   111,   352,    -1,   216,   111,
-     352,    -1,   103,   126,   127,   104,   214,    -1,   103,   126,
-     127,   104,   336,   214,    -1,   336,   214,    -1,   103,   126,
-     127,   104,   354,    -1,   103,   126,   127,   104,   336,   354,
-      -1,   336,   354,    -1,   103,   126,   250,   127,   104,    -1,
-     103,   126,   127,   104,   101,   247,   102,    -1,   356,   101,
-     126,   247,   127,   102,    -1,   207,   101,   126,   247,   127,
-     102,    -1,    -1,   108,    -1,    -1,   123,   155,    -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
-static const yytype_uint16 yyrline[] =
-{
-       0,   279,   279,   285,   294,   295,   296,   300,   301,   302,
-     306,   307,   311,   315,   316,   320,   321,   327,   329,   331,
-     333,   335,   337,   342,   343,   349,   351,   353,   354,   356,
-     357,   359,   362,   367,   368,   374,   375,   376,   381,   383,
-     388,   389,   393,   395,   397,   399,   401,   406,   407,   409,
-     411,   413,   415,   417,   423,   425,   427,   429,   431,   433,
-     435,   437,   442,   443,   444,   445,   449,   450,   452,   457,
-     458,   460,   462,   467,   468,   470,   475,   476,   478,   483,
-     484,   486,   488,   490,   495,   496,   498,   503,   504,   509,
-     510,   515,   516,   521,   522,   527,   528,   533,   534,   536,
-     538,   543,   548,   549,   551,   553,   559,   560,   566,   568,
-     570,   572,   577,   578,   583,   584,   585,   586,   587,   588,
-     589,   590,   591,   592,   596,   597,   603,   604,   610,   611,
-     612,   613,   614,   615,   616,   617,   621,   626,   628,   638,
-     639,   644,   646,   648,   650,   654,   655,   660,   665,   668,
-     670,   672,   677,   679,   687,   688,   690,   694,   695,   700,
-     701,   706,   707,   711,   716,   717,   721,   723,   729,   730,
-     734,   736,   738,   740,   746,   747,   751,   752,   756,   758,
-     760,   765,   767,   772,   774,   778,   781,   785,   788,   792,
-     794,   796,   801,   803,   805,   814,   816,   818,   823,   825,
-     830,   843,   844,   849,   851,   856,   860,   862,   864,   866,
-     870,   872,   876,   877,   881,   885,   886,   892,   894,   898,
-     899,   904,   906,   910,   911,   915,   917,   921,   922,   926,
-     927,   931,   932,   947,   948,   949,   950,   951,   955,   960,
-     967,   977,   982,   987,   995,  1000,  1005,  1010,  1015,  1023,
-    1028,  1040,  1045,  1052,  1054,  1061,  1066,  1071,  1082,  1087,
-    1092,  1097,  1102,  1111,  1116,  1124,  1125,  1126,  1127,  1133,
-    1138,  1146,  1147,  1148,  1149,  1153,  1154,  1155,  1156,  1161,
-    1162,  1171,  1172,  1177,  1178,  1183,  1185,  1187,  1189,  1191,
-    1194,  1193,  1205,  1206,  1208,  1218,  1219,  1224,  1228,  1230,
-    1232,  1234,  1236,  1238,  1240,  1242,  1247,  1249,  1251,  1253,
-    1255,  1257,  1259,  1261,  1263,  1265,  1267,  1269,  1275,  1276,
-    1278,  1280,  1282,  1287,  1288,  1294,  1295,  1297,  1299,  1304,
-    1306,  1308,  1310,  1315,  1316,  1318,  1320,  1325,  1326,  1328,
-    1333,  1334,  1336,  1338,  1343,  1345,  1347,  1352,  1353,  1357,
-    1359,  1361,  1371,  1373,  1380,  1382,  1387,  1389,  1394,  1395,
-    1397,  1398,  1403,  1404,  1406,  1408,  1413,  1415,  1421,  1422,
-    1424,  1427,  1430,  1435,  1436,  1441,  1446,  1450,  1452,  1454,
-    1459,  1461,  1467,  1468,  1476,  1477,  1481,  1482,  1483,  1485,
-    1487,  1494,  1495,  1497,  1499,  1504,  1505,  1511,  1512,  1516,
-    1517,  1522,  1523,  1524,  1526,  1534,  1535,  1537,  1540,  1542,
-    1546,  1547,  1548,  1550,  1552,  1556,  1561,  1569,  1570,  1579,
-    1581,  1586,  1587,  1588,  1592,  1593,  1594,  1598,  1599,  1600,
-    1604,  1605,  1606,  1611,  1612,  1613,  1614,  1620,  1621,  1625,
-    1626,  1630,  1631,  1632,  1633,  1648,  1649,  1654,  1655,  1660,
-    1662,  1665,  1667,  1669,  1692,  1693,  1695,  1697,  1702,  1704,
-    1706,  1711,  1712,  1718,  1717,  1721,  1725,  1727,  1729,  1735,
-    1736,  1741,  1746,  1748,  1753,  1755,  1756,  1758,  1763,  1765,
-    1767,  1772,  1774,  1779,  1784,  1792,  1798,  1797,  1811,  1812,
-    1817,  1818,  1822,  1827,  1832,  1840,  1845,  1856,  1857,  1868,
-    1869,  1875,  1876,  1880,  1881,  1882,  1885,  1884,  1895,  1900,
-    1906,  1912,  1921,  1927,  1933,  1939,  1945,  1953,  1959,  1967,
-    1973,  1982,  1983,  1984,  1988,  1992,  1994,  1997,  1999,  2003,
-    2004,  2008,  2012,  2013,  2016,  2018,  2019,  2023,  2024,  2025,
-    2026,  2060,  2061,  2062,  2063,  2067,  2072,  2077,  2079,  2081,
-    2086,  2088,  2090,  2092,  2097,  2099,  2109,  2110,  2111,  2115,
-    2117,  2119,  2124,  2126,  2128,  2133,  2135,  2137,  2146,  2147,
-    2148,  2152,  2154,  2156,  2161,  2163,  2165,  2170,  2172,  2174,
-    2189,  2190,  2191,  2192,  2196,  2201,  2206,  2208,  2210,  2215,
-    2217,  2219,  2221,  2226,  2228,  2230,  2240,  2241,  2242,  2243,
-    2247,  2249,  2251,  2256,  2258,  2260,  2262,  2267,  2269,  2271,
-    2302,  2303,  2304,  2305,  2309,  2317,  2319,  2321,  2326,  2328,
-    2333,  2335,  2349,  2350,  2351,  2355,  2357,  2359,  2361,  2363,
-    2368,  2369,  2371,  2373,  2378,  2380,  2382,  2388,  2390,  2392,
-    2396,  2398,  2400,  2402,  2416,  2417,  2418,  2422,  2424,  2426,
-    2428,  2430,  2435,  2436,  2438,  2440,  2445,  2447,  2449,  2455,
-    2456,  2458,  2467,  2470,  2472,  2475,  2477,  2479,  2492,  2493,
-    2494,  2498,  2500,  2502,  2504,  2506,  2511,  2512,  2514,  2516,
-    2521,  2523,  2531,  2532,  2533,  2538,  2539,  2543,  2545,  2547,
-    2549,  2551,  2553,  2560,  2562,  2564,  2566,  2568,  2570,  2572,
-    2574,  2576,  2578,  2583,  2585,  2587,  2592,  2618,  2619,  2621,
-    2625,  2626,  2630,  2632,  2634,  2636,  2638,  2640,  2647,  2649,
-    2651,  2653,  2655,  2657,  2662,  2667,  2669,  2671,  2689,  2691,
-    2696,  2697
-};
-#endif
-
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
-   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
-static const char *const yytname[] =
-{
-  "$end", "error", "$undefined", "TYPEDEF", "AUTO", "EXTERN", "REGISTER",
-  "STATIC", "INLINE", "FORTRAN", "CONST", "VOLATILE", "RESTRICT", "FORALL",
-  "LVALUE", "VOID", "CHAR", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE",
-  "SIGNED", "UNSIGNED", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF", "LABEL",
-  "ENUM", "STRUCT", "UNION", "TYPE", "FTYPE", "DTYPE", "CONTEXT", "SIZEOF",
-  "ATTRIBUTE", "EXTENSION", "IF", "ELSE", "SWITCH", "CASE", "DEFAULT",
-  "DO", "WHILE", "FOR", "BREAK", "CONTINUE", "GOTO", "RETURN", "CHOOSE",
-  "FALLTHRU", "TRY", "CATCH", "FINALLY", "THROW", "ASM", "ALIGNAS",
-  "ALIGNOF", "ATOMIC", "GENERIC", "NORETURN", "STATICASSERT",
-  "THREADLOCAL", "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname",
-  "TYPEGENname", "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname",
-  "INTEGERconstant", "FLOATINGconstant", "CHARACTERconstant",
-  "STRINGliteral", "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE",
-  "GE", "EQ", "NE", "ANDAND", "OROR", "ELLIPSIS", "MULTassign",
-  "DIVassign", "MODassign", "PLUSassign", "MINUSassign", "LSassign",
-  "RSassign", "ANDassign", "ERassign", "ORassign", "THEN", "'('", "')'",
-  "'['", "']'", "'.'", "'{'", "'}'", "','", "':'", "'!'", "'*'", "'&'",
-  "'+'", "'-'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'", "'?'",
-  "'='", "';'", "$accept", "push", "pop", "constant", "identifier",
-  "no_01_identifier", "no_attr_identifier", "zero_one",
-  "string_literal_list", "primary_expression", "postfix_expression",
-  "argument_expression_list", "argument_expression", "field_list", "field",
-  "unary_expression", "unary_operator", "cast_expression",
-  "multiplicative_expression", "additive_expression", "shift_expression",
-  "relational_expression", "equality_expression", "AND_expression",
-  "exclusive_OR_expression", "inclusive_OR_expression",
-  "logical_AND_expression", "logical_OR_expression",
-  "conditional_expression", "constant_expression", "assignment_expression",
-  "assignment_expression_opt", "tuple", "tuple_expression_list",
-  "assignment_operator", "comma_expression", "comma_expression_opt",
-  "statement", "labeled_statement", "compound_statement",
-  "block_item_list", "block_item", "statement_list",
-  "expression_statement", "selection_statement", "case_value",
-  "case_value_list", "case_label", "case_label_list", "case_clause",
-  "switch_clause_list_opt", "switch_clause_list", "choose_clause_list_opt",
-  "choose_clause_list", "fall_through_opt", "fall_through",
-  "iteration_statement", "for_control_expression", "jump_statement",
-  "exception_statement", "handler_list", "handler_clause",
-  "finally_clause", "exception_declaration", "asm_statement",
-  "asm_operands_opt", "asm_operands_list", "asm_operand",
-  "asm_clobbers_list", "declaration_list_opt", "declaration_list",
-  "old_declaration_list_opt", "old_declaration_list",
-  "label_declaration_opt", "label_declaration_list", "label_list",
-  "declaration", "new_declaration", "new_variable_declaration",
-  "new_variable_specifier", "new_function_declaration",
-  "new_function_specifier", "new_function_return",
-  "new_typedef_declaration", "typedef_declaration", "typedef_expression",
-  "old_declaration", "declaring_list", "declaration_specifier",
-  "type_specifier", "type_qualifier_list_opt", "type_qualifier_list",
-  "type_qualifier", "type_qualifier_name", "$@1",
-  "declaration_qualifier_list", "storage_class_list", "storage_class",
-  "storage_class_name", "basic_type_name", "basic_declaration_specifier",
-  "basic_type_specifier", "direct_type_name", "indirect_type_name",
-  "sue_declaration_specifier", "sue_type_specifier",
-  "typedef_declaration_specifier", "typedef_type_specifier",
-  "elaborated_type_name", "aggregate_name", "aggregate_key",
-  "field_declaration_list", "field_declaration",
-  "new_field_declaring_list", "field_declaring_list", "field_declarator",
-  "bit_subrange_size_opt", "bit_subrange_size", "enum_key", "enum_name",
-  "enumerator_list", "enumerator_value_opt", "new_parameter_type_list_opt",
-  "new_parameter_type_list", "new_parameter_list",
-  "new_abstract_parameter_list", "parameter_type_list_opt",
-  "parameter_type_list", "parameter_list", "new_parameter_declaration",
-  "new_abstract_parameter_declaration", "parameter_declaration",
-  "abstract_parameter_declaration", "identifier_list",
-  "identifier_or_typedef_name", "no_01_identifier_or_typedef_name",
-  "no_attr_identifier_or_typedef_name", "type_name_no_function",
-  "type_name", "initializer_opt", "initializer", "initializer_list",
-  "designation", "designator_list", "designator",
-  "typegen_declaration_specifier", "typegen_type_specifier",
-  "type_parameter_list", "type_parameter", "$@2", "type_class",
-  "assertion_list_opt", "assertion", "type_name_list",
-  "type_declaring_list", "type_declarator", "type_declarator_name",
-  "context_specifier", "$@3", "context_declaration_list",
-  "context_declaration", "new_context_declaring_list",
-  "context_declaring_list", "translation_unit", "external_definition_list",
-  "external_definition_list_opt", "external_definition", "$@4",
-  "external_function_definition", "function_definition", "declarator",
-  "subrange", "asm_name_opt", "attribute_list_opt", "attribute_list",
-  "attribute", "attribute_parameter_list", "attrib", "any_word",
-  "variable_declarator", "paren_identifier", "variable_ptr",
-  "variable_array", "variable_function", "function_declarator",
-  "function_no_ptr", "function_ptr", "function_array",
-  "old_function_declarator", "old_function_no_ptr", "old_function_ptr",
-  "old_function_array", "typedef_redeclarator", "paren_typedef",
-  "typedef_ptr", "typedef_array", "typedef_function",
-  "identifier_parameter_declarator", "identifier_parameter_ptr",
-  "identifier_parameter_array", "identifier_parameter_function",
-  "typedef_parameter_redeclarator", "typedef", "typedef_parameter_ptr",
-  "typedef_parameter_array", "typedef_parameter_function",
-  "abstract_declarator", "abstract_ptr", "abstract_array",
-  "abstract_function", "array_dimension", "multi_array_dimension",
-  "abstract_parameter_declarator", "abstract_parameter_ptr",
-  "abstract_parameter_array", "abstract_parameter_function",
-  "array_parameter_dimension", "array_parameter_1st_dimension",
-  "variable_abstract_declarator", "variable_abstract_ptr",
-  "variable_abstract_array", "variable_abstract_function",
-  "new_identifier_parameter_declarator_tuple",
-  "new_identifier_parameter_declarator_no_tuple",
-  "new_identifier_parameter_ptr", "new_identifier_parameter_array",
-  "new_array_parameter_1st_dimension", "new_abstract_declarator_tuple",
-  "new_abstract_declarator_no_tuple", "new_abstract_ptr",
-  "new_abstract_array", "new_abstract_tuple", "new_abstract_function",
-  "comma_opt", "assignment_opt", 0
-};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
-   token YYLEX-NUM.  */
-static const yytype_uint16 yytoknum[] =
-{
-       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
-     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
-     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
-     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
-     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
-     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
-     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
-     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
-     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
-     355,    40,    41,    91,    93,    46,   123,   125,    44,    58,
-      33,    42,    38,    43,    45,   126,    47,    37,    60,    62,
-      94,   124,    63,    61,    59
-};
-# endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
-static const yytype_uint16 yyr1[] =
-{
-       0,   125,   126,   127,   128,   128,   128,   129,   129,   129,
-     130,   130,   131,   132,   132,   133,   133,   134,   134,   134,
-     134,   134,   134,   135,   135,   135,   135,   135,   135,   135,
-     135,   135,   135,   136,   136,   137,   137,   137,   137,   137,
-     138,   138,   139,   139,   139,   139,   139,   140,   140,   140,
-     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
-     140,   140,   141,   141,   141,   141,   142,   142,   142,   143,
-     143,   143,   143,   144,   144,   144,   145,   145,   145,   146,
-     146,   146,   146,   146,   147,   147,   147,   148,   148,   149,
-     149,   150,   150,   151,   151,   152,   152,   153,   153,   153,
-     153,   154,   155,   155,   155,   155,   156,   156,   157,   157,
-     157,   157,   158,   158,   159,   159,   159,   159,   159,   159,
-     159,   159,   159,   159,   160,   160,   161,   161,   162,   162,
-     162,   162,   162,   162,   162,   162,   163,   164,   164,   165,
-     165,   166,   166,   166,   166,   167,   167,   168,   169,   169,
-     169,   169,   169,   169,   170,   170,   170,   171,   171,   172,
-     172,   173,   173,   174,   175,   175,   176,   176,   177,   177,
-     178,   178,   178,   178,   179,   179,   180,   180,   181,   181,
-     181,   182,   182,   183,   183,   183,   183,   183,   183,   183,
-     183,   183,   184,   184,   184,   185,   185,   185,   186,   186,
-     187,   188,   188,   188,   188,   188,   189,   189,   189,   189,
-     190,   190,   191,   191,   192,   193,   193,   194,   194,   195,
-     195,   196,   196,   197,   197,   198,   198,   199,   199,   200,
-     200,   201,   201,   202,   202,   202,   202,   202,   203,   203,
-     203,   204,   204,   204,   205,   205,   205,   205,   205,   206,
-     206,   206,   206,   207,   207,   208,   208,   208,   209,   209,
-     209,   209,   209,   210,   210,   211,   211,   211,   211,   212,
-     212,   213,   213,   213,   213,   214,   214,   214,   214,   215,
-     215,   216,   216,   217,   217,   218,   218,   218,   218,   218,
-     219,   218,   220,   220,   220,   221,   221,   222,   223,   223,
-     223,   223,   223,   223,   223,   223,   224,   224,   224,   224,
-     224,   224,   224,   224,   224,   224,   224,   224,   225,   225,
-     225,   225,   225,   226,   226,   227,   227,   227,   227,   228,
-     228,   228,   228,   229,   229,   229,   229,   230,   230,   230,
-     231,   231,   231,   231,   232,   232,   232,   233,   233,   234,
-     234,   234,   234,   234,   235,   235,   236,   236,   237,   237,
-     237,   237,   238,   238,   238,   238,   239,   239,   240,   240,
-     240,   240,   240,   241,   241,   242,   243,   244,   244,   244,
-     245,   245,   246,   246,   247,   247,   248,   248,   248,   248,
-     248,   249,   249,   249,   249,   250,   250,   251,   251,   252,
-     252,   253,   253,   253,   253,   254,   254,   254,   254,   254,
-     255,   255,   255,   255,   255,   256,   256,   257,   257,   258,
-     258,   259,   259,   259,   260,   260,   260,   261,   261,   261,
-     262,   262,   262,   263,   263,   263,   263,   264,   264,   265,
-     265,   266,   266,   266,   266,   267,   267,   268,   268,   269,
-     269,   269,   269,   269,   270,   270,   270,   270,   271,   271,
-     271,   272,   272,   274,   273,   273,   275,   275,   275,   276,
-     276,   277,   277,   277,   278,   278,   278,   278,   279,   279,
-     279,   280,   280,   281,   281,   282,   283,   282,   284,   284,
-     285,   285,   286,   286,   286,   287,   287,   288,   288,   289,
-     289,   290,   290,   291,   291,   291,   292,   291,   291,   293,
-     293,   293,   294,   294,   294,   294,   294,   294,   294,   294,
-     294,   295,   295,   295,   296,   297,   297,   298,   298,   299,
-     299,   300,   301,   301,   302,   302,   302,   303,   303,   303,
-     303,   304,   304,   304,   304,   305,   305,   306,   306,   306,
-     307,   307,   307,   307,   308,   308,   309,   309,   309,   310,
-     310,   310,   311,   311,   311,   312,   312,   312,   313,   313,
-     313,   314,   314,   314,   315,   315,   315,   316,   316,   316,
-     317,   317,   317,   317,   318,   318,   319,   319,   319,   320,
-     320,   320,   320,   321,   321,   321,   322,   322,   322,   322,
-     323,   323,   323,   324,   324,   324,   324,   325,   325,   325,
-     326,   326,   326,   326,   327,   328,   328,   328,   329,   329,
-     330,   330,   331,   331,   331,   332,   332,   332,   332,   332,
-     333,   333,   333,   333,   334,   334,   334,   335,   335,   335,
-     336,   336,   336,   336,   337,   337,   337,   338,   338,   338,
-     338,   338,   339,   339,   339,   339,   340,   340,   340,   341,
-     341,   341,   342,   342,   342,   342,   342,   342,   343,   343,
-     343,   344,   344,   344,   344,   344,   345,   345,   345,   345,
-     346,   346,   347,   347,   347,   348,   348,   349,   349,   349,
-     349,   349,   349,   350,   350,   350,   350,   350,   350,   350,
-     350,   350,   350,   351,   351,   351,   351,   352,   352,   352,
-     353,   353,   354,   354,   354,   354,   354,   354,   355,   355,
-     355,   355,   355,   355,   356,   357,   357,   357,   358,   358,
-     359,   359
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
-static const yytype_uint8 yyr2[] =
-{
-       0,     2,     0,     0,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
-       1,     3,     3,     1,     6,     4,     3,     7,     3,     7,
-       2,     2,     7,     1,     3,     0,     1,     3,     7,     9,
-       1,     3,     1,     3,     7,     3,     7,     1,     2,     2,
-       2,     2,     2,     2,     2,     4,     1,     4,     4,     2,
-       4,     2,     1,     1,     1,     1,     1,     4,     4,     1,
-       3,     3,     3,     1,     3,     3,     1,     3,     3,     1,
-       3,     3,     3,     3,     1,     3,     3,     1,     3,     1,
-       3,     1,     3,     1,     3,     1,     3,     1,     5,     4,
-       5,     1,     1,     3,     3,     2,     0,     1,     4,     5,
-       6,     7,     1,     3,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     3,     0,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     4,     2,     7,     1,
-       3,     1,     2,     1,     2,     1,     2,     2,     5,     7,
-       5,     9,     5,     9,     1,     3,     1,     1,     3,     3,
-       2,     1,     2,     2,     0,     1,     2,     3,     0,     1,
-       2,     3,     3,     4,     0,     1,     1,     2,     5,     7,
-       6,     6,     4,     3,     4,     2,     3,     2,     3,     3,
-       3,     2,     3,     3,     4,     1,     5,     6,     9,    10,
-       2,     1,     2,     2,     2,     1,     6,     8,    10,    12,
-       0,     1,     1,     3,     4,     1,     3,     1,     1,     1,
-       3,     1,     1,     1,     3,     0,     1,     3,     4,     1,
-       3,     1,     1,     3,     3,     3,     3,     3,     2,     3,
-       6,     3,     3,     4,     1,     2,     2,     3,     5,    10,
-      10,     7,     7,     5,     9,     2,     2,     5,     3,     5,
-       4,     3,     4,     4,     7,     3,     3,     3,     3,     4,
-       6,     1,     1,     1,     1,     1,     1,     1,     1,     0,
-       1,     1,     2,     1,     1,     1,     1,     1,     1,     1,
-       0,     5,     1,     2,     3,     1,     2,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
-       2,     3,     3,     1,     3,     1,     2,     2,     2,     4,
-       4,     4,     4,     1,     2,     2,     3,     1,     2,     2,
-       1,     2,     2,     3,     1,     2,     2,     1,     1,     4,
-       2,     5,     7,     5,     2,     2,     1,     2,     2,     3,
-       2,     3,     1,     2,     3,     2,     2,     4,     0,     1,
-       2,     2,     1,     0,     1,     2,     2,     5,     6,     2,
-       2,     4,     0,     2,     0,     1,     1,     1,     5,     5,
-       5,     1,     5,     5,     9,     1,     5,     0,     1,     1,
-       5,     1,     1,     5,     5,     1,     3,     3,     4,     1,
-       1,     1,     1,     2,     1,     3,     3,     1,     2,     1,
-       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     2,     1,     1,     1,     2,     0,     2,     1,
-       4,     1,     2,     3,     4,     2,     2,     1,     2,     2,
-       5,     5,     7,     6,     1,     2,     2,     3,     4,     5,
-       2,     2,     4,     0,     4,     2,     1,     1,     1,     0,
-       2,     5,     5,    13,     1,     1,     3,     3,     2,     3,
-       3,     2,     4,     1,     6,     9,     0,    11,     1,     3,
-       3,     3,     1,     1,     5,     2,     5,     0,     1,     1,
-       3,     0,     1,     1,     1,     1,     0,     6,     2,     1,
-       2,     4,     2,     3,     3,     3,     4,     5,     5,     5,
-       6,     1,     1,     1,     3,     0,     5,     0,     1,     1,
-       2,     6,     1,     3,     0,     1,     4,     1,     1,     1,
-       1,     2,     1,     2,     2,     1,     3,     2,     3,     3,
-       2,     4,     4,     3,     8,     3,     2,     1,     2,     6,
-       8,     3,     2,     3,     3,     4,     4,     3,     1,     1,
-       1,     4,     6,     3,     2,     3,     3,     4,     4,     3,
-       2,     1,     2,     2,     1,     3,     2,     3,     3,     2,
-       4,     4,     3,     6,     8,     3,     2,     1,     2,     2,
-       2,     3,     3,     2,     4,     4,     3,     6,     8,     3,
-       2,     1,     2,     2,     1,     2,     3,     3,     2,     4,
-       6,     8,     1,     2,     2,     1,     2,     2,     3,     3,
-       1,     4,     4,     3,     5,     8,     3,     4,     5,     1,
-       5,     5,     6,     6,     1,     2,     2,     1,     2,     2,
-       3,     3,     1,     4,     4,     3,     5,     8,     3,     1,
-       2,     1,     4,     6,     5,     6,     7,     7,     1,     2,
-       2,     1,     2,     2,     3,     3,     1,     4,     4,     3,
-       8,     3,     1,     1,     2,     1,     1,     2,     3,     2,
-       3,     2,     3,     5,     2,     6,     3,     2,     5,     2,
-       6,     3,     2,     6,     6,     6,     7,     1,     2,     1,
-       1,     1,     2,     3,     2,     3,     2,     3,     5,     6,
-       2,     5,     6,     2,     5,     7,     6,     6,     0,     1,
-       0,     2
-};
-
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
-   Performed when YYTABLE doesn't specify something else to do.  Zero
-   means the default is an error.  */
-static const yytype_uint16 yydefact[] =
-{
-     279,   279,   300,   298,   301,   299,   302,   303,   285,   287,
-     286,     0,   288,   314,   306,   311,   309,   310,   308,   307,
-     312,   313,   315,   316,   317,   527,   527,   527,     0,     0,
-       0,   279,   279,   289,   304,   305,     7,   344,     0,     8,
-      13,    14,     0,     2,   279,   545,     9,   505,   503,   231,
-       3,   437,     3,   244,     0,     3,     3,     3,   232,     3,
-       0,     0,     0,   280,   281,   283,   279,   292,   295,   297,
-     325,   271,   318,   323,   272,   333,   273,   340,   337,   347,
-       0,     0,   348,   274,   454,     3,     3,     0,     2,   499,
-     504,   509,   284,     0,     0,   527,   557,   527,     2,   568,
-     569,   570,   279,     0,   710,   711,     0,    12,   279,     0,
-     255,   256,     0,   280,   275,   276,   277,   278,   506,   290,
-     376,   528,   529,   354,   355,    12,   428,   429,    11,   424,
-     427,     0,   483,   478,   469,   428,   429,     0,     0,   508,
-       0,   280,   279,     0,     0,     0,     0,     0,     0,     0,
-       0,   279,     2,     0,   712,   280,   562,   574,   716,   709,
-     707,   714,     0,     0,   238,     2,     0,   512,   422,   423,
-     421,     0,     0,     0,     0,   527,     0,   584,     0,     0,
-     525,   521,   527,   542,   527,   527,   522,     2,   523,   527,
-     581,   527,   527,     0,     0,     0,   279,   279,   298,   345,
-       0,     2,   279,   245,   282,   293,   326,   338,     0,     2,
-       0,   437,   246,   280,   319,   334,   341,   455,     0,     2,
-       0,   296,   320,   327,   328,     0,   335,   339,   342,   346,
-     279,   279,   350,     0,   379,   456,   460,     0,     0,     0,
-       1,   279,     2,   510,   556,   558,   279,     2,   720,   280,
-     723,   525,   525,   280,     0,     0,     0,   258,   527,   522,
-       2,   279,     0,     0,   279,   530,     2,   481,     2,   534,
-       0,     0,     0,     0,    17,    56,     4,     5,     6,    15,
-       0,     0,     0,   279,     2,     0,   279,    62,    63,    64,
-      65,    19,    18,    20,    23,    47,    66,     0,    69,    73,
-      76,    79,    84,    87,    89,    91,    93,    95,    97,   102,
-     475,   730,   435,   474,     0,   433,   434,     0,   546,   561,
-     564,   567,   573,   576,   579,     2,   279,     0,     3,   409,
-       0,   417,   280,   279,   292,   318,   272,   333,   340,     3,
-       3,   391,   395,   405,   410,   454,   279,   411,   685,   686,
-     279,   412,   414,   279,     2,   563,   575,   708,     2,     2,
-     233,     2,     0,     0,   439,   438,   137,     2,     2,   235,
-       2,     2,   234,     2,   266,     2,   267,     0,   265,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   547,   586,
-       0,   437,     2,   541,   550,   639,   543,   544,   513,   279,
-       2,   580,   589,   582,   583,     0,   261,   279,   279,   324,
-       0,   280,   279,   279,   713,   717,   715,   514,   279,   525,
-     239,   247,   294,     0,     2,   515,   279,   479,   321,   322,
-     268,   336,   343,     0,   279,     2,   368,   279,   356,     0,
-       0,   362,   707,   279,   728,   382,     0,   457,   480,   236,
-     237,   500,   279,   419,     0,   279,   221,     0,     2,   223,
-       0,   280,     0,   241,     2,   242,   263,     0,     0,     2,
-     279,   525,   279,   466,   468,   467,     0,     0,   730,     0,
-     279,     0,   279,   470,   279,   540,   538,   539,   537,     0,
-     532,   535,    66,   101,     0,   279,    54,    50,   279,    59,
-     279,   279,    48,    49,    61,     2,   124,     0,     0,   431,
-       0,   430,   279,    52,    53,    16,     0,    30,    31,    35,
-       2,     0,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,     0,     0,    51,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   105,     2,   625,   436,   622,
-     527,   527,   630,   458,   279,     2,   565,     2,   566,     0,
-     577,   578,   279,     2,   279,     0,   687,   280,   691,   682,
-     683,   689,   279,     0,   614,     2,     2,   647,   527,   730,
-     597,   527,   527,   730,   527,   611,   527,   527,   661,   418,
-     644,   527,   527,   652,   659,   279,   413,   280,     0,     0,
-     279,   697,   280,   702,   730,   694,   279,   699,   730,     0,
-     279,   279,     0,     3,    17,     2,     0,     0,   441,   728,
-       0,     0,   447,   225,     0,   279,     0,     0,     0,   525,
-     549,   553,   555,   585,   588,   592,   595,   548,   587,     0,
-     269,     3,     0,   279,   262,     0,     0,     0,     0,   260,
-       0,     2,     0,     0,   243,   516,   279,     0,     0,     0,
-       0,   279,     0,     0,   671,   366,   369,   373,   527,   373,
-     676,   372,   668,   527,   527,   349,   357,   365,   358,   527,
-     360,   363,   279,   729,     0,     0,   380,   728,   280,     3,
-     398,     3,   402,   401,   571,     0,   511,   279,     3,     3,
-     279,   417,   280,     3,   411,   412,     2,     0,     0,     0,
-     465,   291,   279,   461,   463,     3,     2,     2,     0,   482,
-       3,     0,   534,   126,     0,   210,     0,     0,     2,     0,
-       0,    36,     0,     0,   279,    21,     0,    22,     0,   671,
-     432,     0,   106,     0,     3,     2,    28,     2,     0,    33,
-       0,     2,    26,   103,   104,    70,    71,    72,    74,    75,
-      77,    78,    82,    83,    80,    81,    85,    86,    88,    90,
-      92,    94,    96,     0,     0,   731,   279,     0,     0,     0,
-     626,   627,   623,   624,   477,   476,   279,     0,     0,     0,
-     280,   279,   279,   641,   684,   344,     0,   718,   279,   721,
-     640,     2,   279,     0,     0,     0,     0,     0,     0,     0,
-       0,     3,   648,   600,   615,   649,     2,   596,   603,   415,
-     598,   599,   416,     2,   610,   618,   612,   613,   645,   646,
-     660,   688,   692,   690,   730,   253,     2,   724,     2,   406,
-     696,   701,   407,   279,     3,   385,     3,     3,     3,   437,
-       0,     3,     3,     2,   449,   446,   729,     0,   442,     2,
-     445,   448,     0,   279,   226,   248,     3,   257,   259,     0,
-     437,     2,   551,   552,     2,   590,   591,     0,     3,     0,
-     517,     3,   330,   329,   332,   331,   459,   279,     0,   518,
-       0,   519,   279,   353,   359,   361,     2,     0,     0,     0,
-       0,     0,   375,   672,   673,   370,   374,   371,   669,   670,
-     364,   368,   351,   382,   377,   383,     0,     0,     0,   420,
-     224,     0,     0,     3,     2,   647,   413,     0,   507,     0,
-     730,   469,     0,   279,   279,   279,     0,   531,   533,   127,
-       0,   206,     0,     0,   211,   212,    55,    60,   279,     0,
-      58,    57,     0,     0,   125,   672,     0,    67,    68,   107,
-     112,     3,   108,   106,     0,     0,     3,    25,    35,     3,
-       0,    99,     0,     3,   629,   633,   636,   628,     3,   572,
-     108,     2,   279,     3,     3,   280,     0,     2,     2,   719,
-     722,     0,     3,   602,   606,   609,   617,   651,   655,   658,
-     279,     0,     3,   601,   616,   650,   279,   279,   408,   279,
-     279,   279,     0,     0,     0,     0,   240,   108,     0,   101,
-       0,     3,     3,     0,   443,     0,   440,     0,     0,   229,
-     279,     0,     0,   126,     0,     0,     0,     0,     0,   126,
-       0,     0,     0,     2,     0,     0,     3,   128,   129,     2,
-     139,   130,   131,   132,   133,   134,   135,   141,   143,     0,
-       0,     0,   270,   279,   279,   527,   637,     0,     0,     0,
-     520,   279,   279,   279,   675,   679,   681,   674,   367,   381,
-     378,   559,     2,   643,   642,     0,   648,     2,   462,   464,
-     484,     3,   492,   493,     0,     2,   488,     3,     3,     0,
-       0,   536,     0,     0,   210,     0,     3,    37,   108,   728,
-     106,     0,     3,   640,    42,     3,    40,     3,    34,     0,
-       3,    98,   100,     0,     2,   631,   632,     0,   693,   279,
-     698,   279,     0,     0,     0,     3,   279,   279,   279,   617,
-       0,     2,   604,   605,     2,   619,     2,   653,   654,     0,
-     662,     0,     3,     0,     3,     3,     3,     3,   393,   392,
-     396,     0,   727,     2,     2,   726,   109,     0,     0,     0,
-       0,     3,   444,     3,     0,   227,   142,     3,   280,   279,
-       0,     0,     0,     0,     2,   187,     0,   185,     0,     0,
-       0,     0,     0,     0,   191,     0,   279,   527,   147,   144,
-     279,     0,     0,   252,   264,     3,     3,   526,   638,   593,
-     279,   352,     0,     2,   677,   678,   279,   251,   279,     0,
-     495,   472,   279,     0,     0,   471,   486,     0,   207,     0,
-     213,   106,     0,     0,   113,   110,     0,     0,     0,     0,
-       0,     0,    24,     0,   634,   279,   560,   695,   700,   703,
-     704,   705,     0,     3,     3,   656,   279,   279,   279,     3,
-       3,     0,   664,     0,     0,     0,     0,   725,   279,   279,
-       3,   524,   109,   451,     0,     0,   230,   280,     0,     0,
-       0,     0,   279,   188,   186,     0,   183,   189,     0,     0,
-       0,   192,   195,   193,   190,     0,   126,   140,   138,   228,
-       0,     0,   108,   279,   400,   404,   403,     0,   489,     2,
-     490,     2,   491,   485,   279,   214,     0,     0,     3,   640,
-      32,   111,     2,    45,     2,    43,    41,    29,   109,    27,
-       3,   706,     0,     0,     3,     3,     3,     0,     0,   663,
-     665,   607,   620,   254,     2,   390,     3,   389,     0,   453,
-     450,   126,     0,     0,   126,     3,     0,   126,   184,     0,
-       2,   200,   194,     0,   108,   136,   554,   594,     3,     2,
-       0,     0,     2,   208,   215,     0,     0,     0,     0,     0,
-       0,   250,   249,     0,     0,     0,   666,   667,   279,     0,
-     452,   148,     0,     0,     2,   161,   126,   150,     0,   178,
-       0,   126,     0,     2,   152,     0,     2,     2,     0,   279,
-     494,   496,   487,     0,     0,   111,    38,     3,     3,   635,
-     608,   621,   657,   394,   126,   154,   157,     0,   156,   160,
-       3,   163,   162,     0,   126,   180,   126,     3,     0,   279,
-       0,     2,   680,     2,   209,   216,     0,     0,     0,   149,
-       0,     0,   159,   217,   164,     2,   219,   179,     0,   182,
-     168,   196,     3,   201,   205,     0,   279,     0,    39,    46,
-      44,   155,   158,   126,     0,   165,   279,   126,   126,     0,
-     169,     0,     0,   671,   202,   203,   204,   197,     3,   279,
-     145,   166,   151,   126,   220,   181,   176,   174,   170,   153,
-     126,     0,   672,     0,     0,   146,   167,   177,   171,   175,
-     174,   172,     3,     0,   473,   173,   198,     3,   199
-};
-
-/* YYDEFGOTO[NTERM-NUM].  */
-static const yytype_int16 yydefgoto[] =
-{
-      -1,   812,   456,   291,    45,   129,   130,   292,   293,   294,
-     295,   758,   740,  1125,  1126,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,   309,  1030,
-     506,   970,   311,   971,   533,   949,  1055,  1500,  1057,  1058,
-    1059,  1060,  1501,  1061,  1062,  1436,  1437,  1405,  1406,  1407,
-    1484,  1485,  1489,  1490,  1518,  1519,  1063,  1366,  1064,  1065,
-    1301,  1302,  1303,  1472,  1066,   953,   954,   955,  1385,  1464,
-    1465,   457,   458,   873,   874,  1038,    48,    49,    50,    51,
-      52,   329,   153,    55,    56,    57,    58,    59,   331,    61,
-      62,   253,    64,    65,   264,   333,   334,    68,    69,    70,
-      71,   114,    73,   196,   336,   115,    76,   116,    78,    79,
-      80,   437,   438,   439,   440,   675,   915,   676,    81,    82,
-     444,   696,   854,   855,   339,   340,   699,   700,   701,   341,
-     342,   343,   344,   454,   171,   131,   132,   510,   313,   164,
-     628,   629,   630,   631,   632,    83,   117,   477,   478,   941,
-     479,   267,   483,   314,    85,   133,   134,    86,  1324,  1105,
-    1106,  1107,  1108,    87,    88,   717,    89,   263,    90,    91,
-     180,  1032,   664,   393,   121,    92,   489,   490,   491,   181,
-     258,   183,   184,   185,   259,    95,    96,    97,    98,    99,
-     100,   101,   188,   189,   190,   191,   192,   823,   590,   591,
-     592,   593,   594,   595,   596,   597,   558,   559,   560,   561,
-     680,   102,   599,   600,   601,   602,   603,   604,   914,   682,
-     683,   684,   578,   347,   348,   349,   350,   315,   159,   104,
-     105,   351,   352,   694,   555
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-   STATE-NUM.  */
-#define YYPACT_NINF -1282
-static const yytype_int16 yypact[] =
-{
-    6907,  3842, -1282,     1, -1282, -1282, -1282, -1282, -1282, -1282,
-   -1282,   -10, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,
-   -1282, -1282, -1282, -1282, -1282,   136,   136,   136,  1007,   747,
-     138,  7125,   631, -1282, -1282, -1282, -1282, -1282,   165, -1282,
-   -1282, -1282,   345, -1282,  8928, -1282, -1282, -1282, -1282, -1282,
-   -1282,   159,   189, -1282,   806, -1282, -1282, -1282, -1282,   201,
-     317,   311,    94,  7234, -1282, -1282,  8997,  1005, -1282, -1282,
-   -1282,   897,   331,  6148,   801,  1179,   897,  1220, -1282, -1282,
-     383,   664, -1282,   897,  1643,   235, -1282,   351,   370, -1282,
-   -1282, -1282, -1282,   274,   189,   136, -1282,   136, -1282, -1282,
-   -1282, -1282,  9564,   806, -1282, -1282,   806, -1282,  9623,   255,
-   -1282, -1282,   546,  9682, -1282,   631,   631,   631, -1282, -1282,
-   -1282,   136, -1282, -1282, -1282,   287,   318,   341, -1282, -1282,
-   -1282,   406, -1282, -1282, -1282, -1282, -1282,   415,   439, -1282,
-     447,   631,  8436,  2364,   389,   451,   472,   499,   502,   515,
-     552,  6455, -1282,   581, -1282,  9065, -1282, -1282, -1282, -1282,
-     588, -1282,    55,  4976, -1282,   475,   111, -1282, -1282, -1282,
-   -1282,   611,   144,   234,   273,   136,   575, -1282,   317,  1977,
-     676, -1282,    41, -1282,   136,   136,   189, -1282, -1282,    67,
-   -1282,   136,   136,  2855,   615,   637,   631, 10424, -1282, -1282,
-     641, -1282,  8928, -1282, -1282,   897, -1282, -1282,   189, -1282,
-     806,   159, -1282,  7408, -1282,   631,   631,   631,   189, -1282,
-    1007, -1282,  3141, -1282, -1282,   638,   631, -1282,   631, -1282,
-    8436,  5322,   660,   747,   666,   631, -1282,  1007,   652,   667,
-   -1282,  7125,   719, -1282, -1282, -1282,  8867, -1282, -1282,  4559,
-   -1282,   676,    99,  9682, 10704,   546,  2855, -1282,    98, -1282,
-   -1282,  9623,   806,   682, 11366, -1282, -1282,    63, -1282, 11101,
-    3465,  4662,  3465, 10932, -1282,   694, -1282, -1282, -1282, -1282,
-   10989, 10989,   719,  8118, -1282,  3465,  8542, -1282, -1282, -1282,
-   -1282, -1282, -1282,   723, -1282,   885,  1800,  3465, -1282,   510,
-     450,   590,   569,   640,   705,   735,   743,   780,    45, -1282,
-   -1282,   758,   602, -1282,    26, -1282, -1282,  2364, -1282, -1282,
-     528,   787, -1282,   574,   787, -1282,  8224,   794, -1282, -1282,
-    1199,   870,  7864, 10424,   897, -1282,   897,   631,   631, -1282,
-   -1282, -1282, -1282, -1282, -1282,   631,  9741,   806, -1282, -1282,
-    9800,  1563, -1282,  6455, -1282, -1282, -1282, -1282, -1282, -1282,
-   -1282, -1282,  4863,  3465, -1282, -1282, -1282, -1282, -1282, -1282,
-   -1282, -1282, -1282, -1282, -1282, -1282, -1282,   546, -1282,   892,
-     814,   824,   846,   914,   866,   868,   873,  1977, -1282, -1282,
-     871,   159, -1282, -1282, -1282,   877, -1282, -1282, -1282,  8867,
-   -1282, -1282, -1282, -1282, -1282,  2855, -1282,  8436,  8436, -1282,
-     546, 11394,  8436,  7516, -1282, -1282, -1282, -1282,  8867,    99,
-   -1282, -1282,   897,   189, -1282, -1282,  8867, -1282,  6031, -1282,
-   -1282,   631,   631,   195,  9859, -1282,  1756,  9269, -1282,   301,
-     305,   747, -1282,  5322,   881,   875,   747,   631, -1282, -1282,
-   -1282, -1282, 10160, -1282,   491,  7784, -1282,   189,   898, -1282,
-     546, 11176, 10761, -1282, -1282, -1282, -1282,   938,  2855, -1282,
-    7929,   676,  7016, -1282, -1282, -1282,  1054,   512,   758,   747,
-   11366,   464,  9623, -1282, 11366, -1282, -1282, -1282, -1282,   598,
-   -1282,   933, -1282, -1282,   243,  8118, -1282, -1282,  8118, -1282,
-    8330,  8118, -1282, -1282, -1282, -1282, -1282,   609,   942,   657,
-     947, -1282,  6119, -1282, -1282, -1282,    71, -1282, -1282, 10818,
-   -1282,   182, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,
-   -1282, -1282, 10704, 10704, -1282,  3465,  3465,  3465,  3465,  3465,
-    3465,  3465,  3465,  3465,  3465,  3465,  3465,  3465,  3465,  3465,
-    3465,  3465,  3465,  5365, 10704, -1282,   602,  1011, -1282, -1282,
-     136,   136, -1282, -1282,  8436, -1282, -1282, -1282,   877,   719,
-   -1282,   877,  6119, -1282,  8648,   949, -1282,  9918, -1282, -1282,
-     588, -1282,  9201,   958, -1282,   297, -1282,  2232,   123,   758,
-   -1282,   136,   136,   758,   253, -1282,   136,   136,   877, -1282,
-   -1282,   136,   136, -1282,   787,  9977,   806, 11307,   145,   279,
-    9977, -1282,  5246, -1282,   758, -1282,  9741, -1282,    23,   964,
-    7581,  7581,   806,  5886,   969, -1282,   337,   975, -1282,   943,
-    4976,   555, -1282,  1045,   806,  7581,   719,   546,   719,   676,
-     767,   787, -1282, -1282,   783,   787, -1282, -1282, -1282,  1013,
-   -1282, 10875,   189, 10160, -1282,   633,   987,   644,   988, -1282,
-     645, -1282,   993,   189, -1282, -1282,  8867,   189,   683,   323,
-     328,  6567,  1152,  3465,  2456, -1282, -1282,   983,    24,   983,
-   -1282, -1282, -1282,   136,   136, -1282, -1282,   747, -1282,   136,
-   -1282, -1282,  9328,   747,   995,  3465, -1282,   881, 11307, -1282,
-   -1282,  1009, -1282, -1282, -1282,   719, -1282, 11242,  3465, -1282,
-    7581,   700,  7864, -1282, -1282,   588,  1014,  1020,  1054,  2940,
-   -1282, -1282, 11366, -1282, -1282,  1012, -1282, -1282,  1027, -1282,
-    1012,  1030, 11101, 10704,  1010,  1058,  1034,  1035, -1282,  1032,
-    1040, -1282,  1041,  1043,  6231, -1282, 10704, -1282,   657,  1148,
-   -1282, 10647, 10704,  1044,  1042, -1282, -1282, -1282,   659, -1282,
-   10704, -1282, -1282, -1282, -1282, -1282, -1282, -1282,   510,   510,
-     450,   450,   590,   590,   590,   590,   569,   569,   640,   705,
-     735,   743,   780,  3465,   751, -1282, 10160,  1049,  1052,  1061,
-    1011, -1282, -1282, -1282, -1282, -1282, 10160, 10875,   677,  1060,
-    6679,  8754,  6455, -1282, -1282,  1066,  1067, -1282,  9564, -1282,
-   -1282,   297, 10160,   979,  1070,  1071,  1073,  1076,  1077,  1078,
-    1079,  4326,  2232, -1282, -1282, -1282, -1282, -1282, -1282, -1282,
-   -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,
-     877, -1282, -1282, -1282,   758, -1282, -1282, -1282, -1282, -1282,
-   -1282, -1282, -1282,  9446, -1282, -1282,  1082,  1085, -1282,   159,
-    1065,  1042,  5886, -1282, -1282, -1282,  4863,  1087, -1282, -1282,
-   -1282, -1282,   747,  5718,  1168, -1282, -1282, -1282, -1282,  1074,
-     159, -1282, -1282,   877, -1282, -1282,   877,   101,  3465,  1096,
-   -1282, -1282, -1282, -1282, -1282, -1282, -1282,  6455,   989, -1282,
-     189, -1282,  5322, -1282, -1282, -1282, -1282,  1097,   775,  1104,
-    1105,  1108, -1282,  2456, -1282, -1282, -1282, -1282, -1282, -1282,
-   -1282,  1756, -1282,   875, -1282, -1282,  1106,  1109,  1112, -1282,
-   -1282,  1110,  1120, -1282,   700,  1751, -1282,   355, -1282,  2940,
-     758, -1282,  1125, 11366, 10036,  8436,  1134, -1282, -1282,  1129,
-    1140, -1282,  1111,   394,  1135, -1282,  1138,  1138,  6119, 10704,
-   -1282, -1282,  1138,  1141, -1282,  1148,  4863, -1282, -1282, -1282,
-   -1282,  1142,  2180, 10704,  1161,   719,  5886, -1282, 10818, -1282,
-     719, -1282, 10704, -1282,   786,   787, -1282, -1282, -1282, -1282,
-    5608, -1282,  8224, -1282, -1282,  6791,  1165, -1282, -1282, -1282,
-   -1282,  1150, -1282,   793,   787, -1282,   809,   821,   787, -1282,
-     631,  1167,  4797, -1282, -1282, -1282, 10160, 10160, -1282,  7994,
-    7994,  7581,  1154,  1164,  1171,  1182, -1282, -1282,  1177,   378,
-     242,  1042, -1282,   719, -1282,  4976, -1282, 10704,   333, -1282,
-    6002,  1184,  1185, 10590,  1187,  1188,    28,    84,     8, 10704,
-    1190,   189,  4028, -1282,  1183,  1169, -1282, -1282, -1282,  1189,
-   -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,   747,
-    1195, 10704, -1282, 10160, 10160,   136,   787,  1196,  1200,  1066,
-   -1282,  9387,  6119, 10095,   839,   787, -1282, -1282, -1282, -1282,
-   -1282, -1282, -1282, -1282, -1282,  1201,  1751, -1282, -1282,  1191,
-   -1282,  1012, -1282, -1282,   546,  1202, -1282, -1282, -1282,   717,
-    1204, -1282,  3465,  1192,  1058,  1058,  1203, -1282,  4247,   943,
-   10704,  1210,  1142,   371,   143,  1207, -1282,  1203, -1282,  1218,
-    1207, -1282, -1282,  1206, -1282, -1282,   877,  1221, -1282,  9741,
-   -1282,  6343,  1222,  1223,  1224, -1282,  9505,  7581,  7581, -1282,
-    1238, -1282, -1282,   877, -1282, -1282, -1282, -1282,   877, 10704,
-   -1282, 10704,  3465,  1240, -1282, -1282, -1282, -1282, -1282, -1282,
-   -1282,  1243, -1282, -1282, -1282, -1282, -1282,  3465,  3465,  1242,
-    1248,  1207, -1282, -1282,   747, -1282, -1282, -1282,  7343, 10036,
-   10704, 10704,  1297, 10704, -1282, -1282,  1229, -1282,  1231, 10704,
-    1233,  1234, 10704,   876, -1282,  1235,  6119,   136, -1282, -1282,
-    5718,  1257,   359, -1282, -1282, -1282, -1282, -1282,   877, -1282,
-    9133, -1282,  1265, -1282, -1282,   877, 10396, -1282,  7929,  1245,
-   -1282, -1282, 10036,   425,   426, -1282,  1263,  1269, -1282,   493,
-   -1282, 10704,  1274,  1266, -1282, -1282,  1275,   191,   219,   719,
-    1280,  1282, -1282,  1285, -1282, 10160, -1282, -1282, -1282, -1282,
-   -1282, -1282,  1288, -1282, -1282, -1282, 10160, 10160, 10160, -1282,
-   -1282,  1289, -1282,  1290,  1298,  1302,   542, -1282,  7648,  7756,
-   -1282, -1282,   560, -1282,  1303,  1307, -1282,  8059,   724,   726,
-    1305,   729,  5867, -1282, -1282,   430, -1282, -1282,   731,  1311,
-     189,  1359,  1361, -1282, -1282,  1313, 10590, -1282, -1282, -1282,
-    1318,  1319,  3716, 10160, -1282, -1282, -1282,  1316, -1282, -1282,
-   -1282, -1282, -1282, -1282, 10036, -1282,  1299,  1349,  1142,   321,
-   -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282,  1320, -1282,
-   -1282, -1282,  1325,  1330, -1282, -1282, -1282,  1332,  1335, -1282,
-   -1282, -1282, -1282, -1282, -1282, -1282,  1340, -1282,  1339, -1282,
-   -1282, 10590,    88, 10704, 10590, -1282,  1345, 10704, -1282,   119,
-    1360, -1282, -1282,  1333,  8895, -1282, -1282, -1282, -1282, -1282,
-     806,   546,  1341, -1282, -1282,   741,  1348, 10704,   719,   719,
-    1352, -1282, -1282,  1354,  1355,  1356, -1282, -1282,  7994,  1351,
-   -1282,  1420,  3465,  1357, -1282, -1282, 10510, -1282,   742, -1282,
-    1343, 10590,  1346, -1282, -1282,  1367, -1282,  1374,  1369, 10036,
-   -1282, -1282, -1282,  1350,  1401,  1370, -1282,  1207,  1207, -1282,
-   -1282, -1282, -1282, -1282, 10590,   250, -1282,   848, -1282, -1282,
-    4642, -1282, -1282,  1353, 10704, -1282, 10704,  4642,   189,  9859,
-    1376, -1282, -1282,  1373, -1282, -1282, 10704,  1379,  1380, -1282,
-    3465,  3465, -1282, -1282,   941,   285, -1282, -1282,  1364, -1282,
-     941, -1282, -1282,  1486,   719,   189,  9859,  1389, -1282, -1282,
-   -1282, -1282, -1282, 10510,  1384,   941,  5533, 10704, 10430,  1386,
-     941,  1394,  1486,  2735, -1282, -1282, -1282, -1282, -1282,  8436,
-   -1282, 10275, -1282, 10510, -1282, -1282,  1375, 10194, -1282, -1282,
-   10430,   189,  2735,  1396,   750, -1282, 10275, -1282, -1282, -1282,
-   10194, -1282, -1282,   189, -1282, -1282, -1282, -1282, -1282
-};
-
-/* YYPGOTO[NTERM-NUM].  */
-static const yytype_int16 yypgoto[] =
-{
-   -1282,  3627,  2947, -1282,   196, -1282,    -1,     2,   856, -1282,
-   -1282, -1282,  -501,  -954,  -132,  4826, -1282,   550,   462,   467,
-     565,   480,   962,   971,   961,   967,   974, -1282,   504,  -258,
-    4453,   393,  -677,  -933, -1282,   413,  -701,   218, -1282,   102,
-   -1282,   320,  -898, -1282, -1282,    66, -1282, -1281,  -919,   162,
-   -1282, -1282, -1282, -1282,    13, -1141, -1282, -1282, -1282, -1282,
-   -1282, -1282,   227,    64,    51,   431, -1282,   424, -1282,    97,
-   -1282,  -349, -1282, -1282, -1282,   477,  -807, -1282, -1282,     6,
-    -868,   230,  2325, -1282, -1282, -1282,   -59, -1282,   481,   454,
-     -19,  1139,  3236, -1282, -1282,   158,   220,   716,  -245,  1368,
-   -1282,  1437, -1282, -1282,   109,  1702, -1282,  2029,   506, -1282,
-   -1282,  -372,  -403,  1113,  1114,   639,   879,   266, -1282, -1282,
-    1118,   636,  -572, -1282,  -366,   -43,    83, -1282, -1282,  -918,
-    -966,   649,  1279,   997,   363, -1282,  1310,   185,  -290,  -186,
-    -142,   601,   702, -1282,   952, -1282,  2189,  -442,   847, -1282,
-   -1282,   632, -1282,  -222, -1282,   -94, -1282, -1282, -1282, -1269,
-     342, -1282, -1282, -1282,  1124, -1282,    29, -1282, -1282,  -830,
-     -98, -1233,  -171,  2043, -1282,  2998, -1282,   853, -1282,  -164,
-     122,  -172,  -168,  -167,     4,   -41,   -39,   -37,  1629,    33,
-      68,    81,  -150,  -161,  -159,  -158,  -155,  -301,  -486,  -482,
-    -474,  -542, -1282,  -470, -1282, -1282,  -499,  1022,  1024,  1036,
-    1804,  4208,  -559,  -544,  -538,  -533,  -397, -1282,  -377,  -641,
-    -636,  -635,  -566,  -299,  -293, -1282, -1282,   562,    89,   -80,
-   -1282,    85,   134,  -613,  -380
-};
-
-/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
-   positive, shift that token.  If negative, reduce the rule which
-   number is the opposite.  If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -503
-static const yytype_int16 yytable[] =
-{
-     109,   145,    46,   146,    94,   147,   380,   110,   433,   391,
-     381,   382,   494,   140,   257,   388,   867,   383,   759,   384,
-     385,   365,   250,   386,   486,   420,  1130,   579,   825,   389,
-     589,   909,   950,    46,   686,    94,   910,   911,   725,   842,
-    1122,   818,   730,  1068,    46,   824,    46,   819,   156,   858,
-     652,    47,   820,   613,  1170,  1382,    46,   617,   791,   681,
-     139,    30,    46,   876,   186,    46,  1067,   208,    46,   663,
-     218,   692,   211,   107,   968,   148,   118,   667,    30,  1181,
-     463,   465,    47,   380,   926,   106,   106,   381,   382,   103,
-     103,   119,   388,   107,   383,   406,   384,   385,   723,   814,
-     386,  1168,  1169,   815,    30,    46,   389,   909,    46,    74,
-     149,   816,   910,   911,    46,   817,   106,   656,   658,  1199,
-     103,   194,    93,   150,   464,  1442,   427,   392,   563,   160,
-    1402,  1403,   750,   552,   564,    30,   107,   145,   933,   146,
-      74,   147,   242,   448,   392,    46,   554,   156,   210,   107,
-    1453,   106,  1195,    93,   167,   103,   390,    46,    66,   355,
-      30,  1402,  1403,   359,   144,   195,    93,   553,   400,  1438,
-     392,   714,  1187,    30,   755,   720,   515,   409,   161,   360,
-      46,    46,   182,   156,   481,    93,   482,   459,    93,    66,
-     660,   828,   729,   160,  1404,    46,   243,   835,   262,   469,
-     464,   392,  1442,  1075,    46,   650,   156,  1442,  1197,   829,
-     742,   148,    46,   832,   145,    46,   146,   423,   147,   368,
-      67,  1247,  1442,   647,   826,  1413,   586,   160,  1438,  1442,
-      53,   111,   814,  1186,   849,   369,   815,   648,   852,   138,
-     357,   453,   161,    46,   816,    94,   149,   107,  1248,   845,
-     170,    67,   371,   846,   856,   856,   107,    46,    46,   150,
-     156,    53,  1170,  1015,    46,    93,   142,   818,   372,   856,
-     451,    46,   677,   819,   795,   579,   316,    93,   820,   639,
-    1014,   504,   163,   205,   107,   761,   679,   160,   398,   686,
-      30,   987,    47,   203,  1332,   165,   212,   668,   210,   170,
-     379,   182,   170,   564,   647,  1132,   579,   654,  1328,   175,
-     417,   579,   659,  1170,   193,   160,   442,   900,   648,    46,
-     425,   355,  1334,   851,    93,   814,   106,  -218,  -218,   815,
-     103,  1177,    46,    46,  -275,    93,   416,   816,   357,  1460,
-     459,  1001,   373,   237,   856,   734,   160,  1508,  1201,    46,
-      74,   240,   735,    46,   833,    74,   586,  1178,   374,   459,
-    1168,  1169,    36,    93,   316,  1178,    39,   459,   442,  1521,
-    -498,   160,   714,    40,    41,   242,   825,   467,   254,    46,
-    1068,   375,    36,   847,   177,   508,    39,   848,   -10,    46,
-     818,   355,  -218,    40,    41,   416,   819,   376,   811,    66,
-     586,   820,   107,  1067,   135,   136,   170,    46,   587,   687,
-      36,   580,    46,   689,    39,   912,   828,   606,   178,  -425,
-     161,    40,    41,  -109,  1187,   688,   842,   713,   179,   690,
-    1387,   687,  1170,   422,  1427,  1428,   689,   925,    46,    93,
-     863,  1184,  -426,   421,  -109,   714,    42,   904,   107,  1171,
-     135,   136,   905,   588,   109,   112,   143,  1185,   170,   847,
-     581,    67,    46,  1097,  1018,   170,   251,  1184,   880,   252,
-      46,    53,   355,  -109,    46,  -109,    94,  1128,    46,  -109,
-    1433,    60,  -102,  1309,   230,  1367,  -102,   486,   868,   231,
-     242,   318,   160,   160,  -109,  -109,  1113,   160,   154,   739,
-     380,  1101,   809,  1114,   381,   382,  1243,   266,    74,   182,
-     388,   383,    60,   384,   385,   756,   268,   386,   739,   442,
-     762,  1013,   442,    47,   389,   665,   170,    74,   442,   107,
-    1081,   135,   136,  1319,  1321,    74,  1087,  1015,   746,   878,
-     269,   316,   316,   170,   681,  1483,   316,   170,   270,  1320,
-    1322,  1488,   205,   319,  1368,   715,   248,   106,   678,   706,
-    1098,   103,   154,   538,   539,   726,  1503,   160,   453,   207,
-     727,  1510,  1187,   419,   320,  1263,  1264,   857,   857,  1187,
-     442,    74,   366,   442,    46,   160,   442,    46,  1087,    46,
-    1507,  1365,   857,   704,    93,  1326,   312,   508,   588,   705,
-     508,   321,  1327,   508,   322,  1516,   158,   459,    46,  1155,
-    1157,    36,  1520,   177,   721,    39,   316,   323,  1187,   207,
-     722,   535,    40,    41,    46,   471,   536,   537,   713,   565,
-      66,   392,   488,  1466,   316,   877,    46,   879,  1013,    46,
-    1466,     8,     9,    10,    11,    12,  1353,   255,   930,   160,
-    1354,   410,   542,   543,   324,   856,   414,   256,   869,   580,
-     626,   207,   804,  -450,   870,  -450,  1412,   857,    30,  -450,
-     158,   540,   541,  1026,    46,   569,    46,   392,   686,  1504,
-     736,   205,   354,   737,   312,   436,   743,   544,   545,   358,
-     580,    33,    67,   579,  1072,   580,   507,  1140,   316,   378,
-     731,   713,    53,   556,   929,   392,   732,   813,   581,   588,
-     614,   745,   370,   557,   618,   414,   407,   746,   476,   207,
-      46,    46,    60,  1109,  1034,   546,   547,   460,  1000,   107,
-     801,   135,   136,   390,    46,   892,   891,   509,   408,   843,
-     154,   746,   412,  1468,   581,  1469,   894,   896,   107,   647,
-     135,   136,   746,   564,   890,   207,   715,   677,   748,   207,
-     392,   977,   430,   648,   415,   899,   443,   978,   749,   901,
-     233,   679,   446,   809,   493,    74,   449,   442,   806,   989,
-     576,   856,   856,   221,   107,   705,  1505,   222,   472,   902,
-     226,   450,   228,   441,   908,   500,   678,   936,   515,   235,
-     611,   934,   170,   586,   615,     2,   198,     4,     5,     6,
-       7,   935,   107,    46,   135,   136,    74,   548,   170,  1235,
-     655,   657,   497,   415,    46,   564,  1361,   422,  1362,   715,
-     170,  1364,   746,  1369,   746,   513,   514,   746,   207,   746,
-     813,   588,   714,  1423,  1443,   511,  1258,   534,   158,  1424,
-     746,   909,  1524,  1140,  1237,   549,   910,   911,   564,   746,
-     982,   312,   312,    34,   550,    35,   312,   551,   881,   983,
-     392,    36,  1054,   168,   169,    39,   514,   318,   392,   988,
-     460,   554,    40,    41,   884,   606,   392,  1134,   436,   392,
-     567,   436,   809,  1182,  1151,  1002,   392,   436,   582,   460,
-      46,     2,   198,     4,     5,     6,     7,   460,   507,   112,
-    1154,   507,   586,   514,   507,    46,   640,   207,   205,  1280,
-    1281,   221,  1156,    46,   586,    -3,   641,  1140,   170,   714,
-    1299,  1300,   205,   813,   476,    36,   312,   584,   476,    39,
-    1223,    46,   392,   916,   588,   916,    40,    41,   642,   509,
-    1102,   711,   509,    60,   312,   509,  1461,  1462,   106,    34,
-     801,    35,   103,   516,   517,   518,   784,   207,   644,   844,
-     645,   585,   649,   586,  1124,   646,  1167,   739,   857,  1124,
-     247,   587,    74,  1402,  1403,   859,   519,   442,   520,   693,
-     521,  1159,    46,   242,   318,   392,   441,   875,   695,   441,
-     768,   769,  1080,   809,  -222,   441,  1230,   770,   771,     2,
-     198,     4,     5,     6,     7,   400,   643,   392,   312,  1140,
-     205,     8,     9,    10,    11,    12,   776,   777,   576,   106,
-     160,    66,  1124,   103,   733,   678,   807,   220,   809,   469,
-     318,   392,  1054,   678,   747,  1196,  1198,  1200,    30,   751,
-     221,   866,   226,   803,    36,   801,  1079,   511,    39,   841,
-     511,   588,   810,   511,   576,    40,    41,    34,   853,    35,
-     850,    33,   125,   872,   126,   127,   128,   580,   -12,   316,
-     826,   318,   586,   207,   865,   765,   766,   767,   279,   893,
-     895,  1056,   673,    67,   806,   488,  1495,   898,   713,  1165,
-    1166,   702,   924,    53,   857,   857,    46,   772,   773,   774,
-     775,  -399,   556,   207,   392,  1333,  1335,  1336,   207,    36,
-     722,  -502,   557,    39,   514,   106,   843,   938,   945,   103,
-      40,    41,   947,   952,   951,  1087,   956,   957,   221,    63,
-     113,   959,   960,   961,  1435,   962,   436,   460,   972,    74,
-     973,   984,   711,  1203,   985,   718,  1215,  1216,     8,     9,
-      10,    11,    12,   986,   990,   719,   442,   997,   998,  1027,
-      63,   141,  1003,  1004,  1103,  1005,   476,   493,  1006,  1007,
-    1008,  1009,  -276,   155,  -387,    30,   806,  -386,   460,     8,
-       9,    10,    11,    12,  1036,   211,  1069,  1071,  1189,   493,
-    1076,  1083,  1481,  1435,   207,   213,  1084,  1085,    33,  1054,
-    1086,  1091,  1112,  1090,  1093,   422,    30,    36,   207,   177,
-    1092,    39,    46,  -277,  1094,   711,   715,  1100,    40,    41,
-       8,     9,    10,    11,    12,  1356,  1110,   746,  1102,    33,
-     801,   249,  1111,  1115,   966,  1118,  1124,  1124,  1124,   748,
-    1120,   392,  1149,   672,   441,   392,  1172,    30,   514,   749,
-      67,  1192,   999,   674,    36,  1123,   168,   169,    39,  1146,
-      53,  1160,  1173,   210,   106,    40,    41,  1514,   103,  1174,
-      33,  1176,   317,  1421,  1175,  1190,  1191,   981,  1193,  1194,
-     332,  1202,  1207,  1208,   809,   106,    -3,  1213,  1219,   103,
-     354,   967,   702,  1227,  1220,  1054,   207,   807,  1254,  1231,
-    1236,  1241,   481,   715,  1245,  1249,  1238,   106,   387,    74,
-     380,   103,  1252,  1256,   381,   382,  1259,  1260,  1261,   388,
-    1102,   383,   405,   384,   385,   141,   411,   386,  1340,   137,
-    1265,   155,  1290,   389,  1272,  1277,  1282,  1317,   647,  1344,
-    1345,  1346,  1283,  1293,    60,  1294,   436,  1296,  1297,  1304,
-    1054,   428,   648,  1054,  1308,   431,  1029,   432,    66,  1312,
-    1323,  1325,   210,  1330,   447,  1494,    46,   106,  1329,  1331,
-      63,   103,    46,    46,  1337,   461,  1338,  1124,  1124,  1339,
-     232,   234,  1341,  1349,  1350,   468,  1378,   476,  1104,   312,
-    1351,    74,  1371,   411,  1352,  1054,  1363,  1359,   205,   106,
-    1054,  1360,  1370,   103,  1300,  1373,   806,  1374,   203,   212,
-    1376,  1377,  1379,  1383,  1384,  1102,   807,  1391,  1056,  1387,
-      67,   206,  1392,  1054,  1417,   702,  1396,    72,   514,  1397,
-      53,   224,  -388,  1400,  1138,   702,   841,  1411,  1422,  1415,
-    1189,   145,  1425,   146,  1429,   147,  1430,  1431,  1432,  1354,
-    1434,   702,  1103,  1450,   441,   577,  1439,  1444,    72,  1448,
-    1446,  1452,   607,  1496,  1454,    46,  1455,  1467,  1475,  1456,
-    1477,   206,  1054,  1479,  1480,   612,  1131,  1054,  1487,   612,
-    1499,  1502,   332,  1509,    46,    46,  1511,   156,  1523,  1517,
-    1054,   207,  1054,   214,   106,   887,  1054,   422,   103,  1054,
-     778,   780,    67,  1244,    46,  1054,   355,   421,   781,  1054,
-     779,   460,    53,   206,  1375,   106,   782,  1482,  1372,   103,
-    1307,  1414,   106,  1525,   442,   436,   103,   807,   461,  1240,
-    1498,  1029,   514,   445,  1470,  1239,  1212,   669,   670,    74,
-    1471,    36,   332,   177,  1103,    39,    74,   461,   917,  1089,
-    1088,   442,    40,    41,   697,   461,   798,  1119,  1035,   940,
-     806,   106,   807,  1099,  1318,   103,   170,  1497,   787,  1401,
-     788,   206,  1409,   871,   160,   948,     0,  1492,   335,   392,
-     497,   698,   789,  1257,   411,    74,   716,  1493,  1189,     0,
-    1138,     0,     0,  1288,  1289,  1189,  1291,     0,     0,   712,
-       0,    63,  1295,  1522,   467,  1298,   493,   206,     0,   411,
-       0,   206,   711,   411,  1441,  1527,     0,     0,    36,  1445,
-     168,   169,    39,   316,     0,     0,     0,   487,     0,    40,
-      41,     0,     0,   441,  1189,     0,  -278,     0,     0,  1103,
-       0,   332,  1459,     8,     9,    10,    11,    12,     0,   429,
-      67,     0,     0,     0,   358,   702,   702,    67,     0,     0,
-      53,     0,   627,   157,  1138,     0,     0,    53,    72,     0,
-      30,   493,   493,    72,     0,     0,  1104,     0,     0,   187,
-       0,    60,   209,     0,   207,   219,   790,     0,     0,     0,
-     206,     0,    75,    33,     0,     0,    67,     0,     0,   711,
-       0,   800,   514,   577,     0,     0,    53,     0,     0,  1515,
-       0,   249,   702,   702,     0,  1515,   822,     0,     0,     0,
-       0,   703,     0,    75,  1515,     0,     0,     0,  1515,     0,
-       0,     0,     0,  1420,   577,     0,     0,     0,     0,   577,
-       0,   691,     0,     0,     0,   612,   445,     0,     0,   332,
-     332,     8,     9,    10,    11,    12,  1138,     0,   215,     0,
-     214,     0,   157,   460,   332,     0,  1408,     0,  1104,   206,
-       0,     0,     0,     0,   356,     0,     0,     0,    30,   724,
-     335,   728,   698,   207,     0,     0,   206,     0,     0,     0,
-       0,     0,     0,     0,     0,   461,     0,     0,   157,     0,
-     712,    33,     0,   913,     0,     0,     0,     0,     0,     0,
-       0,    36,     0,   177,     0,    39,     0,     0,   807,   206,
-       0,   157,    40,    41,     0,     0,    72,     0,     0,     0,
-       0,     0,   424,     0,     0,     0,   461,     0,     0,   332,
-     335,     0,   934,   337,   586,    72,     0,   672,   939,   392,
-       0,   411,   935,    72,     0,   673,     0,   674,     0,     0,
-       0,     0,     0,  1104,     0,  1315,     0,     0,     0,     0,
-       0,     0,     0,   712,     0,     0,     0,     0,   965,   335,
-     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
-       0,     0,     0,  1473,   702,     0,   493,   335,     0,    72,
-       0,     0,     0,     0,     0,   702,   702,   702,     0,     0,
-       0,   460,     0,   532,     0,   698,     0,     0,   460,     0,
-    1473,     0,   703,     0,     0,   698,   864,     0,     0,     0,
-     995,   800,     0,    75,     0,   206,   356,   249,    75,   335,
-       0,   698,     0,   312,     0,     0,     0,     0,     0,     0,
-    1012,     0,   702,     0,   493,   493,     0,   460,     0,     0,
-       0,     0,     0,     0,     0,   206,     0,     0,   903,     0,
-     206,     0,     0,     0,     0,     0,   394,     8,     9,    10,
-      11,    12,   249,   402,     0,     0,     0,   920,     0,     0,
-       0,     0,     0,   923,     0,     0,     0,     0,     0,   335,
-       0,  1474,    63,     0,    30,     0,   356,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    77,
-       0,     0,     0,     0,     0,   215,   800,    33,  1474,     0,
-       0,     0,    36,     0,   177,     0,    39,     0,     0,     0,
-       0,     0,     0,    40,    41,   337,     0,   335,   335,     0,
-      77,     0,   394,     0,     0,   703,   206,     0,   120,   123,
-     124,     0,   335,     0,  1096,   703,     0,     0,   178,     0,
-     206,     0,   411,   113,     0,     0,     0,     0,   179,     0,
-     335,   703,     0,     0,     0,   216,     0,   332,     0,     0,
-     487,    75,     0,    72,     0,     0,     0,     0,   335,     0,
-       0,   249,     0,     0,     0,   337,   562,     0,     0,     0,
-      75,     0,     0,     0,   566,     0,     0,   570,    75,   612,
-       0,   577,     0,     0,     0,     0,     0,     0,   244,     0,
-     245,     0,     0,     0,    72,     0,     0,   335,     0,   141,
-       0,     0,     0,     0,   337,   698,   698,     0,   332,   332,
-     332,     0,     0,     0,     0,     0,     0,     0,   206,     0,
-       0,     0,   337,     0,    75,     0,   627,     0,     0,  1188,
-     338,   335,  1039,   394,     0,     0,     0,   402,     0,    84,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,  -279,     0,    25,
-      26,    27,   698,   698,   337,     0,     0,    30,   377,     0,
-      84,   800,   249,   335,     0,     0,     0,   396,   397,     0,
-       0,     0,   401,   335,   403,   404,     0,     0,   214,   335,
-      33,     0,     8,     9,    10,    11,    12,    37,    38,   335,
-       0,  -279,     0,     0,     0,   217,     0,   249,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
-      77,   394,     0,     0,   337,    77,   627,     0,   612,     0,
-     712,  1021,     0,   567,     0,   612,   332,   332,     0,     0,
-       0,   108,    33,     0,     0,   703,   703,    36,     0,   584,
-       0,    39,     0,     0,     0,     0,     0,     0,    40,    41,
-      72,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   337,   337,     0,    54,    54,     0,  1287,     0,
-       0,     0,     0,   585,   335,   586,     0,   337,     0,     0,
-     345,     0,     0,   587,     0,   332,     0,     0,     0,    63,
-       0,     0,   703,   703,     0,   337,    54,     0,     0,   612,
-     562,   562,   216,   206,     0,   698,     0,   712,    75,     0,
-       0,   113,     0,   337,     8,     9,    10,    11,    12,  1039,
-       0,     0,   338,     0,     0,     0,     0,     0,    54,     0,
-       0,    54,     0,     0,   698,   335,     0,     0,     0,     0,
-       0,    30,     0,     0,     0,   698,   698,   698,     0,    75,
-       0,     0,   337,     0,     0,     0,     0,   332,   332,     0,
-       0,     0,     0,     0,    33,     0,     0,     0,    77,    36,
-      84,  1188,     0,    39,     0,    84,     0,     0,     0,     0,
-      40,    41,   338,     0,   882,     0,   337,    77,   885,     0,
-       0,   612,   698,   335,   335,    77,   335,   335,   335,     0,
-       0,     0,     0,   113,     0,    42,     8,     9,    10,    11,
-      12,     0,     0,     0,     0,   143,   330,    72,     0,     0,
-       0,   338,   394,     0,     0,     0,     0,     0,   337,     0,
-       0,     0,     0,    30,  1286,     0,     0,     0,   337,   338,
-       0,    77,     0,   215,   337,  1316,     0,     0,     0,     0,
-     335,   335,     0,   249,   337,     0,    33,     0,     0,   335,
-       0,    36,   217,   177,     0,    39,     0,     0,     0,     0,
-       0,     0,    40,    41,   703,     0,     0,   332,    54,     0,
-       0,   338,   345,     0,     0,   703,   703,   703,     0,     0,
-       0,     0,     0,     0,     0,     0,   206,   672,   113,   392,
-       0,     0,     0,     0,     0,     0,    54,   674,     0,     0,
-       0,     0,     0,     0,     0,    75,     0,     0,   335,  1188,
-       0,     0,     0,     0,   335,   335,  1188,     0,    84,     0,
-       0,     0,   703,     0,   562,     0,     0,     0,     0,   337,
-       0,   338,   345,   792,   793,     0,     0,    84,     0,     0,
-       0,     0,     0,     0,     0,    84,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1188,   214,     0,     0,     0,
-       0,   827,  1512,     0,   830,   831,     0,   834,     0,   836,
-     837,   345,     0,   335,   838,   839,     0,    72,     0,   338,
-     338,     0,     0,     0,     0,   206,     0,     0,     0,   345,
-     337,    84,     0,   335,   338,   335,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   330,     0,
-       0,     0,   338,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   335,     0,     0,    77,     0,     0,     0,     0,
-     338,   345,     0,   335,   335,   335,     0,     0,     0,     0,
-       0,     0,   394,     0,     0,   335,   335,     0,   337,   337,
-       0,   337,   337,   337,     0,     0,   918,   919,     0,    72,
-       0,     0,   921,     0,     0,     0,    77,     0,   330,   338,
-       0,     0,    75,     0,     0,     8,     9,    10,    11,    12,
-     335,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   345,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    30,   338,     0,   337,   337,     0,     0,     0,
-       0,     0,     0,     0,   337,     0,     0,     0,  1135,     0,
-       0,     0,     0,     0,     0,    33,     0,    54,     0,     0,
-      36,     0,   177,     0,    39,     0,     0,  1152,     0,   345,
-     345,    40,    41,     0,     0,   338,     0,     0,     0,     0,
-       0,     0,     0,     0,   345,   338,     0,     0,     0,     0,
-     216,   338,     0,     0,     0,   335,  1492,   330,   392,     0,
-       0,   338,   345,   337,     0,     0,  1493,     0,     0,   337,
-     337,     0,     0,     0,     0,    84,     0,     0,     0,     0,
-     345,     0,     0,     0,     0,     8,     9,    10,    11,    12,
-       0,     0,     0,     0,     0,     0,     0,    72,     0,     0,
-       0,     0,     0,     0,    72,     0,     0,     0,  1224,     0,
-       0,   215,    30,     0,     0,     0,    84,   330,     0,   345,
-       0,     0,    77,     0,     0,     0,     0,     0,   337,     0,
-       0,     0,    75,     0,     0,    33,     0,     0,     0,     0,
-      36,     0,   177,    72,    39,     0,   338,     0,   337,     0,
-     337,    40,    41,   345,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   330,   330,     0,     0,     0,
-       8,     9,    10,    11,    12,     0,   255,   337,     0,     0,
-     330,     0,     0,     0,     0,     0,   256,     0,   337,   337,
-     337,     0,     0,     0,     0,   345,     0,    30,     0,     0,
-     337,   337,     0,     0,     0,   345,     0,   338,     0,     0,
-     217,   345,     0,     0,    75,     0,     0,   162,     0,   166,
-      33,   345,   172,   173,   174,    36,   176,     0,     0,    39,
-       0,     0,     0,     0,     0,   337,    40,    41,     0,     0,
-       0,   225,     0,   122,   122,   122,     0,     0,     0,     0,
-       0,     0,   238,   239,     0,   330,     0,     0,     0,     0,
-       0,   718,     0,     0,     0,   338,   338,     0,   338,   338,
-     338,   719,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    84,     0,     0,     0,     0,     0,     0,    77,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   345,     0,     0,     0,
-       0,     0,     0,   122,     0,   122,     0,     0,   327,     0,
-     337,     0,   338,   338,     0,     0,     0,     0,     0,     0,
-       0,   338,     0,     0,     0,     0,     0,     0,  1217,   265,
-       0,     0,     0,     0,     0,     0,     0,   330,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    75,     0,     0,     0,     0,   345,     0,    75,
-       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,  -279,     0,
-     338,     0,     0,   122,     0,     0,   338,   338,    30,     0,
-     122,     0,   122,   122,     0,     0,     0,   122,    75,   122,
-     122,     0,     0,     0,     0,     0,     0,     0,    54,     0,
-       0,    33,     0,     0,     0,   345,   345,     0,   345,   345,
-     345,     0,  -279,     0,     0,     0,     0,     0,   216,     0,
-       0,     0,   330,     0,     0,     0,     0,     0,     0,    84,
-       0,     0,     0,     0,     0,   338,     0,     0,     0,    77,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1306,     0,     0,     0,     0,   338,   122,   338,     0,     0,
-       0,     0,   345,   345,     0,     0,     0,     0,     0,    54,
-       0,   345,     0,   575,     0,   583,     0,     0,     0,     0,
-       0,     0,     0,   330,   338,     0,   608,   609,     0,     0,
-       0,     0,     0,     0,     0,   338,   338,   338,     0,   204,
-     619,     0,     0,     0,     0,     0,     0,   338,   338,   223,
-       0,   227,     0,   229,     0,     0,     0,     0,     0,     0,
-     236,    77,     0,     0,     0,     0,     0,     0,     0,     0,
-     345,     0,     0,     0,     0,     0,   345,   345,     0,     0,
-       0,     0,   338,     0,   330,   330,   330,     0,     0,   204,
-       0,   227,   229,   236,     0,     0,     0,     0,     0,     0,
-     662,     0,     0,     0,     0,    54,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   204,   217,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   204,     0,     0,     0,   345,     0,     0,     0,    84,
-       0,     0,     0,     0,     0,     0,     0,   330,     0,     0,
-       0,     0,     0,     0,     0,   345,     0,   345,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   338,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   345,     0,     0,     0,     0,   204,
-       0,   227,   229,   236,     0,   345,   345,   345,     0,   753,
-       0,     0,     0,     0,     0,     0,     0,   345,   345,    77,
-       0,     0,   330,   330,     0,     0,    77,     0,     0,     0,
-       0,    84,     0,     0,     0,   204,     0,     0,     0,   204,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   271,   345,   272,     0,   485,     0,     0,     0,     0,
-       0,     0,     0,    54,    54,    77,     0,     0,     0,   799,
-       0,     0,     0,     0,   273,     0,     0,     0,     0,     0,
-     274,   330,     0,     0,   275,    54,     0,   276,   277,   278,
-     279,    40,    41,     0,   280,   281,     0,     0,     0,     0,
-       0,     0,   282,   204,     0,     0,     0,    54,   122,   122,
-       0,     0,     0,     0,     0,     0,   283,     0,   204,     0,
-     860,     0,     0,   227,   229,   285,   363,   287,   288,   289,
-     290,   236,     0,     0,     0,     0,   122,   345,     0,   122,
-     122,     0,   122,     0,   122,   122,     0,     0,   889,   122,
-     122,     0,     0,   330,   330,     0,     0,     0,     0,     0,
-       0,     0,    54,     0,     0,     0,     0,    54,   907,     0,
-       0,     0,     0,   204,     0,     0,     0,     0,     0,    84,
-       0,     0,     0,     0,     0,     0,    84,     0,     0,     0,
-       0,   204,     0,     0,     0,     0,   927,   204,   928,    54,
-       0,     0,     0,     0,     0,   931,   932,     0,     0,     0,
-     937,     0,     0,     0,   204,     0,     0,   204,   204,     0,
-     151,     0,   942,     0,     0,    84,   122,   946,     0,     0,
-       0,   122,   122,   204,     0,     0,     0,   122,     0,     0,
-       0,   963,     0,     0,     0,     0,     0,   204,     0,     0,
-       0,   974,     0,     0,   204,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   241,     0,     0,     0,     0,
-       0,     0,     0,   330,     0,   246,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,  -279,    54,    25,    26,    27,     0,   996,
-       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    54,     0,     0,  1011,     0,
-       0,     0,    54,     0,     0,     0,    33,     0,     0,   353,
-       0,     0,     0,    37,    38,     0,     0,  -279,     0,     0,
-       0,     0,   367,     0,     0,     0,     0,     0,     0,     0,
-       0,  1022,     0,  1023,  1024,  1025,     0,     0,  1028,   860,
-       0,    54,     0,   204,   399,     0,     0,  1021,     0,   567,
-       0,     0,     0,  1070,     0,     0,     0,   610,   413,     0,
-       0,     0,     0,     0,     0,   575,   418,     0,  1077,     0,
-       0,     0,     0,   204,  1078,     0,   426,     0,   204,     0,
-       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,   452,
-       0,    25,    26,    27,   462,     0,     0,     0,     0,    30,
-    1095,     0,     0,     0,     0,     0,     0,   470,     0,     0,
-       0,     0,     0,   480,     0,   484,     0,     0,     0,     0,
-       0,     0,    33,     0,     0,   753,     0,   107,     0,    37,
-      38,   512,     0,     0,     0,     0,     0,     0,  1121,     0,
-       0,     0,     0,   860,     0,     0,  1129,     0,     0,     0,
-    1133,     0,     0,     0,   204,  1137,     0,     0,     0,  1142,
-    1143,  1144,     0,     0,     0,    43,     0,     0,   204,  1150,
-       0,     0,   572,   108,     0,     0,     0,     0,     0,  1163,
-       0,     0,     0,     0,     0,     0,     0,     0,   485,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1179,  1180,
-       0,   620,     0,     0,     0,   621,   622,     0,   623,     0,
-       0,     0,     0,     0,   633,   634,     0,   635,   636,     0,
-     637,     0,   638,  1209,     0,     0,  1211,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   651,
-       0,     0,     0,     0,     0,     0,   204,   653,     0,  1222,
-       0,     0,     0,     0,     0,     0,   204,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1229,     0,
-       0,   666,     0,     0,  1233,  1234,     0,     0,   204,     0,
-       0,     0,   671,  1242,   271,     0,   272,     0,     0,  1246,
-       0,     0,  1250,   122,  1251,     0,     0,  1253,     0,     0,
-       0,     0,     0,     0,     0,   707,     0,   273,   860,     0,
-       0,   710,  1262,   274,     0,     0,   452,   275,     0,     0,
-     276,   277,   278,   279,    40,    41,     0,   280,   281,  1271,
-       0,  1273,  1274,  1275,  1276,   282,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1284,   283,
-    1285,   361,   744,     0,   166,     0,     0,     0,   285,   363,
-     287,   288,   289,   290,     0,     0,     0,   760,     0,   204,
-       0,     0,  1204,  1305,     0,     0,     0,     0,     0,     0,
-       0,     0,  1310,  1311,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   204,     0,     0,     0,     0,
-       0,     0,     0,   786,     0,     0,     0,     0,     0,     0,
-       0,     0,   796,     0,   797,     0,     0,     0,     0,     0,
-     802,   204,     0,     0,     0,   122,     0,     0,     0,     0,
-    1342,  1343,     0,   821,     0,     0,  1347,  1348,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1358,     0,     0,
-       0,   204,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   204,     0,
-       0,     0,   862,     0,     0,     0,     0,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,  -279,  1386,    25,    26,    27,     0,
-       0,     0,     0,     0,    30,     0,     0,  1390,   897,     0,
-       0,  1393,  1394,  1395,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1399,     0,     0,     0,    33,     0,     0,
-       0,     0,  1410,     0,    37,    38,     0,     0,  -279,     0,
-       0,     0,     0,     0,     0,  1418,     0,     0,     0,     0,
-       0,     0,   204,  1010,     0,     0,     8,     9,    10,    11,
-      12,     0,     0,   241,     0,     0,     0,     0,     0,     0,
-     567,     0,     0,   943,   944,     0,     0,     0,   108,   346,
-       0,     0,   271,    30,   272,   958,     0,     0,     0,     0,
-       0,     0,     0,     0,  1457,  1458,     0,     0,     0,     0,
-       0,     0,   975,     0,   976,   273,    33,  1463,   980,     0,
-     395,   274,     0,     0,  1463,   275,     0,   395,   276,   277,
-     278,   279,    40,    41,     0,   280,   281,     0,     0,     0,
-       0,     0,     0,   282,     0,     0,     0,     0,     0,  1491,
-       0,     0,     0,     0,   204,     0,     0,   283,     0,   361,
-       0,     0,     0,     0,     0,     0,   285,   888,   287,   288,
-     289,   290,     0,     0,     0,  1513,     0,     0,     0,     0,
-       0,     0,     0,  1016,     0,     0,     0,     0,     0,     0,
-    1017,     0,     0,     0,     0,     0,   395,     0,     0,  1526,
-       0,     0,     0,  1019,  1528,  1020,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1033,     0,     0,     0,     0,     0,  1037,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,  1073,     0,
-       0,  1074,     0,     0,     0,     0,     0,     0,     0,     0,
-     395,     0,     0,   204,     0,     0,     0,     0,   395,   568,
-       0,   395,   571,  1082,   346,     0,     0,     0,     0,   598,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   616,     0,
-       0,   346,     0,     0,     0,     0,     0,     0,     0,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,     0,   395,    25,    26,
-      27,   395,     0,     0,     0,   310,    30,     0,     0,     0,
-       0,     0,     0,     0,   328,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   364,     0,  1141,    33,
-       0,   346,     0,     0,  1147,  1148,   199,   200,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   395,     1,     2,   198,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,  -279,
-     261,    25,    26,    27,    28,   395,     0,    29,   346,    30,
-    1206,     0,     0,   310,     0,     0,  1210,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   271,     0,
-     272,     0,    33,     0,    34,     0,    35,   466,     0,    37,
-      38,     0,     0,  -279,     0,     0,     0,   395,     0,  1226,
-     346,   273,     0,     0,  1228,     0,     0,   274,     0,     0,
-       0,   275,  1232,     0,   276,   277,   278,   279,    40,    41,
-       0,   280,   281,     0,     0,    43,     0,     0,   204,   282,
-       0,     0,     0,   108,     0,     0,     0,     0,     0,     0,
-       0,  1255,     0,   495,   395,   395,     0,     0,     0,     0,
-       0,     0,   285,   363,   287,   288,   289,   290,  1266,     0,
-     346,  1267,   346,  1268,     0,     0,     0,     0,     0,     0,
-     808,     0,     0,   598,     0,   598,   598,     0,     0,     0,
-    1278,  1279,   598,     0,  1161,     0,   328,     8,     9,    10,
-      11,    12,   840,   346,     0,   364,     0,     0,   346,     0,
-       0,  1292,     0,     0,     0,     0,     0,     0,   346,   346,
-       0,     0,     0,   271,    30,   272,     0,     0,     0,     0,
-       0,     0,     0,   346,     0,     0,     0,     0,   395,   883,
-    1313,     0,   395,   886,     0,     0,   273,    33,     0,     0,
-       0,     0,   274,     0,     0,   310,   275,     0,     0,   276,
-     277,   278,   279,    40,    41,     0,   280,   281,     0,   346,
-     395,     0,   395,     0,   282,     0,   395,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   283,   271,
-     361,   272,     0,     0,     0,     0,     0,   285,  1162,   287,
-     288,   289,   290,     0,     0,   709,     0,     0,   346,   598,
-       0,     0,   273,     0,     0,     0,     0,     0,   624,     0,
-     135,   136,   275,     0,     0,   276,   277,   278,   279,    40,
-      41,     0,   280,   281,     0,     0,  1380,     0,  1381,     0,
-     282,     0,   346,   741,     0,     0,   395,   395,     0,  1388,
-       0,  1389,     0,     0,   283,   754,   625,     0,   626,   362,
-       0,     0,   741,   285,   363,   287,   288,   289,   290,     0,
-       0,  1398,     0,     0,     0,   763,   764,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1416,   395,     0,
-       0,     0,     0,     0,     0,     0,  1419,   785,     0,  1232,
-     346,     0,   271,     0,   272,     0,     0,   794,     0,   598,
-       0,   598,     0,     0,     0,   754,     0,     0,     0,     0,
-     598,  1440,     0,     0,     0,   273,     0,     0,     0,     0,
-    1447,   274,     0,  1449,  1451,   275,     0,     0,   276,   277,
-     278,   279,    40,    41,     0,   280,   281,     0,     0,     0,
-       0,   808,     0,   282,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   861,   283,  1476,   361,
-    1232,     0,   362,   364,     0,     0,   285,   363,   287,   288,
-     289,   290,  1486,     0,     0,     0,   492,   496,   492,   499,
-       0,     0,     0,     0,   328,   346,   502,   503,     0,     0,
-       0,   492,   492,     0,     0,     0,   395,     0,     0,     0,
-       0,   395,     0,   492,   328,     0,     0,     0,     0,   395,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   598,   598,     0,     0,     0,     0,     0,     0,
-       0,     0,   492,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   346,     0,     0,     0,
-       0,     0,     0,   395,     0,     0,     0,     0,     0,     0,
-     808,     0,     0,     0,     0,     0,     0,     0,     0,   492,
-       0,     0,   395,  1136,     0,     0,     0,   754,  1139,   964,
-     346,     0,     0,     0,     0,   969,     0,     0,     0,     0,
-       0,   395,  1153,   979,   598,   598,  1158,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   346,   346,   346,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     328,     0,     0,   993,   994,   328,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,   328,    25,    26,    27,     0,     0,
-       0,     0,     0,    30,  1218,     0,     0,     0,     0,     0,
-     346,   808,   395,  1225,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   598,     0,    33,     0,     0,     0,
-       0,     0,     0,   199,   200,  1031,     0,     0,     0,   364,
-       0,     0,     0,     0,     0,     0,   808,     0,     0,     0,
-       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,   346,
-     328,    25,    26,    27,  1139,   346,   346,   605,     0,    30,
-     434,   492,   492,   492,   492,   492,   492,   492,   492,   492,
-     492,   492,   492,   492,   492,   492,   492,   492,   492,     0,
-       0,     0,    33,     0,     0,     0,     0,     0,     0,    37,
-      38,     0,     0,     0,     0,     0,     0,     0,   310,     0,
-     492,   271,     0,   272,     0,     0,     0,     0,     0,     0,
-       0,  1116,  1117,     0,   346,     0,     0,     0,     0,   364,
-       0,     0,     0,     0,   273,   435,   969,     0,  1139,  1127,
-     274,   741,     0,   108,   275,     0,   346,   276,   277,   278,
-     279,    40,    41,     0,   280,   281,     0,     0,  1145,     0,
-       0,     0,   282,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,  1164,   283,     0,   361,     0,
-       0,     0,     0,     0,   783,   285,   363,   287,   288,   289,
-     290,     0,     0,     0,     0,     0,   346,   346,   364,     0,
-    1183,     0,     0,     0,     0,     0,     0,     0,     0,   492,
-       0,     0,     0,     0,     0,  1205,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    1139,   492,     0,     0,  1214,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   492,   754,     1,     2,   198,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-       0,     0,    25,    26,    27,    28,     0,     0,    29,     0,
-      30,     0,     0,   969,     0,     0,     0,   492,     0,     0,
-       0,     0,   808,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    33,   861,    34,     0,    35,     0,     0,
-      37,    38,     0,     0,     0,     0,   346,     0,     0,   492,
-       0,     0,  1269,     0,  1270,     0,     0,     0,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,  -279,    43,    25,    26,    27,
-       0,     0,     0,     0,   108,    30,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   754,
-       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
-       0,     0,     0,    36,     0,   805,    38,    39,     0,  -279,
-       0,   395,     0,     0,    40,    41,     0,     0,     0,     0,
-       0,     0,     0,     0,   969,     0,     0,     0,     0,     0,
-     395,   395,     0,     0,     0,     0,     0,     0,     0,  1021,
-       0,   567,     0,     0,   492,     0,     0,     0,     0,   610,
-     395,     1,     2,   198,     4,     5,     6,     7,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
-      28,     0,     0,    29,   271,    30,  1040,  1041,     0,  1042,
-       0,     0,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,
-       0,  1051,     0,     0,  1052,    32,     0,   273,    33,     0,
-      34,     0,    35,   624,     0,    37,    38,   275,     0,     0,
-     276,   277,   278,   279,    40,    41,     0,   280,   281,     0,
-       0,     0,     0,     0,     0,   282,     0,     0,   492,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   492,   283,
-       0,  1053,     0,     0,   165,     0,     0,     0,   285,   286,
-     287,   288,   289,   290,     0,     0,     0,     0,     0,     0,
-    1426,     0,  -126,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   492,     0,     0,     0,
-       1,     2,   198,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,     0,     0,    25,    26,    27,    28,
-       0,     0,    29,   271,    30,   272,     0,     0,     0,  1478,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   271,     0,   272,     0,   273,    33,     0,    34,
-       0,    35,   274,     0,    37,    38,   275,     0,   492,   276,
-     277,   278,   279,    40,    41,   273,   280,   281,     0,     0,
-       0,   274,   310,     0,   282,   275,     0,     0,   276,   277,
-     278,   279,    40,    41,     0,   280,   281,     0,   283,     0,
-    1053,     0,     0,   282,     0,     0,     0,   285,   286,   287,
-     288,   289,   290,     0,     0,     0,     0,   283,   492,   361,
-       0,  -126,     0,     0,   752,     0,   285,   363,   287,   288,
-     289,   290,     0,   492,   492,     1,     2,   198,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
-       0,    25,    26,    27,    28,     0,     0,    29,   271,    30,
-     272,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,  -280,     0,
-       0,   273,    33,     0,    34,     0,    35,   274,    30,    37,
-      38,   275,     0,     0,   276,   277,   278,   279,    40,    41,
-       0,   280,   281,     0,     0,     0,     0,     0,     0,   282,
-       0,    33,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  -280,   283,     0,    43,     0,     0,     0,     0,
-       0,     0,   285,   286,   287,   288,   289,   290,     0,     0,
-       0,     0,     0,     2,   198,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
-      27,     0,     0,     0,     0,   271,    30,   272,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,     0,     0,     0,   273,    33,
-       0,    34,     0,    35,   274,    30,    37,    38,   275,     0,
-       0,   276,   277,   278,   279,    40,    41,     0,   280,   281,
-       0,     0,     0,     0,     0,     0,   282,     0,    33,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     283,     0,   325,    -3,     0,     0,     0,   752,   492,   285,
-     326,   287,   288,   289,   290,     2,   198,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
-      25,    26,    27,     0,     0,     0,     0,   271,    30,   272,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   492,   492,     0,     0,
-     273,    33,     0,    34,     0,    35,   274,     0,    37,    38,
-     275,     0,     0,   276,   277,   278,   279,    40,    41,     0,
-     280,   281,     0,     0,     0,     0,     0,     0,   282,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   283,     0,   906,    -3,     0,     0,     0,   752,
-       0,   285,   326,   287,   288,   289,   290,     2,   198,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-       0,     0,    25,    26,    27,     0,     0,     0,     0,   271,
-      30,   272,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   273,    33,     0,    34,     0,    35,   274,     0,
-      37,    38,   275,     0,     0,   276,   277,   278,   279,    40,
-      41,     0,   280,   281,     0,     0,     0,     0,     0,     0,
-     282,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   283,     0,   906,    -3,     0,     0,
-       0,   752,     0,   285,   574,   287,   288,   289,   290,     2,
-     198,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
-       0,   271,    30,   272,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   273,    33,     0,    34,     0,    35,
-     274,     0,    37,    38,   275,     0,     0,   276,   277,   278,
-     279,    40,    41,     0,   280,   281,     0,     0,     0,     0,
-       0,     0,   282,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   283,     0,   325,    -3,
-       0,     0,     0,     0,     0,   285,   326,   287,   288,   289,
-     290,     2,   198,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
-       0,     0,     0,   271,    30,   272,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   273,    33,     0,    34,
-       0,    35,   274,     0,    37,    38,   275,     0,     0,   276,
-     277,   278,   279,    40,    41,     0,   280,   281,     0,     0,
-       0,     0,     0,     0,   282,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   283,     0,
-     906,    -3,     0,     0,     0,     0,     0,   285,   326,   287,
-     288,   289,   290,     2,   198,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
-      27,     0,     0,     0,     0,   271,    30,   272,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   273,    33,
-       0,    34,     0,    35,   274,     0,   199,   200,   275,     0,
-       0,   276,   277,   278,   279,    40,    41,     0,   280,   281,
-       0,     0,     0,     0,     0,     0,   282,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     283,     0,   991,     0,     0,     0,     0,     0,     0,   285,
-     992,   287,   288,   289,   290,     2,   198,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
-      25,    26,    27,     0,     0,     0,     0,   271,    30,   272,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     273,    33,     0,    34,     0,    35,   274,     0,   199,   200,
-     275,     0,     0,   276,   277,   278,   279,    40,    41,     0,
-     280,   281,     0,     0,     0,     0,     0,     0,   282,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   283,     0,   361,     0,     0,     0,     0,     0,
-       0,   285,   363,   287,   288,   289,   290,  -497,     0,     0,
-       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,     0,     0,    25,    26,    27,    28,
-       0,     0,    29,     0,    30,    31,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    32,     0,     0,    33,     0,    34,
-       0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
-       0,     0,     0,    40,    41,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    42,     0,
-      43,     0,     0,     0,     0,     0,     0,     0,    44,     1,
-       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,     0,    25,    26,    27,    28,     0,
-       0,    29,     0,    30,    31,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    32,     0,     0,    33,     0,    34,     0,
-      35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
-       0,     0,    40,    41,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    42,     0,    43,
-       0,     0,     0,  -501,     0,     0,     0,    44,     1,     2,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,     0,     0,    25,    26,    27,    28,     0,     0,
-      29,     0,    30,    31,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    32,     0,     0,    33,     0,    34,     0,    35,
-      36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
-       0,    40,    41,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    42,     0,    43,     0,
-       0,     0,     0,     0,     0,     0,    44,   197,     2,   198,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
-       0,    30,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    33,     0,    34,     0,    35,    36,
-       0,   199,   200,    39,     0,     0,     0,     0,     0,     0,
-      40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    42,     0,   201,     0,     0,
-       0,     0,     0,     0,     0,   202,   197,     2,   198,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
-      30,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    33,     0,    34,     0,    35,     0,     0,
-     199,   200,     2,   198,     4,     5,     6,     7,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
-       0,     0,     0,     0,     0,    30,   201,     0,     0,     0,
-       0,     0,     0,     0,   261,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
-      34,     0,    35,    36,     0,   199,   200,    39,     0,     0,
-       0,     0,     0,     0,    40,    41,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    42,
-       0,   201,     0,     0,     0,     0,     0,     0,     0,   202,
-       2,   198,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
-       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
-      35,     0,     0,    37,    38,     2,   198,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
-      25,    26,    27,     0,     0,     0,     0,     0,    30,   661,
-      -3,     0,     0,     0,     0,     0,     0,   610,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    33,     0,    34,     0,    35,     0,     0,    37,    38,
-       0,     0,     2,   198,     4,     5,     6,     7,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
-       0,     0,     0,  -384,   661,    30,     0,     0,     0,     0,
-       0,     0,   610,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
-      34,     0,    35,     0,     0,    37,    38,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1355,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   661,     0,     0,     0,     0,     0,     0,     0,   610,
-       2,   198,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
-       0,     0,     0,    30,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,     0,     0,    25,    26,    27,    33,     0,    34,     0,
-      35,    30,     0,    37,    38,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    33,  1357,     0,     0,     0,   107,
-       0,    37,    38,     0,     0,     0,     0,     0,     0,   661,
-       0,     0,     0,     0,     0,     0,     0,   610,     2,   198,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
-       0,    30,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
-       0,   199,   200,     2,   198,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
-      27,     0,     0,     0,     0,     0,    30,   260,     0,     0,
-       0,     0,     0,     0,     0,   605,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
-       0,    34,     0,    35,     0,     0,    37,    38,     2,   198,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
-       0,    30,   573,     0,     0,     0,     0,     0,     0,     0,
-     610,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
-       0,    37,    38,     2,   198,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
-      27,     0,     0,     0,     0,     0,    30,   661,     0,     0,
-       0,     0,     0,     0,     0,   610,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
-       0,    34,     0,    35,     0,     0,   199,   200,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
-       0,     0,     0,     0,   271,    30,   272,     0,     0,     0,
-       0,     0,   201,     0,     0,     0,     0,     0,     0,     0,
-     261,     0,     0,     0,     0,     0,     0,   273,    33,     0,
-       0,     0,     0,   274,     0,    37,    38,   275,     0,     0,
-     276,   277,   278,   279,    40,    41,     0,   280,   281,     0,
-       0,     0,     0,     0,     0,   282,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   283,
-       0,   505,     0,     0,   165,     0,     0,     0,   285,   286,
-     287,   288,   289,   290,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
-     271,    30,   272,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   273,    33,     0,     0,     0,     0,   274,
-       0,    37,    38,   275,     0,     0,   276,   277,   278,   279,
-      40,    41,     0,   280,   281,     0,     0,     0,     0,     0,
-       0,   282,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   283,     0,   573,    -3,     0,
-       0,     0,     0,     0,   285,   574,   287,   288,   289,   290,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
-      26,    27,     0,     0,     0,     0,   271,    30,   272,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
-      33,     0,     0,     0,     0,   624,     0,    37,    38,   275,
-       0,     0,   276,   277,   278,   279,    40,    41,     0,   280,
-     281,     0,     0,     0,     0,     0,     0,   282,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   283,   -35,   738,     0,     0,     0,     0,     0,     0,
-     285,   286,   287,   288,   289,   290,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
-       0,     0,   271,    30,   272,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   273,    33,     0,     0,     0,
-       0,   274,     0,    37,    38,   275,     0,     0,   276,   277,
-     278,   279,    40,    41,     0,   280,   281,     0,     0,     0,
-       0,     0,     0,   282,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   283,     0,   284,
-       0,     0,     0,     0,     0,     0,   285,   286,   287,   288,
-     289,   290,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
-       0,    25,    26,    27,     0,     0,     0,     0,   271,    30,
-     272,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   273,    33,     0,     0,     0,     0,   274,     0,    37,
-      38,   275,     0,     0,   276,   277,   278,   279,    40,    41,
-       0,   280,   281,     0,     0,     0,     0,     0,     0,   282,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   283,     0,   152,     0,     0,     0,     0,
-       0,     0,   285,   286,   287,   288,   289,   290,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
-       0,     0,     0,     0,   271,    30,   272,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   273,    33,     0,
-       0,     0,     0,   274,     0,    37,    38,   275,     0,     0,
-     276,   277,   278,   279,    40,    41,     0,   280,   281,     0,
-       0,     0,     0,     0,     0,   282,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   283,
-       0,   573,     0,     0,     0,     0,     0,     0,   285,   574,
-     287,   288,   289,   290,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
-     271,    30,   272,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   273,    33,     0,     0,     0,     0,   274,
-       0,    37,    38,   275,     0,     0,   276,   277,   278,   279,
-      40,    41,     0,   280,   281,     0,     0,     0,     0,     0,
-       0,   282,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   283,     0,   361,     0,     0,
-       0,     0,     0,     0,   285,   363,   287,   288,   289,   290,
-     455,     2,   198,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
-       0,     0,     0,     0,    30,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,  -279,     0,    25,    26,    27,    33,     0,    34,
-       0,    35,    30,     0,    37,    38,     0,     0,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    33,     0,    25,    26,    27,
-      36,     0,   805,    38,    39,    30,  -279,     0,     0,     0,
-       0,    40,    41,    -3,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
-       0,     0,     0,    36,     0,    37,    38,    39,   567,     0,
-       0,     0,     0,     0,    40,    41,   108,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,     0,     0,    25,    26,    27,    42,
-       0,   152,     0,     0,    30,     0,     0,     0,     0,    44,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
-       0,     0,    36,     0,    37,    38,    39,     0,     0,     0,
-       0,     0,     0,    40,    41,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,     0,     0,    25,    26,    27,     0,    42,     0,
-      43,     0,    30,     0,     0,     0,     0,     0,    44,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
-      36,     0,   199,   200,    39,     0,     0,     0,     0,     0,
-       0,    40,    41,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-       0,     0,    25,    26,    27,     0,    42,     0,   260,     0,
-      30,     0,     0,     0,     0,     0,   202,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    33,     0,     0,     0,     0,    36,     0,
-     805,    38,    39,     0,     0,     0,     0,     0,     0,    40,
-      41,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
-      25,    26,    27,     0,  1021,     0,   567,     0,    30,     0,
-       0,     0,     0,     0,   610,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    33,     0,     0,     0,     0,    36,     0,   805,    38,
-      39,     0,     0,     0,     0,     0,     0,    40,    41,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
-      27,     0,     0,     0,   567,     0,    30,   434,     0,     0,
-       0,     0,   108,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
-       0,     0,     0,     0,     0,     0,    37,    38,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
-       0,     0,     0,     0,     0,    30,   434,     0,     0,     0,
-       0,     0,   435,     0,     0,     0,   685,     0,     0,     0,
-     108,     0,     0,     0,     0,     0,     0,     0,    33,     0,
-       0,     0,     0,     0,     0,    37,    38,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
-       0,     0,     0,     0,    30,   434,     0,     0,     0,     0,
-       0,   435,     0,     0,     0,   922,     0,     0,     0,   108,
-       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
-       0,     0,     0,     0,    37,    38,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
-       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
-     435,     0,     0,     0,  1221,     0,     0,     0,   108,     0,
-       0,     0,     0,     0,     0,     0,    33,     0,     0,     0,
-       0,     0,     0,    37,    38,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
-       0,     0,    30,     0,     0,     0,     0,  1021,     0,   567,
-       0,     0,     0,     0,     0,     0,     0,   108,     0,     0,
-       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
-       0,     0,    37,    38,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
-       0,    30,     0,     0,     0,     0,  1021,     0,   567,     0,
-       0,     0,     0,     0,     0,     0,   610,     0,     0,     0,
-       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
-       0,    37,    38,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
-      30,     0,     0,     0,     0,     0,     0,   247,     0,     0,
-       0,     0,     0,     0,     0,   108,     0,     0,     0,     0,
-       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
-      37,    38,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
-       0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
-       0,     0,     0,     0,     0,     0,   152,     0,     0,     0,
-       0,     0,     0,     0,   108,     0,     0,     0,     0,     0,
-       0,     0,    33,     0,     0,     0,     0,     0,     0,   199,
-     200,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
-      25,    26,    27,     0,     0,     0,     0,     0,    30,     0,
-       0,     0,     0,     0,     0,   260,     0,     0,     0,     0,
-       0,     0,     0,   261,     0,     0,     0,     0,     0,     0,
-       0,    33,     0,     0,     0,     0,     0,     0,    37,    38,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
-      26,    27,     0,     0,     0,     0,     0,    30,     0,     0,
-       0,     0,     0,     0,   247,     0,     0,     0,     0,     0,
-       0,     0,   610,     0,     0,     0,     0,     0,     0,     0,
-      33,     0,     0,     0,     0,     0,     0,    37,    38,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
-      27,     0,     0,     0,     0,     0,    30,     0,     0,     0,
-       0,     0,     0,   567,     0,     0,     0,     0,     0,     0,
-       0,   610,     0,     0,     0,     0,     0,     0,     0,    33,
-       0,     0,     0,     0,     0,     0,    37,    38,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
-       0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
-       0,     0,   435,     0,     0,     0,     0,     0,     0,     0,
-     108,     0,     0,     0,     0,     0,     0,     0,    33,     0,
-       0,     0,     0,     0,     0,   199,   200,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
-       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
-       0,   260,     0,     0,     0,     0,     0,     0,     0,   605,
-       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
-       0,     0,     0,     0,    37,    38,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
-       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
-     573,     0,     0,     0,     0,     0,     0,     0,   610,     0,
-       0,     0,     0,     0,     0,     0,    33,     0,     0,     0,
-       0,     0,     0,    37,    38,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
-       0,     0,    30,     0,     0,     0,     0,     0,     0,    43,
-       0,     0,     0,     0,     0,     0,     0,   108,     0,     0,
-       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
-       0,     0,    37,    38,     2,   198,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
-      26,    27,     0,     0,     0,     0,     0,    30,   567,     0,
-       0,     0,     0,     0,     0,     0,   108,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      33,     0,    34,     0,    35,     0,     0,    37,    38,     0,
-     271,     0,   272,  1041,     0,  1042,     0,     0,  1043,  1044,
-    1045,  1046,  1047,  1048,  1049,  1050,  1506,  1051,     0,     0,
-    1052,    32,     0,   273,     0,     0,     0,     0,     0,   624,
-       0,     0,  -397,   275,     0,     0,   276,   277,   278,   279,
-      40,    41,     0,   280,   281,     0,     0,     0,     0,     0,
-       0,   282,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   283,     0,   361,     0,     0,
-     165,     0,     0,     0,   285,   363,   287,   288,   289,   290,
-       0,   271,     0,   272,  1041,     0,  1042,     0,  -126,  1043,
-    1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,  1051,     0,
-       0,  1052,    32,     0,   273,     0,     0,     0,     0,     0,
-     624,     0,     0,     0,   275,     0,     0,   276,   277,   278,
-     279,    40,    41,     0,   280,   281,     0,     0,     0,     0,
-       0,     0,   282,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   283,     0,   361,     0,
-       0,   165,     0,     0,     0,   285,   363,   287,   288,   289,
-     290,     0,     0,     0,     0,     0,     0,     0,     0,  -126,
-       2,   198,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
-       0,     0,     0,    30,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,     0,     0,    25,    26,    27,    33,     0,    34,     0,
-      35,    30,     0,    37,    38,     0,   271,     0,   272,  1041,
-       0,  1042,  1402,  1403,  1043,  1044,  1045,  1046,  1047,  1048,
-    1049,  1050,  1506,  1051,    33,  1314,  1052,    32,     0,   273,
-       0,    37,    38,     0,     0,   624,     0,     0,     0,   275,
-       0,     0,   276,   277,   278,   279,    40,    41,     0,   280,
-     281,     0,     0,     0,     0,     0,     0,   282,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   283,     0,   361,     0,     0,   165,     0,     0,     0,
-     285,   363,   287,   288,   289,   290,   271,     0,   272,  1041,
-       0,  1042,  1402,  1403,  1043,  1044,  1045,  1046,  1047,  1048,
-    1049,  1050,     0,  1051,     0,     0,  1052,    32,     0,   273,
-       0,     0,     0,     0,     0,   624,     0,     0,     0,   275,
-       0,     0,   276,   277,   278,   279,    40,    41,     0,   280,
-     281,     0,     0,     0,     0,     0,     0,   282,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   283,     0,   361,     0,     0,   165,     0,     0,     0,
-     285,   363,   287,   288,   289,   290,   271,     0,   272,  1041,
-       0,  1042,     0,     0,  1043,  1044,  1045,  1046,  1047,  1048,
-    1049,  1050,     0,  1051,     0,     0,  1052,    32,     0,   273,
-       0,     0,     0,     0,     0,   624,     0,     0,     0,   275,
-       0,     0,   276,   277,   278,   279,    40,    41,     0,   280,
-     281,     0,     0,     0,     0,     0,     0,   282,     0,     0,
-       0,     0,     0,   271,     0,   272,     0,     0,     0,     0,
-       0,   283,     0,   361,     0,     0,   165,     0,     0,     0,
-     285,   363,   287,   288,   289,   290,   273,     0,     0,     0,
-       0,     0,   274,     0,     0,     0,   275,     0,     0,   276,
-     277,   278,   279,    40,    41,     0,   280,   281,     0,     0,
-       0,     0,     0,     0,   282,     0,     0,     0,     0,     0,
-     271,     0,   272,     0,     0,     0,     0,     0,   283,     0,
-     361,     0,     0,   966,     0,     0,     0,   285,   363,   287,
-     288,   289,   290,   273,     0,     0,     0,     0,     0,   274,
-       0,     0,     0,   275,     0,     0,   276,   277,   278,   279,
-      40,    41,     0,   280,   281,     0,     0,     0,     0,     0,
-       0,   282,     0,     0,     0,     0,     0,   271,     0,   272,
-       0,     0,     0,     0,     0,   283,     0,   361,     0,     0,
-       0,     0,     0,     0,   285,   363,   287,   288,   289,   290,
-     273,     0,     0,     0,     0,     0,   274,     0,     0,     0,
-     275,     0,     0,   276,   277,   278,   279,    40,    41,     0,
-     280,   281,     0,     0,     0,     0,     0,     0,   282,     0,
-       0,     0,     0,     0,   271,     0,   272,     0,     0,     0,
-       0,     0,   283,     0,   361,     0,     0,     0,     0,     0,
-       0,   285,   708,   287,   288,   289,   290,   273,     0,     0,
-       0,     0,     0,   624,     0,     0,     0,   275,     0,     0,
-     276,   277,   278,   279,    40,    41,     0,   280,   281,     0,
-       0,     0,     0,     0,     0,   282,     0,     0,     0,     0,
-       0,   271,     0,   272,     0,     0,     0,     0,     0,   283,
-       0,   757,     0,     0,     0,     0,     0,     0,   285,   363,
-     287,   288,   289,   290,   273,     0,     0,     0,     0,     0,
-     274,     0,     0,     0,   275,     0,     0,   276,   277,   278,
-     279,    40,    41,     0,   280,   281,     0,     0,     0,     0,
-       0,     0,   282,     0,     0,     0,     0,     0,   271,     0,
-     272,     0,     0,     0,     0,     0,   283,     0,   361,     0,
-       0,     0,     0,     0,     0,   285,   888,   287,   288,   289,
-     290,   273,     0,     0,     0,     0,     0,   274,     0,     0,
-       0,   275,     0,     0,   276,   277,   278,   279,    40,    41,
-       0,   280,   281,     0,     0,     0,     0,     0,     0,   282,
-       0,     0,     0,     0,     0,   271,     0,   272,     0,     0,
-       0,     0,     0,   498,     0,     0,     0,     0,     0,     0,
-       0,     0,   285,   363,   287,   288,   289,   290,   273,     0,
-       0,     0,     0,     0,   274,     0,     0,     0,   275,     0,
-       0,   276,   277,   278,   279,    40,    41,     0,   280,   281,
-       0,     0,     0,     0,     0,     0,   282,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     501,     0,     0,     0,     0,     0,     0,     0,     0,   285,
-     363,   287,   288,   289,   290,     2,   198,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    30,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    33,     0,    34,     0,    35,    36,     0,   168,   169,
-      39,     0,     0,     0,     0,     0,     0,    40,    41,   197,
-       2,   198,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
-       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
-      35,     0,     0,   199,   200,   455,     2,   198,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
-       0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    33,     0,    34,     0,    35,     0,     0,    37,
-      38,     2,   198,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
-       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
-       0,    35,     0,     0,   199,   200,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,     0,     0,    25,    26,    27,   473,   474,
-     475,     0,     0,    30,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,     0,     0,    25,    26,    27,    33,     0,     0,     0,
-       0,    30,     0,    37,    38,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
-       0,   199,   200
-};
-
-#define yypact_value_is_default(yystate) \
-  ((yystate) == (-1282))
-
-#define yytable_value_is_error(yytable_value) \
-  YYID (0)
-
-static const yytype_int16 yycheck[] =
-{
-       1,    42,     0,    42,     0,    42,   178,     1,   230,   180,
-     178,   178,   270,    32,   112,   179,   629,   178,   519,   178,
-     178,   163,   102,   178,   269,   211,   980,   326,   587,   179,
-     331,   672,   733,    31,   437,    31,   672,   672,   480,   605,
-     973,   585,   484,   873,    42,   587,    44,   585,    44,   621,
-     399,     0,   585,   346,  1020,  1324,    54,   350,   557,   436,
-      31,    37,    60,   635,    60,    63,   873,    63,    66,   418,
-      66,   443,    66,    65,   751,    42,    75,   426,    37,  1033,
-     251,   252,    31,   255,   697,     0,     1,   255,   255,     0,
-       1,   101,   256,    65,   255,   193,   255,   255,   478,   585,
-     255,  1019,  1020,   585,    37,   103,   256,   748,   106,     0,
-      42,   585,   748,   748,   112,   585,    31,   407,   408,   111,
-      31,    27,     0,    42,   101,  1406,   220,   103,   102,    44,
-      42,    43,   509,    88,   108,    37,    65,   178,   710,   178,
-      31,   178,   101,   237,   103,   143,   123,   143,    63,    65,
-    1419,    66,   124,    31,    52,    66,    57,   155,     0,   155,
-      37,    42,    43,   108,    42,    71,    44,   122,   101,  1402,
-     103,   470,  1040,    37,   103,   476,    75,   196,    44,   124,
-     178,   179,    60,   179,   121,    63,   123,   246,    66,    31,
-     412,   588,   482,   108,   106,   193,    94,   594,   113,   101,
-     101,   103,  1483,   102,   202,   391,   202,  1488,   124,   589,
-     500,   178,   210,   593,   255,   213,   255,   213,   255,   108,
-       0,    78,  1503,   387,   101,   106,   103,   142,  1461,  1510,
-       0,     1,   718,  1040,   614,   124,   718,   387,   618,   101,
-     155,   242,   108,   241,   718,   241,   178,    65,   105,   104,
-      54,    31,   108,   108,   620,   621,    65,   255,   256,   178,
-     256,    31,  1228,   822,   262,   143,   101,   811,   124,   635,
-     241,   269,   436,   811,   564,   574,   142,   155,   811,   377,
-     822,   282,   123,    63,    65,   103,   436,   202,   186,   692,
-      37,   790,   241,    63,   103,   106,    66,   102,   213,   103,
-     178,   179,   106,   108,   468,   982,   605,   405,  1241,   108,
-     208,   610,   410,  1279,     3,   230,   231,   666,   468,   317,
-     218,   317,   103,   616,   202,   811,   241,    42,    43,   811,
-     241,    89,   330,   331,     3,   213,   202,   811,   253,    89,
-     399,   811,   108,   108,   710,   102,   261,  1488,  1049,   347,
-     241,     0,   109,   351,   101,   246,   103,   115,   124,   418,
-    1278,  1279,    65,   241,   230,   115,    69,   426,   283,  1510,
-       0,   286,   671,    76,    77,   101,   935,   255,   123,   377,
-    1210,   108,    65,   104,    67,   283,    69,   108,   101,   387,
-     934,   387,   107,    76,    77,   261,   934,   124,   101,   241,
-     103,   934,    65,  1210,    67,    68,   210,   405,   111,   108,
-      65,   326,   410,   108,    69,   673,   813,   332,   101,   101,
-     286,    76,    77,   102,  1292,   124,   992,   470,   111,   124,
-     109,   108,  1398,   213,  1388,  1389,   108,   695,   436,   317,
-     103,   108,   101,   213,   123,   744,   101,   124,    65,  1021,
-      67,    68,   124,   331,   455,     1,   111,   124,   262,   104,
-     326,   241,   460,   108,   844,   269,   103,   108,   639,   106,
-     468,   241,   468,   102,   472,   104,   472,   978,   476,   108,
-    1398,     0,   104,   124,   101,  1292,   108,   732,   630,   106,
-     101,   102,   407,   408,   123,   124,   102,   412,    44,   500,
-     672,   943,   582,   109,   672,   672,  1119,   101,   399,   387,
-     674,   672,    31,   672,   672,   516,   101,   672,   519,   434,
-     521,   822,   437,   472,   674,   423,   330,   418,   443,    65,
-     902,    67,    68,   108,   108,   426,   913,  1096,   108,   637,
-     101,   407,   408,   347,   921,  1464,   412,   351,   101,   124,
-     124,  1470,   332,   102,   124,   470,   102,   472,   436,   457,
-     940,   472,   108,   113,   114,   101,  1485,   482,   569,    63,
-     106,  1490,  1440,   210,   102,  1147,  1148,   620,   621,  1447,
-     495,   472,   107,   498,   582,   500,   501,   585,   965,   587,
-    1488,  1292,   635,   102,   472,   102,   142,   495,   476,   108,
-     498,   102,   109,   501,   102,  1503,    44,   666,   606,  1006,
-    1007,    65,  1510,    67,   102,    69,   482,   102,  1486,   113,
-     108,   111,    76,    77,   622,   262,   116,   117,   671,   101,
-     472,   103,   269,  1440,   500,   636,   634,   638,   939,   637,
-    1447,    10,    11,    12,    13,    14,   104,   101,   707,   564,
-     108,   197,    83,    84,   102,  1021,   202,   111,   103,   574,
-     105,   155,   577,   103,   109,   105,  1367,   710,    37,   109,
-     108,    81,    82,   859,   672,   101,   674,   103,  1081,  1486,
-     495,   461,   101,   498,   230,   231,   501,   118,   119,   101,
-     605,    60,   472,   992,   880,   610,   283,   990,   564,   124,
-     102,   744,   472,   101,   705,   103,   108,   585,   574,   587,
-     347,   102,   101,   111,   351,   261,   101,   108,   264,   213,
-     718,   719,   241,   945,   866,    85,    86,   246,   808,    65,
-     572,    67,    68,    57,   732,   102,   653,   283,   101,   605,
-     286,   108,   101,  1444,   610,  1446,   102,   102,    65,   913,
-      67,    68,   108,   108,   652,   249,   671,   921,   101,   253,
-     103,   102,   124,   913,   202,   663,   106,   108,   111,   667,
-     106,   921,   106,   853,   270,   666,   124,   692,   582,   102,
-     326,  1147,  1148,    67,    65,   108,  1487,    71,   106,   106,
-      74,   124,    76,   231,   672,   101,   674,   712,    75,    83,
-     346,   101,   606,   103,   350,     4,     5,     6,     7,     8,
-       9,   111,    65,   811,    67,    68,   707,   112,   622,   102,
-     407,   408,   272,   261,   822,   108,   102,   607,   102,   744,
-     634,   102,   108,   102,   108,   285,   286,   108,   332,   108,
-     718,   719,  1141,   102,   102,   283,  1139,   297,   286,   108,
-     108,  1492,   102,  1146,  1112,   120,  1492,  1492,   108,   108,
-     109,   407,   408,    62,   121,    64,   412,    87,   101,   786,
-     103,    65,   873,    67,    68,    69,   326,   102,   103,   796,
-     399,   123,    76,    77,   101,   800,   103,   101,   434,   103,
-     103,   437,   972,  1035,   101,   812,   103,   443,   104,   418,
-     898,     4,     5,     6,     7,     8,     9,   426,   495,   455,
-     101,   498,   103,   363,   501,   913,   102,   411,   698,  1177,
-    1178,   205,   101,   921,   103,   124,   102,  1220,   732,  1228,
-      54,    55,   712,   811,   480,    65,   482,    67,   484,    69,
-     101,   939,   103,   677,   822,   679,    76,    77,   102,   495,
-     944,   470,   498,   472,   500,   501,   108,   109,   873,    62,
-     802,    64,   873,    78,    79,    80,   553,   461,   102,   606,
-     102,   101,   101,   103,   975,   102,  1019,   978,  1021,   980,
-     103,   111,   873,    42,    43,   622,   101,   902,   103,   108,
-     105,  1010,   990,   101,   102,   103,   434,   634,   123,   437,
-     538,   539,   900,  1083,   106,   443,  1104,   540,   541,     4,
-       5,     6,     7,     8,     9,   101,   102,   103,   564,  1312,
-     800,    10,    11,    12,    13,    14,   546,   547,   574,   944,
-     945,   873,  1033,   944,   101,   913,   582,    32,  1118,   101,
-     102,   103,  1043,   921,   102,  1046,  1047,  1048,    37,   102,
-     334,   108,   336,   104,    65,   897,    67,   495,    69,   605,
-     498,   939,   104,   501,   610,    76,    77,    62,   104,    64,
-     616,    60,    65,    28,    67,    68,    69,   992,   109,   945,
-     101,   102,   103,   577,   109,   535,   536,   537,    75,   102,
-     102,   873,   109,   873,   898,   732,  1473,   104,  1141,  1016,
-    1017,   452,   107,   873,  1147,  1148,  1104,   542,   543,   544,
-     545,   102,   101,   607,   103,  1247,  1248,  1249,   612,    65,
-     108,   107,   111,    69,   574,  1040,   992,   107,   101,  1040,
-      76,    77,   102,    75,   124,  1512,   102,   102,   422,     0,
-       1,   109,   102,   102,  1402,   102,   692,   666,   104,  1040,
-     108,   102,   671,  1051,   102,   101,  1073,  1074,    10,    11,
-      12,    13,    14,   102,   104,   111,  1081,   101,   101,   104,
-      31,    32,   102,   102,   944,   102,   722,   673,   102,   102,
-     102,   102,     3,    44,   102,    37,   990,   102,   707,    10,
-      11,    12,    13,    14,   107,  1189,    28,   123,  1040,   695,
-     104,   104,  1460,  1461,   698,    66,   102,   102,    60,  1210,
-     102,   102,   101,   107,   104,   995,    37,    65,   712,    67,
-     108,    69,  1220,     3,   104,   744,  1141,   102,    76,    77,
-      10,    11,    12,    13,    14,  1278,   102,   108,  1232,    60,
-    1082,   102,   102,   108,   106,   104,  1247,  1248,  1249,   101,
-     108,   103,   102,   101,   692,   103,   102,    37,   708,   111,
-    1040,  1043,   808,   111,    65,   104,    67,    68,    69,   104,
-    1040,   104,   108,  1188,  1189,    76,    77,  1499,  1189,   108,
-      60,   104,   143,  1381,   102,   101,   101,   783,   101,   101,
-     151,   101,   109,   124,  1374,  1210,   107,   102,   102,  1210,
-     101,   751,   653,   102,   104,  1306,   800,   853,   102,   107,
-     106,   108,   121,  1228,   104,   108,   124,  1232,   179,  1210,
-    1492,  1232,   104,   102,  1492,  1492,   104,   104,   104,  1493,
-    1324,  1492,   193,  1492,  1492,   196,   197,  1492,  1255,    29,
-     102,   202,    45,  1493,   104,   102,   104,   102,  1512,  1266,
-    1267,  1268,   104,   124,   873,   124,   902,   124,   124,   124,
-    1361,   222,  1512,  1364,   107,   226,   862,   228,  1210,   104,
-     107,   102,  1287,   107,   235,  1473,  1374,  1292,   104,   104,
-     241,  1292,  1380,  1381,   104,   246,   104,  1388,  1389,   104,
-      80,    81,   104,   104,   104,   256,  1313,   943,   944,   945,
-     102,  1292,  1300,   264,   102,  1406,   101,   104,  1188,  1324,
-    1411,   104,   101,  1324,    55,    54,  1220,   104,  1188,  1189,
-     102,   102,   106,   124,    75,  1419,   972,   102,  1210,   109,
-    1210,    63,   102,  1434,   101,   786,   104,     0,   888,   104,
-    1210,    73,   102,   104,   990,   796,   992,   102,   107,    89,
-    1292,  1492,   104,  1492,   102,  1492,   102,   102,   102,   108,
-      40,   812,  1232,    89,   902,   326,   109,   124,    31,   102,
-     124,   102,   333,  1474,   124,  1473,    75,   124,   102,   109,
-     107,   113,  1483,   104,   104,   346,   982,  1488,   124,   350,
-     101,   107,   353,   107,  1492,  1493,   102,  1493,   102,   124,
-    1501,   995,  1503,    66,  1419,   649,  1507,  1287,  1419,  1510,
-     548,   550,  1292,  1120,  1512,  1516,  1512,  1287,   551,  1520,
-     549,  1040,  1292,   155,  1306,  1440,   552,  1461,  1301,  1440,
-    1210,  1369,  1447,  1520,  1449,  1081,  1447,  1083,   399,  1115,
-    1476,  1037,   992,   233,  1447,  1114,  1069,   434,   434,  1440,
-    1448,    65,   413,    67,  1324,    69,  1447,   418,   679,   923,
-     921,  1476,    76,    77,   446,   426,   569,   966,   866,   722,
-    1374,  1486,  1118,   941,  1232,  1486,  1380,  1475,   556,  1361,
-     556,   213,  1364,   631,  1499,   732,    -1,   101,   151,   103,
-    1040,   452,   556,  1139,   455,  1486,   472,   111,  1440,    -1,
-    1146,    -1,    -1,  1190,  1191,  1447,  1193,    -1,    -1,   470,
-      -1,   472,  1199,  1511,  1492,  1202,  1112,   249,    -1,   480,
-      -1,   253,  1141,   484,  1406,  1523,    -1,    -1,    65,  1411,
-      67,    68,    69,  1499,    -1,    -1,    -1,   269,    -1,    76,
-      77,    -1,    -1,  1081,  1486,    -1,     3,    -1,    -1,  1419,
-      -1,   512,  1434,    10,    11,    12,    13,    14,    -1,   222,
-    1440,    -1,    -1,    -1,   101,  1016,  1017,  1447,    -1,    -1,
-    1440,    -1,   362,    44,  1220,    -1,    -1,  1447,   241,    -1,
-      37,  1177,  1178,   246,    -1,    -1,  1232,    -1,    -1,    60,
-      -1,  1210,    63,    -1,  1188,    66,   557,    -1,    -1,    -1,
-     332,    -1,     0,    60,    -1,    -1,  1486,    -1,    -1,  1228,
-      -1,   572,  1162,   574,    -1,    -1,  1486,    -1,    -1,  1501,
-      -1,   582,  1073,  1074,    -1,  1507,   587,    -1,    -1,    -1,
-      -1,   452,    -1,    31,  1516,    -1,    -1,    -1,  1520,    -1,
-      -1,    -1,    -1,  1380,   605,    -1,    -1,    -1,    -1,   610,
-      -1,   441,    -1,    -1,    -1,   616,   446,    -1,    -1,   620,
-     621,    10,    11,    12,    13,    14,  1312,    -1,    66,    -1,
-     333,    -1,   143,  1292,   635,    -1,  1363,    -1,  1324,   411,
-      -1,    -1,    -1,    -1,   155,    -1,    -1,    -1,    37,   479,
-     353,   481,   653,  1287,    -1,    -1,   428,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   666,    -1,    -1,   179,    -1,
-     671,    60,    -1,   674,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    65,    -1,    67,    -1,    69,    -1,    -1,  1374,   461,
-      -1,   202,    76,    77,    -1,    -1,   399,    -1,    -1,    -1,
-      -1,    -1,   213,    -1,    -1,    -1,   707,    -1,    -1,   710,
-     413,    -1,   101,   151,   103,   418,    -1,   101,   719,   103,
-      -1,   722,   111,   426,    -1,   109,    -1,   111,    -1,    -1,
-      -1,    -1,    -1,  1419,    -1,  1226,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   744,    -1,    -1,    -1,    -1,   749,   452,
-      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
-      -1,    -1,    -1,  1449,  1255,    -1,  1402,   470,    -1,   472,
-      -1,    -1,    -1,    -1,    -1,  1266,  1267,  1268,    -1,    -1,
-      -1,  1440,    -1,   123,    -1,   786,    -1,    -1,  1447,    -1,
-    1476,    -1,   653,    -1,    -1,   796,   626,    -1,    -1,    -1,
-     801,   802,    -1,   241,    -1,   577,   317,   808,   246,   512,
-      -1,   812,    -1,  1499,    -1,    -1,    -1,    -1,    -1,    -1,
-     821,    -1,  1313,    -1,  1460,  1461,    -1,  1486,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   607,    -1,    -1,   668,    -1,
-     612,    -1,    -1,    -1,    -1,    -1,   182,    10,    11,    12,
-      13,    14,   853,   189,    -1,    -1,    -1,   687,    -1,    -1,
-      -1,    -1,    -1,   693,    -1,    -1,    -1,    -1,    -1,   572,
-      -1,  1449,   873,    -1,    37,    -1,   387,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     0,
-      -1,    -1,    -1,    -1,    -1,   333,   897,    60,  1476,    -1,
-      -1,    -1,    65,    -1,    67,    -1,    69,    -1,    -1,    -1,
-      -1,    -1,    -1,    76,    77,   353,    -1,   620,   621,    -1,
-      31,    -1,   258,    -1,    -1,   786,   698,    -1,    25,    26,
-      27,    -1,   635,    -1,   935,   796,    -1,    -1,   101,    -1,
-     712,    -1,   943,   944,    -1,    -1,    -1,    -1,   111,    -1,
-     653,   812,    -1,    -1,    -1,    66,    -1,   958,    -1,    -1,
-     732,   399,    -1,   666,    -1,    -1,    -1,    -1,   671,    -1,
-      -1,   972,    -1,    -1,    -1,   413,   312,    -1,    -1,    -1,
-     418,    -1,    -1,    -1,   320,    -1,    -1,   323,   426,   990,
-      -1,   992,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,
-      97,    -1,    -1,    -1,   707,    -1,    -1,   710,    -1,  1010,
-      -1,    -1,    -1,    -1,   452,  1016,  1017,    -1,  1019,  1020,
-    1021,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   800,    -1,
-      -1,    -1,   470,    -1,   472,    -1,   866,    -1,    -1,  1040,
-     151,   744,   872,   379,    -1,    -1,    -1,   383,    -1,     0,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
-      30,    31,  1073,  1074,   512,    -1,    -1,    37,   175,    -1,
-      31,  1082,  1083,   786,    -1,    -1,    -1,   184,   185,    -1,
-      -1,    -1,   189,   796,   191,   192,    -1,    -1,   801,   802,
-      60,    -1,    10,    11,    12,    13,    14,    67,    68,   812,
-      -1,    71,    -1,    -1,    -1,    66,    -1,  1118,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
-     241,   467,    -1,    -1,   572,   246,   966,    -1,  1139,    -1,
-    1141,   101,    -1,   103,    -1,  1146,  1147,  1148,    -1,    -1,
-      -1,   111,    60,    -1,    -1,  1016,  1017,    65,    -1,    67,
-      -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
-     873,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   620,   621,    -1,     0,     1,    -1,  1189,    -1,
-      -1,    -1,    -1,   101,   897,   103,    -1,   635,    -1,    -1,
-     151,    -1,    -1,   111,    -1,  1206,    -1,    -1,    -1,  1210,
-      -1,    -1,  1073,  1074,    -1,   653,    31,    -1,    -1,  1220,
-     556,   557,   333,   995,    -1,  1226,    -1,  1228,   666,    -1,
-      -1,  1232,    -1,   671,    10,    11,    12,    13,    14,  1069,
-      -1,    -1,   353,    -1,    -1,    -1,    -1,    -1,    63,    -1,
-      -1,    66,    -1,    -1,  1255,   958,    -1,    -1,    -1,    -1,
-      -1,    37,    -1,    -1,    -1,  1266,  1267,  1268,    -1,   707,
-      -1,    -1,   710,    -1,    -1,    -1,    -1,  1278,  1279,    -1,
-      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,   399,    65,
-     241,  1292,    -1,    69,    -1,   246,    -1,    -1,    -1,    -1,
-      76,    77,   413,    -1,   640,    -1,   744,   418,   644,    -1,
-      -1,  1312,  1313,  1016,  1017,   426,  1019,  1020,  1021,    -1,
-      -1,    -1,    -1,  1324,    -1,   101,    10,    11,    12,    13,
-      14,    -1,    -1,    -1,    -1,   111,   151,  1040,    -1,    -1,
-      -1,   452,   678,    -1,    -1,    -1,    -1,    -1,   786,    -1,
-      -1,    -1,    -1,    37,  1184,    -1,    -1,    -1,   796,   470,
-      -1,   472,    -1,   801,   802,  1226,    -1,    -1,    -1,    -1,
-    1073,  1074,    -1,  1374,   812,    -1,    60,    -1,    -1,  1082,
-      -1,    65,   333,    67,    -1,    69,    -1,    -1,    -1,    -1,
-      -1,    -1,    76,    77,  1255,    -1,    -1,  1398,   213,    -1,
-      -1,   512,   353,    -1,    -1,  1266,  1267,  1268,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,  1188,   101,  1419,   103,
-      -1,    -1,    -1,    -1,    -1,    -1,   241,   111,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   873,    -1,    -1,  1141,  1440,
-      -1,    -1,    -1,    -1,  1147,  1148,  1447,    -1,   399,    -1,
-      -1,    -1,  1313,    -1,   790,    -1,    -1,    -1,    -1,   897,
-      -1,   572,   413,   560,   561,    -1,    -1,   418,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   426,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,  1486,  1189,    -1,    -1,    -1,
-      -1,   588,  1493,    -1,   591,   592,    -1,   594,    -1,   596,
-     597,   452,    -1,  1206,   601,   602,    -1,  1210,    -1,   620,
-     621,    -1,    -1,    -1,    -1,  1287,    -1,    -1,    -1,   470,
-     958,   472,    -1,  1226,   635,  1228,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   353,    -1,
-      -1,    -1,   653,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1255,    -1,    -1,   666,    -1,    -1,    -1,    -1,
-     671,   512,    -1,  1266,  1267,  1268,    -1,    -1,    -1,    -1,
-      -1,    -1,   908,    -1,    -1,  1278,  1279,    -1,  1016,  1017,
-      -1,  1019,  1020,  1021,    -1,    -1,   683,   684,    -1,  1292,
-      -1,    -1,   689,    -1,    -1,    -1,   707,    -1,   413,   710,
-      -1,    -1,  1040,    -1,    -1,    10,    11,    12,    13,    14,
-    1313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   572,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    37,   744,    -1,  1073,  1074,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1082,    -1,    -1,    -1,   984,    -1,
-      -1,    -1,    -1,    -1,    -1,    60,    -1,   472,    -1,    -1,
-      65,    -1,    67,    -1,    69,    -1,    -1,  1003,    -1,   620,
-     621,    76,    77,    -1,    -1,   786,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   635,   796,    -1,    -1,    -1,    -1,
-     801,   802,    -1,    -1,    -1,  1398,   101,   512,   103,    -1,
-      -1,   812,   653,  1141,    -1,    -1,   111,    -1,    -1,  1147,
-    1148,    -1,    -1,    -1,    -1,   666,    -1,    -1,    -1,    -1,
-     671,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1440,    -1,    -1,
-      -1,    -1,    -1,    -1,  1447,    -1,    -1,    -1,  1084,    -1,
-      -1,  1189,    37,    -1,    -1,    -1,   707,   572,    -1,   710,
-      -1,    -1,   873,    -1,    -1,    -1,    -1,    -1,  1206,    -1,
-      -1,    -1,  1210,    -1,    -1,    60,    -1,    -1,    -1,    -1,
-      65,    -1,    67,  1486,    69,    -1,   897,    -1,  1226,    -1,
-    1228,    76,    77,   744,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   620,   621,    -1,    -1,    -1,
-      10,    11,    12,    13,    14,    -1,   101,  1255,    -1,    -1,
-     635,    -1,    -1,    -1,    -1,    -1,   111,    -1,  1266,  1267,
-    1268,    -1,    -1,    -1,    -1,   786,    -1,    37,    -1,    -1,
-    1278,  1279,    -1,    -1,    -1,   796,    -1,   958,    -1,    -1,
-     801,   802,    -1,    -1,  1292,    -1,    -1,    50,    -1,    52,
-      60,   812,    55,    56,    57,    65,    59,    -1,    -1,    69,
-      -1,    -1,    -1,    -1,    -1,  1313,    76,    77,    -1,    -1,
-      -1,    74,    -1,    25,    26,    27,    -1,    -1,    -1,    -1,
-      -1,    -1,    85,    86,    -1,   710,    -1,    -1,    -1,    -1,
-      -1,   101,    -1,    -1,    -1,  1016,  1017,    -1,  1019,  1020,
-    1021,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   873,    -1,    -1,    -1,    -1,    -1,    -1,  1040,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   897,    -1,    -1,    -1,
-      -1,    -1,    -1,    95,    -1,    97,    -1,    -1,   151,    -1,
-    1398,    -1,  1073,  1074,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1082,    -1,    -1,    -1,    -1,    -1,    -1,  1075,   121,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   802,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1440,    -1,    -1,    -1,    -1,   958,    -1,  1447,
-      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
-    1141,    -1,    -1,   175,    -1,    -1,  1147,  1148,    37,    -1,
-     182,    -1,   184,   185,    -1,    -1,    -1,   189,  1486,   191,
-     192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   873,    -1,
-      -1,    60,    -1,    -1,    -1,  1016,  1017,    -1,  1019,  1020,
-    1021,    -1,    71,    -1,    -1,    -1,    -1,    -1,  1189,    -1,
-      -1,    -1,   897,    -1,    -1,    -1,    -1,    -1,    -1,  1040,
-      -1,    -1,    -1,    -1,    -1,  1206,    -1,    -1,    -1,  1210,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    1207,    -1,    -1,    -1,    -1,  1226,   258,  1228,    -1,    -1,
-      -1,    -1,  1073,  1074,    -1,    -1,    -1,    -1,    -1,   944,
-      -1,  1082,    -1,   326,    -1,   328,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   958,  1255,    -1,   339,   340,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,  1266,  1267,  1268,    -1,    63,
-     353,    -1,    -1,    -1,    -1,    -1,    -1,  1278,  1279,    73,
-      -1,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,
-      84,  1292,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    1141,    -1,    -1,    -1,    -1,    -1,  1147,  1148,    -1,    -1,
-      -1,    -1,  1313,    -1,  1019,  1020,  1021,    -1,    -1,   113,
-      -1,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
-     413,    -1,    -1,    -1,    -1,  1040,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,  1189,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   155,    -1,    -1,    -1,  1206,    -1,    -1,    -1,  1210,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1082,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,  1226,    -1,  1228,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1398,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1255,    -1,    -1,    -1,    -1,   213,
-      -1,   215,   216,   217,    -1,  1266,  1267,  1268,    -1,   512,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1278,  1279,  1440,
-      -1,    -1,  1147,  1148,    -1,    -1,  1447,    -1,    -1,    -1,
-      -1,  1292,    -1,    -1,    -1,   249,    -1,    -1,    -1,   253,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    36,  1313,    38,    -1,   269,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,  1188,  1189,  1486,    -1,    -1,    -1,   572,
-      -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,
-      65,  1206,    -1,    -1,    69,  1210,    -1,    72,    73,    74,
-      75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
-      -1,    -1,    87,   317,    -1,    -1,    -1,  1232,   560,   561,
-      -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   332,    -1,
-     623,    -1,    -1,   337,   338,   110,   111,   112,   113,   114,
-     115,   345,    -1,    -1,    -1,    -1,   588,  1398,    -1,   591,
-     592,    -1,   594,    -1,   596,   597,    -1,    -1,   651,   601,
-     602,    -1,    -1,  1278,  1279,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1287,    -1,    -1,    -1,    -1,  1292,   671,    -1,
-      -1,    -1,    -1,   387,    -1,    -1,    -1,    -1,    -1,  1440,
-      -1,    -1,    -1,    -1,    -1,    -1,  1447,    -1,    -1,    -1,
-      -1,   405,    -1,    -1,    -1,    -1,   699,   411,   701,  1324,
-      -1,    -1,    -1,    -1,    -1,   708,   709,    -1,    -1,    -1,
-     713,    -1,    -1,    -1,   428,    -1,    -1,   431,   432,    -1,
-      43,    -1,   725,    -1,    -1,  1486,   678,   730,    -1,    -1,
-      -1,   683,   684,   447,    -1,    -1,    -1,   689,    -1,    -1,
-      -1,   744,    -1,    -1,    -1,    -1,    -1,   461,    -1,    -1,
-      -1,   754,    -1,    -1,   468,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,  1398,    -1,    98,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    27,  1419,    29,    30,    31,    -1,   802,
-      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,  1440,    -1,    -1,   821,    -1,
-      -1,    -1,  1447,    -1,    -1,    -1,    60,    -1,    -1,   152,
-      -1,    -1,    -1,    67,    68,    -1,    -1,    71,    -1,    -1,
-      -1,    -1,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   854,    -1,   856,   857,   858,    -1,    -1,   861,   862,
-      -1,  1486,    -1,   577,   187,    -1,    -1,   101,    -1,   103,
-      -1,    -1,    -1,   876,    -1,    -1,    -1,   111,   201,    -1,
-      -1,    -1,    -1,    -1,    -1,   888,   209,    -1,   891,    -1,
-      -1,    -1,    -1,   607,   897,    -1,   219,    -1,   612,    -1,
-      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,   242,
-      -1,    29,    30,    31,   247,    -1,    -1,    -1,    -1,    37,
-     933,    -1,    -1,    -1,    -1,    -1,    -1,   260,    -1,    -1,
-      -1,    -1,    -1,   266,    -1,   268,    -1,    -1,    -1,    -1,
-      -1,    -1,    60,    -1,    -1,   958,    -1,    65,    -1,    67,
-      68,   284,    -1,    -1,    -1,    -1,    -1,    -1,   971,    -1,
-      -1,    -1,    -1,   976,    -1,    -1,   979,    -1,    -1,    -1,
-     983,    -1,    -1,    -1,   698,   988,    -1,    -1,    -1,   992,
-     993,   994,    -1,    -1,    -1,   103,    -1,    -1,   712,  1002,
-      -1,    -1,   325,   111,    -1,    -1,    -1,    -1,    -1,  1012,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   732,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1031,  1032,
-      -1,   354,    -1,    -1,    -1,   358,   359,    -1,   361,    -1,
-      -1,    -1,    -1,    -1,   367,   368,    -1,   370,   371,    -1,
-     373,    -1,   375,  1056,    -1,    -1,  1059,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   392,
-      -1,    -1,    -1,    -1,    -1,    -1,   790,   400,    -1,  1082,
-      -1,    -1,    -1,    -1,    -1,    -1,   800,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1101,    -1,
-      -1,   424,    -1,    -1,  1107,  1108,    -1,    -1,   822,    -1,
-      -1,    -1,   435,  1116,    36,    -1,    38,    -1,    -1,  1122,
-      -1,    -1,  1125,  1075,  1127,    -1,    -1,  1130,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   458,    -1,    59,  1141,    -1,
-      -1,   464,  1145,    65,    -1,    -1,   469,    69,    -1,    -1,
-      72,    73,    74,    75,    76,    77,    -1,    79,    80,  1162,
-      -1,  1164,  1165,  1166,  1167,    87,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1181,   101,
-    1183,   103,   505,    -1,  1187,    -1,    -1,    -1,   110,   111,
-     112,   113,   114,   115,    -1,    -1,    -1,   520,    -1,   913,
-      -1,    -1,   124,  1206,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,  1215,  1216,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   939,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   556,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   565,    -1,   567,    -1,    -1,    -1,    -1,    -1,
-     573,   965,    -1,    -1,    -1,  1207,    -1,    -1,    -1,    -1,
-    1263,  1264,    -1,   586,    -1,    -1,  1269,  1270,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1280,    -1,    -1,
-      -1,   995,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1012,    -1,
-      -1,    -1,   625,    -1,    -1,    -1,    -1,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,  1328,    29,    30,    31,    -1,
-      -1,    -1,    -1,    -1,    37,    -1,    -1,  1340,   661,    -1,
-      -1,  1344,  1345,  1346,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,  1356,    -1,    -1,    -1,    60,    -1,    -1,
-      -1,    -1,  1365,    -1,    67,    68,    -1,    -1,    71,    -1,
-      -1,    -1,    -1,    -1,    -1,  1378,    -1,    -1,    -1,    -1,
-      -1,    -1,  1096,     7,    -1,    -1,    10,    11,    12,    13,
-      14,    -1,    -1,   716,    -1,    -1,    -1,    -1,    -1,    -1,
-     103,    -1,    -1,   726,   727,    -1,    -1,    -1,   111,   151,
-      -1,    -1,    36,    37,    38,   738,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1427,  1428,    -1,    -1,    -1,    -1,
-      -1,    -1,   755,    -1,   757,    59,    60,  1440,   761,    -1,
-     182,    65,    -1,    -1,  1447,    69,    -1,   189,    72,    73,
-      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
-      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,  1472,
-      -1,    -1,    -1,    -1,  1188,    -1,    -1,   101,    -1,   103,
-      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
-     114,   115,    -1,    -1,    -1,  1498,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   826,    -1,    -1,    -1,    -1,    -1,    -1,
-     833,    -1,    -1,    -1,    -1,    -1,   258,    -1,    -1,  1522,
-      -1,    -1,    -1,   846,  1527,   848,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     863,    -1,    -1,    -1,    -1,    -1,   869,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   881,    -1,
-      -1,   884,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     312,    -1,    -1,  1287,    -1,    -1,    -1,    -1,   320,   321,
-      -1,   323,   324,   906,   326,    -1,    -1,    -1,    -1,   331,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   350,    -1,
-      -1,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    -1,   379,    29,    30,
-      31,   383,    -1,    -1,    -1,   142,    37,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   151,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   163,    -1,   991,    60,
-      -1,   413,    -1,    -1,   997,   998,    67,    68,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   436,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
-     111,    29,    30,    31,    32,   467,    -1,    35,   470,    37,
-    1053,    -1,    -1,   230,    -1,    -1,  1059,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,
-      38,    -1,    60,    -1,    62,    -1,    64,   254,    -1,    67,
-      68,    -1,    -1,    71,    -1,    -1,    -1,   509,    -1,  1092,
-     512,    59,    -1,    -1,  1097,    -1,    -1,    65,    -1,    -1,
-      -1,    69,  1105,    -1,    72,    73,    74,    75,    76,    77,
-      -1,    79,    80,    -1,    -1,   103,    -1,    -1,  1512,    87,
-      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,  1134,    -1,   101,   556,   557,    -1,    -1,    -1,    -1,
-      -1,    -1,   110,   111,   112,   113,   114,   115,  1151,    -1,
-     572,  1154,   574,  1156,    -1,    -1,    -1,    -1,    -1,    -1,
-     582,    -1,    -1,   585,    -1,   587,   588,    -1,    -1,    -1,
-    1173,  1174,   594,    -1,     7,    -1,   353,    10,    11,    12,
-      13,    14,   604,   605,    -1,   362,    -1,    -1,   610,    -1,
-      -1,  1194,    -1,    -1,    -1,    -1,    -1,    -1,   620,   621,
-      -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   635,    -1,    -1,    -1,    -1,   640,   641,
-    1223,    -1,   644,   645,    -1,    -1,    59,    60,    -1,    -1,
-      -1,    -1,    65,    -1,    -1,   412,    69,    -1,    -1,    72,
-      73,    74,    75,    76,    77,    -1,    79,    80,    -1,   671,
-     672,    -1,   674,    -1,    87,    -1,   678,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    36,
-     103,    38,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
-     113,   114,   115,    -1,    -1,   462,    -1,    -1,   710,   711,
-      -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,
-      67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
-      77,    -1,    79,    80,    -1,    -1,  1319,    -1,  1321,    -1,
-      87,    -1,   744,   500,    -1,    -1,   748,   749,    -1,  1332,
-      -1,  1334,    -1,    -1,   101,   512,   103,    -1,   105,   106,
-      -1,    -1,   519,   110,   111,   112,   113,   114,   115,    -1,
-      -1,  1354,    -1,    -1,    -1,   532,   533,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1370,   790,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,  1379,   554,    -1,  1382,
-     802,    -1,    36,    -1,    38,    -1,    -1,   564,    -1,   811,
-      -1,   813,    -1,    -1,    -1,   572,    -1,    -1,    -1,    -1,
-     822,  1404,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,
-    1413,    65,    -1,  1416,  1417,    69,    -1,    -1,    72,    73,
-      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
-      -1,   853,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   623,   101,  1451,   103,
-    1453,    -1,   106,   630,    -1,    -1,   110,   111,   112,   113,
-     114,   115,  1465,    -1,    -1,    -1,   270,   271,   272,   273,
-      -1,    -1,    -1,    -1,   651,   897,   280,   281,    -1,    -1,
-      -1,   285,   286,    -1,    -1,    -1,   908,    -1,    -1,    -1,
-      -1,   913,    -1,   297,   671,    -1,    -1,    -1,    -1,   921,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   934,   935,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   326,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   958,    -1,    -1,    -1,
-      -1,    -1,    -1,   965,    -1,    -1,    -1,    -1,    -1,    -1,
-     972,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   363,
-      -1,    -1,   984,   985,    -1,    -1,    -1,   744,   990,   746,
-     992,    -1,    -1,    -1,    -1,   752,    -1,    -1,    -1,    -1,
-      -1,  1003,  1004,   760,  1006,  1007,  1008,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1019,  1020,  1021,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     797,    -1,    -1,   800,   801,   802,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,   821,    29,    30,    31,    -1,    -1,
-      -1,    -1,    -1,    37,  1076,    -1,    -1,    -1,    -1,    -1,
-    1082,  1083,  1084,  1085,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1096,    -1,    60,    -1,    -1,    -1,
-      -1,    -1,    -1,    67,    68,   862,    -1,    -1,    -1,   866,
-      -1,    -1,    -1,    -1,    -1,    -1,  1118,    -1,    -1,    -1,
-      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,  1141,
-     897,    29,    30,    31,  1146,  1147,  1148,   111,    -1,    37,
-      38,   535,   536,   537,   538,   539,   540,   541,   542,   543,
-     544,   545,   546,   547,   548,   549,   550,   551,   552,    -1,
-      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,
-      68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   945,    -1,
-     574,    36,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   958,   959,    -1,  1206,    -1,    -1,    -1,    -1,   966,
-      -1,    -1,    -1,    -1,    59,   103,   973,    -1,  1220,   976,
-      65,   978,    -1,   111,    69,    -1,  1228,    72,    73,    74,
-      75,    76,    77,    -1,    79,    80,    -1,    -1,   995,    -1,
-      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,  1012,   101,    -1,   103,    -1,
-      -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
-     115,    -1,    -1,    -1,    -1,    -1,  1278,  1279,  1035,    -1,
-    1037,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   673,
-      -1,    -1,    -1,    -1,    -1,  1052,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    1312,   695,    -1,    -1,  1071,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   708,  1082,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      -1,    -1,    29,    30,    31,    32,    -1,    -1,    35,    -1,
-      37,    -1,    -1,  1120,    -1,    -1,    -1,   751,    -1,    -1,
-      -1,    -1,  1374,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    60,  1141,    62,    -1,    64,    -1,    -1,
-      67,    68,    -1,    -1,    -1,    -1,  1398,    -1,    -1,   783,
-      -1,    -1,  1159,    -1,  1161,    -1,    -1,    -1,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    27,   103,    29,    30,    31,
-      -1,    -1,    -1,    -1,   111,    37,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1206,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
-      -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,
-      -1,  1473,    -1,    -1,    76,    77,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,  1241,    -1,    -1,    -1,    -1,    -1,
-    1492,  1493,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
-      -1,   103,    -1,    -1,   888,    -1,    -1,    -1,    -1,   111,
-    1512,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
-      32,    -1,    -1,    35,    36,    37,    38,    39,    -1,    41,
-      -1,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
-      -1,    53,    -1,    -1,    56,    57,    -1,    59,    60,    -1,
-      62,    -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,
-      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
-      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,   982,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   992,   101,
-      -1,   103,    -1,    -1,   106,    -1,    -1,    -1,   110,   111,
-     112,   113,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,
-    1387,    -1,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,  1040,    -1,    -1,    -1,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    32,
-      -1,    -1,    35,    36,    37,    38,    -1,    -1,    -1,  1456,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    36,    -1,    38,    -1,    59,    60,    -1,    62,
-      -1,    64,    65,    -1,    67,    68,    69,    -1,  1112,    72,
-      73,    74,    75,    76,    77,    59,    79,    80,    -1,    -1,
-      -1,    65,  1499,    -1,    87,    69,    -1,    -1,    72,    73,
-      74,    75,    76,    77,    -1,    79,    80,    -1,   101,    -1,
-     103,    -1,    -1,    87,    -1,    -1,    -1,   110,   111,   112,
-     113,   114,   115,    -1,    -1,    -1,    -1,   101,  1162,   103,
-      -1,   124,    -1,    -1,   108,    -1,   110,   111,   112,   113,
-     114,   115,    -1,  1177,  1178,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
-      -1,    29,    30,    31,    32,    -1,    -1,    35,    36,    37,
-      38,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
-      -1,    59,    60,    -1,    62,    -1,    64,    65,    37,    67,
-      68,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
-      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
-      -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    71,   101,    -1,   103,    -1,    -1,    -1,    -1,
-      -1,    -1,   110,   111,   112,   113,   114,   115,    -1,    -1,
-      -1,    -1,    -1,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
-      31,    -1,    -1,    -1,    -1,    36,    37,    38,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    -1,    -1,    -1,    59,    60,
-      -1,    62,    -1,    64,    65,    37,    67,    68,    69,    -1,
-      -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
-      -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    60,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     101,    -1,   103,   104,    -1,    -1,    -1,   108,  1402,   110,
-     111,   112,   113,   114,   115,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
-      29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,  1460,  1461,    -1,    -1,
-      59,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
-      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
-      79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   101,    -1,   103,   104,    -1,    -1,    -1,   108,
-      -1,   110,   111,   112,   113,   114,   115,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
-      37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    59,    60,    -1,    62,    -1,    64,    65,    -1,
-      67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
-      77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
-      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   101,    -1,   103,   104,    -1,    -1,
-      -1,   108,    -1,   110,   111,   112,   113,   114,   115,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
-      -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
-      65,    -1,    67,    68,    69,    -1,    -1,    72,    73,    74,
-      75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
-      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,   104,
-      -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
-     115,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
-      -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,
-      -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,    72,
-      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
-      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
-     103,   104,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
-     113,   114,   115,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
-      31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
-      -1,    62,    -1,    64,    65,    -1,    67,    68,    69,    -1,
-      -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
-      -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,
-     111,   112,   113,   114,   115,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
-      29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      59,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
-      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
-      79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
-      -1,   110,   111,   112,   113,   114,   115,     0,    -1,    -1,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    32,
-      -1,    -1,    35,    -1,    37,    38,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,    62,
-      -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,    -1,
-      -1,    -1,    -1,    76,    77,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
-     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,    -1,    29,    30,    31,    32,    -1,
-      -1,    35,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    57,    -1,    -1,    60,    -1,    62,    -1,
-      64,    65,    -1,    67,    68,    69,    -1,    -1,    -1,    -1,
-      -1,    -1,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
-      -1,    -1,    -1,   107,    -1,    -1,    -1,   111,     3,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    -1,    -1,    29,    30,    31,    32,    -1,    -1,
-      35,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    57,    -1,    -1,    60,    -1,    62,    -1,    64,
-      65,    -1,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,
-      -1,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   111,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
-      -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,    65,
-      -1,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,
-      76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   111,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
-      37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,
-      67,    68,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
-      -1,    -1,    -1,    -1,    -1,    37,   103,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
-      62,    -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,
-      -1,    -1,    -1,    -1,    76,    77,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
-      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
-      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,
-      64,    -1,    -1,    67,    68,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
-      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,   103,
-     104,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,
-      -1,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
-      -1,    -1,    -1,   102,   103,    37,    -1,    -1,    -1,    -1,
-      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
-      62,    -1,    64,    -1,    -1,    67,    68,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
-      -1,    -1,    -1,    37,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    -1,    -1,    29,    30,    31,    60,    -1,    62,    -1,
-      64,    37,    -1,    67,    68,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    60,    89,    -1,    -1,    -1,    65,
-      -1,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,   103,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
-      -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,
-      -1,    67,    68,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
-      31,    -1,    -1,    -1,    -1,    -1,    37,   103,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
-      -1,    62,    -1,    64,    -1,    -1,    67,    68,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
-      -1,    37,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,
-      -1,    67,    68,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
-      31,    -1,    -1,    -1,    -1,    -1,    37,   103,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
-      -1,    62,    -1,    64,    -1,    -1,    67,    68,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
-      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
-      -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     111,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
-      -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,
-      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
-      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
-      -1,   103,    -1,    -1,   106,    -1,    -1,    -1,   110,   111,
-     112,   113,   114,   115,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
-      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    -1,    65,
-      -1,    67,    68,    69,    -1,    -1,    72,    73,    74,    75,
-      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
-      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,   104,    -1,
-      -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
-      30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,
-      60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
-      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
-      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
-     110,   111,   112,   113,   114,   115,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
-      -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,
-      -1,    65,    -1,    67,    68,    69,    -1,    -1,    72,    73,
-      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
-      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
-      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
-     114,   115,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
-      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,
-      38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    59,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,
-      68,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
-      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
-      -1,    -1,   110,   111,   112,   113,   114,   115,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
-      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
-      -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,
-      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
-      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
-      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
-     112,   113,   114,   115,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
-      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    -1,    65,
-      -1,    67,    68,    69,    -1,    -1,    72,    73,    74,    75,
-      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
-      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
-      -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
-      -1,    -1,    -1,    -1,    37,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    -1,    29,    30,    31,    60,    -1,    62,
-      -1,    64,    37,    -1,    67,    68,    -1,    -1,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    60,    -1,    29,    30,    31,
-      65,    -1,    67,    68,    69,    37,    71,    -1,    -1,    -1,
-      -1,    76,    77,   106,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
-      -1,    -1,    -1,    65,    -1,    67,    68,    69,   103,    -1,
-      -1,    -1,    -1,    -1,    76,    77,   111,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    -1,    -1,    29,    30,    31,   101,
-      -1,   103,    -1,    -1,    37,    -1,    -1,    -1,    -1,   111,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
-      -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,    -1,
-      -1,    -1,    -1,    76,    77,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    -1,    -1,    29,    30,    31,    -1,   101,    -1,
-     103,    -1,    37,    -1,    -1,    -1,    -1,    -1,   111,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
-      65,    -1,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,
-      -1,    76,    77,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      -1,    -1,    29,    30,    31,    -1,   101,    -1,   103,    -1,
-      37,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    65,    -1,
-      67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
-      77,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
-      29,    30,    31,    -1,   101,    -1,   103,    -1,    37,    -1,
-      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,
-      69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
-      31,    -1,    -1,    -1,   103,    -1,    37,    38,    -1,    -1,
-      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
-      -1,    -1,    -1,    -1,    -1,    -1,    67,    68,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
-      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    -1,    -1,
-      -1,    -1,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
-     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
-      -1,    -1,    -1,    -1,    -1,    67,    68,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
-      -1,    -1,    -1,    -1,    37,    38,    -1,    -1,    -1,    -1,
-      -1,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
-      -1,    -1,    -1,    -1,    67,    68,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
-      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
-     103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
-      -1,    -1,    -1,    67,    68,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
-      -1,    -1,    37,    -1,    -1,    -1,    -1,   101,    -1,   103,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
-      -1,    -1,    67,    68,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
-      -1,    37,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
-      -1,    67,    68,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
-      37,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
-      67,    68,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
-      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
-      -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,
-      68,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
-      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,
-      -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
-      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,
-      -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
-      31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,
-      -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
-      -1,    -1,    -1,    -1,    -1,    -1,    67,    68,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
-      -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
-      -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
-      -1,    -1,    -1,    -1,    -1,    67,    68,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
-      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
-      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
-      -1,    -1,    -1,    -1,    67,    68,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
-      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
-     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
-      -1,    -1,    -1,    67,    68,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
-      -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,   103,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
-      -1,    -1,    67,    68,     4,     5,     6,     7,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
-      30,    31,    -1,    -1,    -1,    -1,    -1,    37,   103,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,
-      36,    -1,    38,    39,    -1,    41,    -1,    -1,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
-      56,    57,    -1,    59,    -1,    -1,    -1,    -1,    -1,    65,
-      -1,    -1,   102,    69,    -1,    -1,    72,    73,    74,    75,
-      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
-      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
-     106,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
-      -1,    36,    -1,    38,    39,    -1,    41,    -1,   124,    44,
-      45,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
-      -1,    56,    57,    -1,    59,    -1,    -1,    -1,    -1,    -1,
-      65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,
-      75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
-      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
-      -1,   106,    -1,    -1,    -1,   110,   111,   112,   113,   114,
-     115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   124,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
-      -1,    -1,    -1,    37,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    -1,    -1,    29,    30,    31,    60,    -1,    62,    -1,
-      64,    37,    -1,    67,    68,    -1,    36,    -1,    38,    39,
-      -1,    41,    42,    43,    44,    45,    46,    47,    48,    49,
-      50,    51,    52,    53,    60,    89,    56,    57,    -1,    59,
-      -1,    67,    68,    -1,    -1,    65,    -1,    -1,    -1,    69,
-      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
-      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,    -1,
-     110,   111,   112,   113,   114,   115,    36,    -1,    38,    39,
-      -1,    41,    42,    43,    44,    45,    46,    47,    48,    49,
-      50,    51,    -1,    53,    -1,    -1,    56,    57,    -1,    59,
-      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
-      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
-      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,    -1,
-     110,   111,   112,   113,   114,   115,    36,    -1,    38,    39,
-      -1,    41,    -1,    -1,    44,    45,    46,    47,    48,    49,
-      50,    51,    -1,    53,    -1,    -1,    56,    57,    -1,    59,
-      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
-      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
-      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
-      -1,    -1,    -1,    36,    -1,    38,    -1,    -1,    -1,    -1,
-      -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,    -1,
-     110,   111,   112,   113,   114,   115,    59,    -1,    -1,    -1,
-      -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
-      73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
-      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
-      36,    -1,    38,    -1,    -1,    -1,    -1,    -1,   101,    -1,
-     103,    -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,
-     113,   114,   115,    59,    -1,    -1,    -1,    -1,    -1,    65,
-      -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,
-      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
-      -1,    87,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,
-      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
-      -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
-      59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
-      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
-      79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
-      -1,    -1,    -1,    -1,    36,    -1,    38,    -1,    -1,    -1,
-      -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
-      -1,   110,   111,   112,   113,   114,   115,    59,    -1,    -1,
-      -1,    -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,
-      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
-      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
-      -1,    36,    -1,    38,    -1,    -1,    -1,    -1,    -1,   101,
-      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
-     112,   113,   114,   115,    59,    -1,    -1,    -1,    -1,    -1,
-      65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,
-      75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
-      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    36,    -1,
-      38,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
-      -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
-     115,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
-      -1,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
-      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
-      -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,    -1,
-      -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   110,   111,   112,   113,   114,   115,    59,    -1,
-      -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,    -1,
-      -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
-      -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
-     111,   112,   113,   114,   115,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
-      69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
-      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,
-      64,    -1,    -1,    67,    68,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
-      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
-      68,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
-      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
-      -1,    64,    -1,    -1,    67,    68,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    -1,    -1,    29,    30,    31,    32,    33,
-      34,    -1,    -1,    37,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    -1,    -1,    29,    30,    31,    60,    -1,    -1,    -1,
-      -1,    37,    -1,    67,    68,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
-      -1,    67,    68
-};
-
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-   symbol of state STATE-NUM.  */
-static const yytype_uint16 yystos[] =
-{
-       0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    29,    30,    31,    32,    35,
-      37,    38,    57,    60,    62,    64,    65,    67,    68,    69,
-      76,    77,   101,   103,   111,   129,   132,   189,   201,   202,
-     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
-     213,   214,   215,   216,   217,   218,   220,   221,   222,   223,
-     224,   225,   226,   227,   229,   230,   231,   232,   233,   234,
-     235,   243,   244,   270,   271,   279,   282,   288,   289,   291,
-     293,   294,   300,   305,   309,   310,   311,   312,   313,   314,
-     315,   316,   336,   353,   354,   355,   356,    65,   111,   131,
-     204,   206,   214,   216,   226,   230,   232,   271,    75,   101,
-     298,   299,   300,   298,   298,    65,    67,    68,    69,   130,
-     131,   260,   261,   280,   281,    67,    68,   261,   101,   291,
-     215,   216,   101,   111,   305,   310,   311,   312,   314,   315,
-     316,   126,   103,   207,   214,   216,   309,   313,   352,   353,
-     356,   357,   127,   123,   264,   106,   127,   164,    67,    68,
-     129,   259,   127,   127,   127,   108,   127,    67,   101,   111,
-     295,   304,   305,   306,   307,   308,   309,   313,   317,   318,
-     319,   320,   321,     3,    27,    71,   228,     3,     5,    67,
-      68,   103,   111,   206,   217,   221,   224,   233,   309,   313,
-     356,   204,   206,   216,   226,   230,   232,   271,   309,   313,
-      32,   222,   222,   217,   224,   127,   222,   217,   222,   217,
-     101,   106,   261,   106,   261,   222,   217,   108,   127,   127,
-       0,   126,   101,   164,   298,   298,   126,   103,   214,   216,
-     354,   259,   259,   216,   123,   101,   111,   295,   305,   309,
-     103,   111,   356,   292,   219,   300,   101,   276,   101,   101,
-     101,    36,    38,    59,    65,    69,    72,    73,    74,    75,
-      79,    80,    87,   101,   103,   110,   111,   112,   113,   114,
-     115,   128,   132,   133,   134,   135,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     155,   157,   214,   263,   278,   352,   357,   216,   102,   102,
-     102,   102,   102,   102,   102,   103,   111,   127,   155,   206,
-     207,   213,   216,   220,   221,   226,   229,   230,   232,   249,
-     250,   254,   255,   256,   257,   271,   336,   348,   349,   350,
-     351,   356,   357,   126,   101,   309,   313,   356,   101,   108,
-     124,   103,   106,   111,   155,   265,   107,   126,   108,   124,
-     101,   108,   124,   108,   124,   108,   124,   298,   124,   305,
-     306,   307,   308,   318,   319,   320,   321,   216,   304,   317,
-      57,   297,   103,   298,   335,   336,   298,   298,   164,   126,
-     101,   298,   335,   298,   298,   216,   295,   101,   101,   215,
-     214,   216,   101,   126,   214,   352,   357,   164,   126,   259,
-     264,   206,   221,   309,   313,   164,   126,   280,   216,   226,
-     124,   216,   216,   278,    38,   103,   214,   236,   237,   238,
-     239,   352,   356,   106,   245,   261,   106,   216,   280,   124,
-     124,   291,   126,   131,   258,     3,   127,   196,   197,   211,
-     213,   216,   126,   297,   101,   297,   155,   305,   216,   101,
-     126,   259,   106,    32,    33,    34,   214,   272,   273,   275,
-     126,   121,   123,   277,   126,   217,   223,   224,   259,   301,
-     302,   303,   140,   153,   154,   101,   140,   142,   101,   140,
-     101,   101,   140,   140,   131,   103,   155,   160,   164,   214,
-     262,   352,   126,   142,   142,    75,    78,    79,    80,   101,
-     103,   105,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,    99,   123,   159,   142,   111,   116,   117,   113,   114,
-      81,    82,    83,    84,   118,   119,    85,    86,   112,   120,
-     121,    87,    88,   122,   123,   359,   101,   111,   331,   332,
-     333,   334,   335,   102,   108,   101,   335,   103,   336,   101,
-     335,   336,   126,   103,   111,   127,   214,   216,   347,   348,
-     356,   357,   104,   127,    67,   101,   103,   111,   305,   322,
-     323,   324,   325,   326,   327,   328,   329,   330,   336,   337,
-     338,   339,   340,   341,   342,   111,   356,   216,   127,   127,
-     111,   214,   216,   349,   259,   214,   336,   349,   259,   127,
-     126,   126,   126,   126,    65,   103,   105,   261,   265,   266,
-     267,   268,   269,   126,   126,   126,   126,   126,   126,   295,
-     102,   102,   102,   102,   102,   102,   102,   304,   317,   101,
-     264,   126,   196,   126,   295,   160,   263,   160,   263,   295,
-     278,   103,   127,   196,   297,   164,   126,   196,   102,   238,
-     239,   126,   101,   109,   111,   240,   242,   304,   305,   317,
-     335,   343,   344,   345,   346,   107,   237,   108,   124,   108,
-     124,   261,   236,   108,   358,   123,   246,   245,   216,   251,
-     252,   253,   256,   257,   102,   108,   164,   126,   111,   155,
-     126,   213,   216,   250,   348,   356,   289,   290,   101,   111,
-     322,   102,   108,   359,   261,   272,   101,   106,   261,   263,
-     272,   102,   108,   101,   102,   109,   262,   262,   103,   131,
-     137,   155,   263,   262,   126,   102,   108,   102,   101,   111,
-     343,   102,   108,   127,   155,   103,   131,   103,   136,   137,
-     126,   103,   131,   155,   155,   142,   142,   142,   143,   143,
-     144,   144,   145,   145,   145,   145,   146,   146,   147,   148,
-     149,   150,   151,   109,   160,   155,   126,   332,   333,   334,
-     216,   331,   298,   298,   155,   263,   126,   126,   258,   127,
-     216,   220,   126,   104,   356,    67,   129,   214,   336,   354,
-     104,   101,   126,   305,   323,   324,   325,   328,   338,   339,
-     340,   126,   216,   322,   326,   337,   101,   298,   341,   359,
-     298,   298,   359,   101,   298,   341,   298,   298,   298,   298,
-     336,   214,   347,   357,   259,   104,   108,   104,   108,   359,
-     214,   349,   359,   104,   247,   248,   249,   250,   247,   259,
-     127,   155,   126,   103,   261,   109,   108,   358,   265,   103,
-     109,   269,    28,   198,   199,   259,   247,   131,   295,   131,
-     297,   101,   335,   336,   101,   335,   336,   133,   111,   127,
-     164,   251,   102,   102,   102,   102,   102,   126,   104,   164,
-     196,   164,   106,   261,   124,   124,   103,   127,   305,   344,
-     345,   346,   154,   216,   343,   241,   242,   241,   298,   298,
-     261,   298,   107,   261,   107,   154,   358,   127,   127,   131,
-     211,   127,   127,   247,   101,   111,   356,   127,   107,   216,
-     273,   274,   127,   126,   126,   101,   127,   102,   302,   160,
-     161,   124,    75,   190,   191,   192,   102,   102,   126,   109,
-     102,   102,   102,   127,   155,   216,   106,   142,   157,   155,
-     156,   158,   104,   108,   127,   126,   126,   102,   108,   155,
-     126,   153,   109,   251,   102,   102,   102,   331,   251,   102,
-     104,   103,   111,   155,   155,   216,   127,   101,   101,   214,
-     354,   328,   251,   102,   102,   102,   102,   102,   102,   102,
-       7,   127,   216,   322,   326,   337,   126,   126,   359,   126,
-     126,   101,   127,   127,   127,   127,   264,   104,   127,   153,
-     154,   155,   296,   126,   265,   267,   107,   126,   200,   261,
-      38,    39,    41,    44,    45,    46,    47,    48,    49,    50,
-      51,    53,    56,   103,   131,   161,   162,   163,   164,   165,
-     166,   168,   169,   181,   183,   184,   189,   201,   294,    28,
-     127,   123,   264,   126,   126,   102,   104,   127,   127,    67,
-     164,   236,   126,   104,   102,   102,   102,   343,   240,   246,
-     107,   102,   108,   104,   104,   127,   216,   108,   359,   276,
-     102,   272,   204,   206,   214,   284,   285,   286,   287,   278,
-     102,   102,   101,   102,   109,   108,   155,   155,   104,   266,
-     108,   127,   158,   104,   131,   138,   139,   155,   137,   127,
-     138,   153,   157,   127,   101,   335,   336,   127,   214,   336,
-     349,   126,   127,   127,   127,   155,   104,   126,   126,   102,
-     127,   101,   335,   336,   101,   341,   101,   341,   336,   215,
-     104,     7,   111,   127,   155,   251,   251,   250,   254,   254,
-     255,   247,   102,   108,   108,   102,   104,    89,   115,   127,
-     127,   138,   265,   155,   108,   124,   201,   205,   216,   220,
-     101,   101,   162,   101,   101,   124,   131,   124,   131,   111,
-     131,   161,   101,   164,   124,   155,   126,   109,   124,   127,
-     126,   127,   200,   102,   155,   251,   251,   298,   336,   102,
-     104,   107,   127,   101,   335,   336,   126,   102,   126,   127,
-     295,   107,   126,   127,   127,   102,   106,   154,   124,   190,
-     192,   108,   127,   358,   156,   104,   127,    78,   105,   108,
-     127,   127,   104,   127,   102,   126,   102,   214,   349,   104,
-     104,   104,   127,   247,   247,   102,   126,   126,   126,   155,
-     155,   127,   104,   127,   127,   127,   127,   102,   126,   126,
-     154,   154,   104,   104,   127,   127,   261,   216,   160,   160,
-      45,   160,   126,   124,   124,   160,   124,   124,   160,    54,
-      55,   185,   186,   187,   124,   127,   298,   166,   107,   124,
-     127,   127,   104,   126,    89,   256,   257,   102,   285,   108,
-     124,   108,   124,   107,   283,   102,   102,   109,   158,   104,
-     107,   104,   103,   139,   103,   139,   139,   104,   104,   104,
-     251,   104,   127,   127,   251,   251,   251,   127,   127,   104,
-     104,   102,   102,   104,   108,    89,   250,    89,   127,   104,
-     104,   102,   102,   101,   102,   161,   182,   201,   124,   102,
-     101,   164,   187,    54,   104,   162,   102,   102,   251,   106,
-     126,   126,   284,   124,    75,   193,   127,   109,   126,   126,
-     127,   102,   102,   127,   127,   127,   104,   104,   126,   127,
-     104,   162,    42,    43,   106,   172,   173,   174,   160,   162,
-     127,   102,   161,   106,   174,    89,   126,   101,   127,   126,
-     259,   295,   107,   102,   108,   104,   155,   138,   138,   102,
-     102,   102,   102,   254,    40,   154,   170,   171,   296,   109,
-     126,   162,   172,   102,   124,   162,   124,   126,   102,   126,
-      89,   126,   102,   284,   124,    75,   109,   127,   127,   162,
-      89,   108,   109,   127,   194,   195,   201,   124,   161,   161,
-     194,   164,   188,   214,   352,   102,   126,   107,   155,   104,
-     104,   154,   170,   173,   175,   176,   126,   124,   173,   177,
-     178,   127,   101,   111,   295,   343,   131,   164,   188,   101,
-     162,   167,   107,   173,   201,   161,    52,   167,   180,   107,
-     173,   102,   216,   127,   278,   162,   167,   124,   179,   180,
-     167,   180,   164,   102,   102,   179,   127,   164,   127
-};
-
-#define yyerrok		(yyerrstatus = 0)
-#define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		(-2)
-#define YYEOF		0
-
-#define YYACCEPT	goto yyacceptlab
-#define YYABORT		goto yyabortlab
-#define YYERROR		goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  However,
-   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
-   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
-   discussed.  */
-
-#define YYFAIL		goto yyerrlab
-#if defined YYFAIL
-  /* This is here to suppress warnings from the GCC cpp's
-     -Wunused-macros.  Normally we don't worry about that warning, but
-     some users do, and we want to make it easy for users to remove
-     YYFAIL uses, which will produce warnings from Bison 2.5.  */
-#endif
-
-#define YYRECOVERING()  (!!yyerrstatus)
-
-#define YYBACKUP(Token, Value)					\
-do								\
-  if (yychar == YYEMPTY && yylen == 1)				\
-    {								\
-      yychar = (Token);						\
-      yylval = (Value);						\
-      YYPOPSTACK (1);						\
-      goto yybackup;						\
-    }								\
-  else								\
-    {								\
-      yyerror (YY_("syntax error: cannot back up")); \
-      YYERROR;							\
-    }								\
-while (YYID (0))
-
-
-#define YYTERROR	1
-#define YYERRCODE	256
-
-
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
-   If N is 0, then set CURRENT to the empty location which ends
-   the previous symbol: RHS[0] (always defined).  */
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)				\
-    do									\
-      if (YYID (N))                                                    \
-	{								\
-	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
-	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
-	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
-	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
-	}								\
-      else								\
-	{								\
-	  (Current).first_line   = (Current).last_line   =		\
-	    YYRHSLOC (Rhs, 0).last_line;				\
-	  (Current).first_column = (Current).last_column =		\
-	    YYRHSLOC (Rhs, 0).last_column;				\
-	}								\
-    while (YYID (0))
-#endif
-
-
-/* This macro is provided for backward compatibility. */
-
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)			\
-do {						\
-  if (yydebug)					\
-    YYFPRINTF Args;				\
-} while (YYID (0))
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
-do {									  \
-  if (yydebug)								  \
-    {									  \
-      YYFPRINTF (stderr, "%s ", Title);					  \
-      yy_symbol_print (stderr,						  \
-		  Type, Value); \
-      YYFPRINTF (stderr, "\n");						  \
-    }									  \
-} while (YYID (0))
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
-
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-#endif
-{
-  if (!yyvaluep)
-    return;
-# ifdef YYPRINT
-  if (yytype < YYNTOKENS)
-    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
-  YYUSE (yyoutput);
-# endif
-  switch (yytype)
-    {
-      default:
-	break;
-    }
-}
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-#endif
-{
-  if (yytype < YYNTOKENS)
-    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-  else
-    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-
-  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
-  YYFPRINTF (yyoutput, ")");
-}
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (included).                                                   |
-`------------------------------------------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
-    yytype_int16 *yybottom;
-    yytype_int16 *yytop;
-#endif
-{
-  YYFPRINTF (stderr, "Stack now");
-  for (; yybottom <= yytop; yybottom++)
-    {
-      int yybot = *yybottom;
-      YYFPRINTF (stderr, " %d", yybot);
-    }
-  YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top)				\
-do {								\
-  if (yydebug)							\
-    yy_stack_print ((Bottom), (Top));				\
-} while (YYID (0))
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced.  |
-`------------------------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
-#else
-static void
-yy_reduce_print (yyvsp, yyrule)
-    YYSTYPE *yyvsp;
-    int yyrule;
-#endif
-{
-  int yynrhs = yyr2[yyrule];
-  int yyi;
-  unsigned long int yylno = yyrline[yyrule];
-  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
-	     yyrule - 1, yylno);
-  /* The symbols being reduced.  */
-  for (yyi = 0; yyi < yynrhs; yyi++)
-    {
-      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
-      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
-		       &(yyvsp[(yyi + 1) - (yynrhs)])
-		       		       );
-      YYFPRINTF (stderr, "\n");
-    }
-}
-
-# define YY_REDUCE_PRINT(Rule)		\
-do {					\
-  if (yydebug)				\
-    yy_reduce_print (yyvsp, Rule); \
-} while (YYID (0))
-
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
-#endif /* !YYDEBUG */
-
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef	YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-
-
-#if YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined __GLIBC__ && defined _STRING_H
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static YYSIZE_T
-yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
-    const char *yystr;
-#endif
-{
-  YYSIZE_T yylen;
-  for (yylen = 0; yystr[yylen]; yylen++)
-    continue;
-  return yylen;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static char *
-yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
-    char *yydest;
-    const char *yysrc;
-#endif
-{
-  char *yyd = yydest;
-  const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
-   quotes and backslashes, so that it's suitable for yyerror.  The
-   heuristic is that double-quoting is unnecessary unless the string
-   contains an apostrophe, a comma, or backslash (other than
-   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
-   null, do not copy; instead, return the length of what the result
-   would have been.  */
-static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
-{
-  if (*yystr == '"')
-    {
-      YYSIZE_T yyn = 0;
-      char const *yyp = yystr;
-
-      for (;;)
-	switch (*++yyp)
-	  {
-	  case '\'':
-	  case ',':
-	    goto do_not_strip_quotes;
-
-	  case '\\':
-	    if (*++yyp != '\\')
-	      goto do_not_strip_quotes;
-	    /* Fall through.  */
-	  default:
-	    if (yyres)
-	      yyres[yyn] = *yyp;
-	    yyn++;
-	    break;
-
-	  case '"':
-	    if (yyres)
-	      yyres[yyn] = '\0';
-	    return yyn;
-	  }
-    do_not_strip_quotes: ;
-    }
-
-  if (! yyres)
-    return yystrlen (yystr);
-
-  return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
-   about the unexpected token YYTOKEN for the state stack whose top is
-   YYSSP.
-
-   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
-   not large enough to hold the message.  In that case, also set
-   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
-   required number of bytes is too large to store.  */
-static int
-yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
-                yytype_int16 *yyssp, int yytoken)
-{
-  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
-  YYSIZE_T yysize = yysize0;
-  YYSIZE_T yysize1;
-  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
-  /* Internationalized format string. */
-  const char *yyformat = 0;
-  /* Arguments of yyformat. */
-  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
-  /* Number of reported tokens (one for the "unexpected", one per
-     "expected"). */
-  int yycount = 0;
-
-  /* There are many possibilities here to consider:
-     - Assume YYFAIL is not used.  It's too flawed to consider.  See
-       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
-       for details.  YYERROR is fine as it does not invoke this
-       function.
-     - If this state is a consistent state with a default action, then
-       the only way this function was invoked is if the default action
-       is an error action.  In that case, don't check for expected
-       tokens because there are none.
-     - The only way there can be no lookahead present (in yychar) is if
-       this state is a consistent state with a default action.  Thus,
-       detecting the absence of a lookahead is sufficient to determine
-       that there is no unexpected or expected token to report.  In that
-       case, just report a simple "syntax error".
-     - Don't assume there isn't a lookahead just because this state is a
-       consistent state with a default action.  There might have been a
-       previous inconsistent state, consistent state with a non-default
-       action, or user semantic action that manipulated yychar.
-     - Of course, the expected token list depends on states to have
-       correct lookahead information, and it depends on the parser not
-       to perform extra reductions after fetching a lookahead from the
-       scanner and before detecting a syntax error.  Thus, state merging
-       (from LALR or IELR) and default reductions corrupt the expected
-       token list.  However, the list is correct for canonical LR with
-       one exception: it will still contain any token that will not be
-       accepted due to an error action in a later state.
-  */
-  if (yytoken != YYEMPTY)
-    {
-      int yyn = yypact[*yyssp];
-      yyarg[yycount++] = yytname[yytoken];
-      if (!yypact_value_is_default (yyn))
-        {
-          /* Start YYX at -YYN if negative to avoid negative indexes in
-             YYCHECK.  In other words, skip the first -YYN actions for
-             this state because they are default actions.  */
-          int yyxbegin = yyn < 0 ? -yyn : 0;
-          /* Stay within bounds of both yycheck and yytname.  */
-          int yychecklim = YYLAST - yyn + 1;
-          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
-          int yyx;
-
-          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
-            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
-                && !yytable_value_is_error (yytable[yyx + yyn]))
-              {
-                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
-                  {
-                    yycount = 1;
-                    yysize = yysize0;
-                    break;
-                  }
-                yyarg[yycount++] = yytname[yyx];
-                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
-                if (! (yysize <= yysize1
-                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-                  return 2;
-                yysize = yysize1;
-              }
-        }
-    }
-
-  switch (yycount)
-    {
-# define YYCASE_(N, S)                      \
-      case N:                               \
-        yyformat = S;                       \
-      break
-      YYCASE_(0, YY_("syntax error"));
-      YYCASE_(1, YY_("syntax error, unexpected %s"));
-      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
-      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
-      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
-      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-# undef YYCASE_
-    }
-
-  yysize1 = yysize + yystrlen (yyformat);
-  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-    return 2;
-  yysize = yysize1;
-
-  if (*yymsg_alloc < yysize)
-    {
-      *yymsg_alloc = 2 * yysize;
-      if (! (yysize <= *yymsg_alloc
-             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
-        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
-      return 1;
-    }
-
-  /* Avoid sprintf, as that infringes on the user's name space.
-     Don't have undefined behavior even if the translation
-     produced a string with the wrong number of "%s"s.  */
-  {
-    char *yyp = *yymsg;
-    int yyi = 0;
-    while ((*yyp = *yyformat) != '\0')
-      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
-        {
-          yyp += yytnamerr (yyp, yyarg[yyi++]);
-          yyformat += 2;
-        }
-      else
-        {
-          yyp++;
-          yyformat++;
-        }
-  }
-  return 0;
-}
-#endif /* YYERROR_VERBOSE */
-
-/*-----------------------------------------------.
-| Release the memory associated to this symbol.  |
-`-----------------------------------------------*/
-
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep)
-    const char *yymsg;
-    int yytype;
-    YYSTYPE *yyvaluep;
-#endif
-{
-  YYUSE (yyvaluep);
-
-  if (!yymsg)
-    yymsg = "Deleting";
-  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-
-  switch (yytype)
-    {
-
-      default:
-	break;
-    }
-}
-
-
-/* Prevent warnings from -Wmissing-prototypes.  */
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
-
-
-/* The lookahead symbol.  */
-int yychar;
-
-/* The semantic value of the lookahead symbol.  */
-YYSTYPE yylval;
-
-/* Number of syntax errors so far.  */
-int yynerrs;
-
-
-/*----------.
-| yyparse.  |
-`----------*/
-
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
-    void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void)
-#else
-int
-yyparse ()
-
-#endif
-#endif
-{
-    int yystate;
-    /* Number of tokens to shift before error messages enabled.  */
-    int yyerrstatus;
-
-    /* The stacks and their tools:
-       `yyss': related to states.
-       `yyvs': related to semantic values.
-
-       Refer to the stacks thru separate pointers, to allow yyoverflow
-       to reallocate them elsewhere.  */
-
-    /* The state stack.  */
-    yytype_int16 yyssa[YYINITDEPTH];
-    yytype_int16 *yyss;
-    yytype_int16 *yyssp;
-
-    /* The semantic value stack.  */
-    YYSTYPE yyvsa[YYINITDEPTH];
-    YYSTYPE *yyvs;
-    YYSTYPE *yyvsp;
-
-    YYSIZE_T yystacksize;
-
-  int yyn;
-  int yyresult;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yytoken;
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-
-#if YYERROR_VERBOSE
-  /* Buffer for error messages, and its allocated size.  */
-  char yymsgbuf[128];
-  char *yymsg = yymsgbuf;
-  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
-#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
-
-  /* The number of symbols on the RHS of the reduced rule.
-     Keep to zero when no symbol should be popped.  */
-  int yylen = 0;
-
-  yytoken = 0;
-  yyss = yyssa;
-  yyvs = yyvsa;
-  yystacksize = YYINITDEPTH;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY; /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-  yyssp = yyss;
-  yyvsp = yyvs;
-
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed.  So pushing a state here evens the stacks.  */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyss + yystacksize - 1 <= yyssp)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-	/* Give user a chance to reallocate the stack.  Use copies of
-	   these so that the &'s don't force the real ones into
-	   memory.  */
-	YYSTYPE *yyvs1 = yyvs;
-	yytype_int16 *yyss1 = yyss;
-
-	/* Each stack pointer address is followed by the size of the
-	   data in use in that stack, in bytes.  This used to be a
-	   conditional around just the two extra args, but that might
-	   be undefined if yyoverflow is a macro.  */
-	yyoverflow (YY_("memory exhausted"),
-		    &yyss1, yysize * sizeof (*yyssp),
-		    &yyvs1, yysize * sizeof (*yyvsp),
-		    &yystacksize);
-
-	yyss = yyss1;
-	yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyexhaustedlab;
-# else
-      /* Extend the stack our own way.  */
-      if (YYMAXDEPTH <= yystacksize)
-	goto yyexhaustedlab;
-      yystacksize *= 2;
-      if (YYMAXDEPTH < yystacksize)
-	yystacksize = YYMAXDEPTH;
-
-      {
-	yytype_int16 *yyss1 = yyss;
-	union yyalloc *yyptr =
-	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-	if (! yyptr)
-	  goto yyexhaustedlab;
-	YYSTACK_RELOCATE (yyss_alloc, yyss);
-	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-#  undef YYSTACK_RELOCATE
-	if (yyss1 != yyssa)
-	  YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-		  (unsigned long int) yystacksize));
-
-      if (yyss + yystacksize - 1 <= yyssp)
-	YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  if (yystate == YYFINAL)
-    YYACCEPT;
-
-  goto yybackup;
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-  /* Do appropriate processing given the current state.  Read a
-     lookahead token if we need one and don't already have one.  */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-  yyn = yypact[yystate];
-  if (yypact_value_is_default (yyn))
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  if (yychar <= YYEOF)
-    {
-      yychar = yytoken = YYEOF;
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yytoken = YYTRANSLATE (yychar);
-      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
-    }
-
-  /* If the proper action on seeing token YYTOKEN is to reduce or to
-     detect an error, take that action.  */
-  yyn += yytoken;
-  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
-    goto yydefault;
-  yyn = yytable[yyn];
-  if (yyn <= 0)
-    {
-      if (yytable_value_is_error (yyn))
-        goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  /* Shift the lookahead token.  */
-  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
-  /* Discard the shifted token.  */
-  yychar = YYEMPTY;
-
-  yystate = yyn;
-  *++yyvsp = yylval;
-
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to garbage.
-     This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-
-  YY_REDUCE_PRINT (yyn);
-  switch (yyn)
-    {
-        case 2:
-
-/* Line 1806 of yacc.c  */
-#line 279 "parser.yy"
-    {
-			typedefTable.enterScope();
-		}
-    break;
-
-  case 3:
-
-/* Line 1806 of yacc.c  */
-#line 285 "parser.yy"
-    {
-			typedefTable.leaveScope();
-		}
-    break;
-
-  case 4:
-
-/* Line 1806 of yacc.c  */
-#line 294 "parser.yy"
-    { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
-    break;
-
-  case 5:
-
-/* Line 1806 of yacc.c  */
-#line 295 "parser.yy"
-    { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
-    break;
-
-  case 6:
-
-/* Line 1806 of yacc.c  */
-#line 296 "parser.yy"
-    { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }
-    break;
-
-  case 15:
-
-/* Line 1806 of yacc.c  */
-#line 320 "parser.yy"
-    { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
-    break;
-
-  case 16:
-
-/* Line 1806 of yacc.c  */
-#line 321 "parser.yy"
-    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
-    break;
-
-  case 17:
-
-/* Line 1806 of yacc.c  */
-#line 328 "parser.yy"
-    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
-    break;
-
-  case 18:
-
-/* Line 1806 of yacc.c  */
-#line 330 "parser.yy"
-    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
-    break;
-
-  case 19:
-
-/* Line 1806 of yacc.c  */
-#line 332 "parser.yy"
-    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
-    break;
-
-  case 20:
-
-/* Line 1806 of yacc.c  */
-#line 334 "parser.yy"
-    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
-    break;
-
-  case 21:
-
-/* Line 1806 of yacc.c  */
-#line 336 "parser.yy"
-    { (yyval.en) = (yyvsp[(2) - (3)].en); }
-    break;
-
-  case 22:
-
-/* Line 1806 of yacc.c  */
-#line 338 "parser.yy"
-    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
-    break;
-
-  case 24:
-
-/* Line 1806 of yacc.c  */
-#line 348 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
-    break;
-
-  case 25:
-
-/* Line 1806 of yacc.c  */
-#line 350 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
-    break;
-
-  case 26:
-
-/* Line 1806 of yacc.c  */
-#line 352 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
-    break;
-
-  case 28:
-
-/* Line 1806 of yacc.c  */
-#line 355 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
-    break;
-
-  case 30:
-
-/* Line 1806 of yacc.c  */
-#line 358 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
-    break;
-
-  case 31:
-
-/* Line 1806 of yacc.c  */
-#line 360 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
-    break;
-
-  case 32:
-
-/* Line 1806 of yacc.c  */
-#line 363 "parser.yy"
-    { (yyval.en) = 0; }
-    break;
-
-  case 34:
-
-/* Line 1806 of yacc.c  */
-#line 369 "parser.yy"
-    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
-    break;
-
-  case 35:
-
-/* Line 1806 of yacc.c  */
-#line 374 "parser.yy"
-    { (yyval.en) = 0; }
-    break;
-
-  case 37:
-
-/* Line 1806 of yacc.c  */
-#line 377 "parser.yy"
-    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_asArgName( (yyvsp[(1) - (3)].tok) ); }
-    break;
-
-  case 38:
-
-/* Line 1806 of yacc.c  */
-#line 382 "parser.yy"
-    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_asArgName( (yyvsp[(3) - (7)].en) ); }
-    break;
-
-  case 39:
-
-/* Line 1806 of yacc.c  */
-#line 384 "parser.yy"
-    { (yyval.en) = (yyvsp[(9) - (9)].en)->set_asArgName( new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (9)].en)->set_link( flattenCommas( (yyvsp[(5) - (9)].en) )))); }
-    break;
-
-  case 41:
-
-/* Line 1806 of yacc.c  */
-#line 389 "parser.yy"
-    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 42:
-
-/* Line 1806 of yacc.c  */
-#line 394 "parser.yy"
-    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
-    break;
-
-  case 43:
-
-/* Line 1806 of yacc.c  */
-#line 396 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 44:
-
-/* Line 1806 of yacc.c  */
-#line 398 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
-    break;
-
-  case 45:
-
-/* Line 1806 of yacc.c  */
-#line 400 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 46:
-
-/* Line 1806 of yacc.c  */
-#line 402 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
-    break;
-
-  case 48:
-
-/* Line 1806 of yacc.c  */
-#line 408 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 49:
-
-/* Line 1806 of yacc.c  */
-#line 410 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 50:
-
-/* Line 1806 of yacc.c  */
-#line 412 "parser.yy"
-    { (yyval.en) = (yyvsp[(2) - (2)].en); }
-    break;
-
-  case 51:
-
-/* Line 1806 of yacc.c  */
-#line 414 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 52:
-
-/* Line 1806 of yacc.c  */
-#line 416 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 53:
-
-/* Line 1806 of yacc.c  */
-#line 418 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 54:
-
-/* Line 1806 of yacc.c  */
-#line 424 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 55:
-
-/* Line 1806 of yacc.c  */
-#line 426 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
-    break;
-
-  case 56:
-
-/* Line 1806 of yacc.c  */
-#line 428 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
-    break;
-
-  case 57:
-
-/* Line 1806 of yacc.c  */
-#line 430 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
-    break;
-
-  case 58:
-
-/* Line 1806 of yacc.c  */
-#line 432 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
-    break;
-
-  case 59:
-
-/* Line 1806 of yacc.c  */
-#line 434 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 60:
-
-/* Line 1806 of yacc.c  */
-#line 436 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
-    break;
-
-  case 61:
-
-/* Line 1806 of yacc.c  */
-#line 438 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true )); }
-    break;
-
-  case 62:
-
-/* Line 1806 of yacc.c  */
-#line 442 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
-    break;
-
-  case 63:
-
-/* Line 1806 of yacc.c  */
-#line 443 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
-    break;
-
-  case 64:
-
-/* Line 1806 of yacc.c  */
-#line 444 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
-    break;
-
-  case 65:
-
-/* Line 1806 of yacc.c  */
-#line 445 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
-    break;
-
-  case 67:
-
-/* Line 1806 of yacc.c  */
-#line 451 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
-    break;
-
-  case 68:
-
-/* Line 1806 of yacc.c  */
-#line 453 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
-    break;
-
-  case 70:
-
-/* Line 1806 of yacc.c  */
-#line 459 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 71:
-
-/* Line 1806 of yacc.c  */
-#line 461 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 72:
-
-/* Line 1806 of yacc.c  */
-#line 463 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 74:
-
-/* Line 1806 of yacc.c  */
-#line 469 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 75:
-
-/* Line 1806 of yacc.c  */
-#line 471 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 77:
-
-/* Line 1806 of yacc.c  */
-#line 477 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 78:
-
-/* Line 1806 of yacc.c  */
-#line 479 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 80:
-
-/* Line 1806 of yacc.c  */
-#line 485 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 81:
-
-/* Line 1806 of yacc.c  */
-#line 487 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 82:
-
-/* Line 1806 of yacc.c  */
-#line 489 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 83:
-
-/* Line 1806 of yacc.c  */
-#line 491 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 85:
-
-/* Line 1806 of yacc.c  */
-#line 497 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 86:
-
-/* Line 1806 of yacc.c  */
-#line 499 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 88:
-
-/* Line 1806 of yacc.c  */
-#line 505 "parser.yy"
-    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 90:
-
-/* Line 1806 of yacc.c  */
-#line 511 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 92:
-
-/* Line 1806 of yacc.c  */
-#line 517 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 94:
-
-/* Line 1806 of yacc.c  */
-#line 523 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 96:
-
-/* Line 1806 of yacc.c  */
-#line 529 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 98:
-
-/* Line 1806 of yacc.c  */
-#line 535 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
-    break;
-
-  case 99:
-
-/* Line 1806 of yacc.c  */
-#line 537 "parser.yy"
-    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
-    break;
-
-  case 100:
-
-/* Line 1806 of yacc.c  */
-#line 539 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
-    break;
-
-  case 103:
-
-/* Line 1806 of yacc.c  */
-#line 550 "parser.yy"
-    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 104:
-
-/* Line 1806 of yacc.c  */
-#line 552 "parser.yy"
-    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 105:
-
-/* Line 1806 of yacc.c  */
-#line 554 "parser.yy"
-    { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 106:
-
-/* Line 1806 of yacc.c  */
-#line 559 "parser.yy"
-    { (yyval.en) = new NullExprNode; }
-    break;
-
-  case 108:
-
-/* Line 1806 of yacc.c  */
-#line 567 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
-    break;
-
-  case 109:
-
-/* Line 1806 of yacc.c  */
-#line 569 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
-    break;
-
-  case 110:
-
-/* Line 1806 of yacc.c  */
-#line 571 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
-    break;
-
-  case 111:
-
-/* Line 1806 of yacc.c  */
-#line 573 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
-    break;
-
-  case 113:
-
-/* Line 1806 of yacc.c  */
-#line 579 "parser.yy"
-    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 114:
-
-/* Line 1806 of yacc.c  */
-#line 583 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
-    break;
-
-  case 115:
-
-/* Line 1806 of yacc.c  */
-#line 584 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
-    break;
-
-  case 116:
-
-/* Line 1806 of yacc.c  */
-#line 585 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
-    break;
-
-  case 117:
-
-/* Line 1806 of yacc.c  */
-#line 586 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
-    break;
-
-  case 118:
-
-/* Line 1806 of yacc.c  */
-#line 587 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
-    break;
-
-  case 119:
-
-/* Line 1806 of yacc.c  */
-#line 588 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
-    break;
-
-  case 120:
-
-/* Line 1806 of yacc.c  */
-#line 589 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
-    break;
-
-  case 121:
-
-/* Line 1806 of yacc.c  */
-#line 590 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
-    break;
-
-  case 122:
-
-/* Line 1806 of yacc.c  */
-#line 591 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
-    break;
-
-  case 123:
-
-/* Line 1806 of yacc.c  */
-#line 592 "parser.yy"
-    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
-    break;
-
-  case 125:
-
-/* Line 1806 of yacc.c  */
-#line 598 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 126:
-
-/* Line 1806 of yacc.c  */
-#line 603 "parser.yy"
-    { (yyval.en) = 0; }
-    break;
-
-  case 130:
-
-/* Line 1806 of yacc.c  */
-#line 612 "parser.yy"
-    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
-    break;
-
-  case 136:
-
-/* Line 1806 of yacc.c  */
-#line 622 "parser.yy"
-    { (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );}
-    break;
-
-  case 137:
-
-/* Line 1806 of yacc.c  */
-#line 627 "parser.yy"
-    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
-    break;
-
-  case 138:
-
-/* Line 1806 of yacc.c  */
-#line 634 "parser.yy"
-    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
-    break;
-
-  case 140:
-
-/* Line 1806 of yacc.c  */
-#line 640 "parser.yy"
-    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
-    break;
-
-  case 141:
-
-/* Line 1806 of yacc.c  */
-#line 645 "parser.yy"
-    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
-    break;
-
-  case 142:
-
-/* Line 1806 of yacc.c  */
-#line 647 "parser.yy"
-    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 143:
-
-/* Line 1806 of yacc.c  */
-#line 649 "parser.yy"
-    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
-    break;
-
-  case 146:
-
-/* Line 1806 of yacc.c  */
-#line 656 "parser.yy"
-    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
-    break;
-
-  case 147:
-
-/* Line 1806 of yacc.c  */
-#line 661 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
-    break;
-
-  case 148:
-
-/* Line 1806 of yacc.c  */
-#line 667 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
-    break;
-
-  case 149:
-
-/* Line 1806 of yacc.c  */
-#line 669 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
-    break;
-
-  case 150:
-
-/* Line 1806 of yacc.c  */
-#line 671 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
-    break;
-
-  case 151:
-
-/* Line 1806 of yacc.c  */
-#line 673 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
-    break;
-
-  case 152:
-
-/* Line 1806 of yacc.c  */
-#line 678 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
-    break;
-
-  case 153:
-
-/* Line 1806 of yacc.c  */
-#line 680 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
-    break;
-
-  case 154:
-
-/* Line 1806 of yacc.c  */
-#line 687 "parser.yy"
-    { (yyval.en) = (yyvsp[(1) - (1)].en); }
-    break;
-
-  case 155:
-
-/* Line 1806 of yacc.c  */
-#line 689 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 158:
-
-/* Line 1806 of yacc.c  */
-#line 696 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
-    break;
-
-  case 159:
-
-/* Line 1806 of yacc.c  */
-#line 700 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
-    break;
-
-  case 160:
-
-/* Line 1806 of yacc.c  */
-#line 701 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
-    break;
-
-  case 162:
-
-/* Line 1806 of yacc.c  */
-#line 707 "parser.yy"
-    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
-    break;
-
-  case 163:
-
-/* Line 1806 of yacc.c  */
-#line 711 "parser.yy"
-    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
-    break;
-
-  case 164:
-
-/* Line 1806 of yacc.c  */
-#line 716 "parser.yy"
-    { (yyval.sn) = 0; }
-    break;
-
-  case 166:
-
-/* Line 1806 of yacc.c  */
-#line 722 "parser.yy"
-    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
-    break;
-
-  case 167:
-
-/* Line 1806 of yacc.c  */
-#line 724 "parser.yy"
-    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
-    break;
-
-  case 168:
-
-/* Line 1806 of yacc.c  */
-#line 729 "parser.yy"
-    { (yyval.sn) = 0; }
-    break;
-
-  case 170:
-
-/* Line 1806 of yacc.c  */
-#line 735 "parser.yy"
-    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
-    break;
-
-  case 171:
-
-/* Line 1806 of yacc.c  */
-#line 737 "parser.yy"
-    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
-    break;
-
-  case 172:
-
-/* Line 1806 of yacc.c  */
-#line 739 "parser.yy"
-    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
-    break;
-
-  case 173:
-
-/* Line 1806 of yacc.c  */
-#line 741 "parser.yy"
-    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); }
-    break;
-
-  case 174:
-
-/* Line 1806 of yacc.c  */
-#line 746 "parser.yy"
-    { (yyval.sn) = 0; }
-    break;
-
-  case 176:
-
-/* Line 1806 of yacc.c  */
-#line 751 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Fallthru, 0, 0 ); }
-    break;
-
-  case 177:
-
-/* Line 1806 of yacc.c  */
-#line 752 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Fallthru, 0, 0 ); }
-    break;
-
-  case 178:
-
-/* Line 1806 of yacc.c  */
-#line 757 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
-    break;
-
-  case 179:
-
-/* Line 1806 of yacc.c  */
-#line 759 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
-    break;
-
-  case 180:
-
-/* Line 1806 of yacc.c  */
-#line 761 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
-    break;
-
-  case 181:
-
-/* Line 1806 of yacc.c  */
-#line 766 "parser.yy"
-    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
-    break;
-
-  case 182:
-
-/* Line 1806 of yacc.c  */
-#line 768 "parser.yy"
-    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
-    break;
-
-  case 183:
-
-/* Line 1806 of yacc.c  */
-#line 773 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
-    break;
-
-  case 184:
-
-/* Line 1806 of yacc.c  */
-#line 777 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
-    break;
-
-  case 185:
-
-/* Line 1806 of yacc.c  */
-#line 780 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Continue, 0, 0 ); }
-    break;
-
-  case 186:
-
-/* Line 1806 of yacc.c  */
-#line 784 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
-    break;
-
-  case 187:
-
-/* Line 1806 of yacc.c  */
-#line 787 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Break, 0, 0 ); }
-    break;
-
-  case 188:
-
-/* Line 1806 of yacc.c  */
-#line 791 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
-    break;
-
-  case 189:
-
-/* Line 1806 of yacc.c  */
-#line 793 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
-    break;
-
-  case 190:
-
-/* Line 1806 of yacc.c  */
-#line 795 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
-    break;
-
-  case 191:
-
-/* Line 1806 of yacc.c  */
-#line 797 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Throw, 0, 0 ); }
-    break;
-
-  case 192:
-
-/* Line 1806 of yacc.c  */
-#line 802 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
-    break;
-
-  case 193:
-
-/* Line 1806 of yacc.c  */
-#line 804 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
-    break;
-
-  case 194:
-
-/* Line 1806 of yacc.c  */
-#line 806 "parser.yy"
-    {
-			(yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
-			(yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (4)].sn),*(yyvsp[(3) - (4)].pn) ))));
-		}
-    break;
-
-  case 196:
-
-/* Line 1806 of yacc.c  */
-#line 817 "parser.yy"
-    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
-    break;
-
-  case 197:
-
-/* Line 1806 of yacc.c  */
-#line 819 "parser.yy"
-    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
-    break;
-
-  case 198:
-
-/* Line 1806 of yacc.c  */
-#line 824 "parser.yy"
-    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
-    break;
-
-  case 199:
-
-/* Line 1806 of yacc.c  */
-#line 826 "parser.yy"
-    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
-    break;
-
-  case 200:
-
-/* Line 1806 of yacc.c  */
-#line 831 "parser.yy"
-    {
-			(yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
-			std::cout << "Just created a finally node" << std::endl;
-		}
-    break;
-
-  case 202:
-
-/* Line 1806 of yacc.c  */
-#line 845 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) );
-		}
-    break;
-
-  case 203:
-
-/* Line 1806 of yacc.c  */
-#line 850 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 204:
-
-/* Line 1806 of yacc.c  */
-#line 852 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) );
-		}
-    break;
-
-  case 206:
-
-/* Line 1806 of yacc.c  */
-#line 861 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
-    break;
-
-  case 207:
-
-/* Line 1806 of yacc.c  */
-#line 863 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
-    break;
-
-  case 208:
-
-/* Line 1806 of yacc.c  */
-#line 865 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
-    break;
-
-  case 209:
-
-/* Line 1806 of yacc.c  */
-#line 867 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Asm, 0, 0 ); }
-    break;
-
-  case 214:
-
-/* Line 1806 of yacc.c  */
-#line 881 "parser.yy"
-    {}
-    break;
-
-  case 215:
-
-/* Line 1806 of yacc.c  */
-#line 885 "parser.yy"
-    {}
-    break;
-
-  case 217:
-
-/* Line 1806 of yacc.c  */
-#line 893 "parser.yy"
-    { (yyval.decl) = 0; }
-    break;
-
-  case 220:
-
-/* Line 1806 of yacc.c  */
-#line 900 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
-    break;
-
-  case 221:
-
-/* Line 1806 of yacc.c  */
-#line 905 "parser.yy"
-    { (yyval.decl) = 0; }
-    break;
-
-  case 224:
-
-/* Line 1806 of yacc.c  */
-#line 912 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
-    break;
-
-  case 229:
-
-/* Line 1806 of yacc.c  */
-#line 926 "parser.yy"
-    {}
-    break;
-
-  case 230:
-
-/* Line 1806 of yacc.c  */
-#line 927 "parser.yy"
-    {}
-    break;
-
-  case 238:
-
-/* Line 1806 of yacc.c  */
-#line 956 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (2)].decl);
-		}
-    break;
-
-  case 239:
-
-/* Line 1806 of yacc.c  */
-#line 963 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) );
-		}
-    break;
-
-  case 240:
-
-/* Line 1806 of yacc.c  */
-#line 968 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) ) );
-		}
-    break;
-
-  case 241:
-
-/* Line 1806 of yacc.c  */
-#line 978 "parser.yy"
-    {
-			typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
-			(yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) );
-		}
-    break;
-
-  case 242:
-
-/* Line 1806 of yacc.c  */
-#line 983 "parser.yy"
-    {
-			typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
-			(yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) );
-		}
-    break;
-
-  case 243:
-
-/* Line 1806 of yacc.c  */
-#line 988 "parser.yy"
-    {
-			typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
-			(yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addName( (yyvsp[(3) - (4)].tok) );
-		}
-    break;
-
-  case 244:
-
-/* Line 1806 of yacc.c  */
-#line 996 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (1)].decl);
-		}
-    break;
-
-  case 245:
-
-/* Line 1806 of yacc.c  */
-#line 1001 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) );
-		}
-    break;
-
-  case 246:
-
-/* Line 1806 of yacc.c  */
-#line 1006 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) );
-		}
-    break;
-
-  case 247:
-
-/* Line 1806 of yacc.c  */
-#line 1011 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(2) - (3)].decl) );
-		}
-    break;
-
-  case 248:
-
-/* Line 1806 of yacc.c  */
-#line 1016 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) );
-		}
-    break;
-
-  case 249:
-
-/* Line 1806 of yacc.c  */
-#line 1024 "parser.yy"
-    {
-			typedefTable.setNextIdentifier( *( (yyvsp[(5) - (10)].tok) ) );
-			(yyval.decl) = DeclarationNode::newFunction( (yyvsp[(5) - (10)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(8) - (10)].decl), 0, true );
-		}
-    break;
-
-  case 250:
-
-/* Line 1806 of yacc.c  */
-#line 1029 "parser.yy"
-    {
-			typedefTable.setNextIdentifier( *( (yyvsp[(5) - (10)].tok) ) );
-			(yyval.decl) = DeclarationNode::newFunction( (yyvsp[(5) - (10)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(8) - (10)].decl), 0, true );
-		}
-    break;
-
-  case 251:
-
-/* Line 1806 of yacc.c  */
-#line 1042 "parser.yy"
-    {
-			(yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
-		}
-    break;
-
-  case 252:
-
-/* Line 1806 of yacc.c  */
-#line 1046 "parser.yy"
-    {
-			(yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
-		}
-    break;
-
-  case 253:
-
-/* Line 1806 of yacc.c  */
-#line 1053 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
-    break;
-
-  case 254:
-
-/* Line 1806 of yacc.c  */
-#line 1057 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
-    break;
-
-  case 255:
-
-/* Line 1806 of yacc.c  */
-#line 1062 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			(yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef();
-		}
-    break;
-
-  case 256:
-
-/* Line 1806 of yacc.c  */
-#line 1067 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			(yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef();
-		}
-    break;
-
-  case 257:
-
-/* Line 1806 of yacc.c  */
-#line 1072 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
-			(yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) );
-		}
-    break;
-
-  case 258:
-
-/* Line 1806 of yacc.c  */
-#line 1083 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			(yyval.decl) = (yyvsp[(3) - (3)].decl)->addType( (yyvsp[(2) - (3)].decl) )->addTypedef();
-		}
-    break;
-
-  case 259:
-
-/* Line 1806 of yacc.c  */
-#line 1088 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			(yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) )->addTypedef() );
-		}
-    break;
-
-  case 260:
-
-/* Line 1806 of yacc.c  */
-#line 1093 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			(yyval.decl) = (yyvsp[(4) - (4)].decl)->addType( (yyvsp[(3) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef();
-		}
-    break;
-
-  case 261:
-
-/* Line 1806 of yacc.c  */
-#line 1098 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			(yyval.decl) = (yyvsp[(3) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addTypedef();
-		}
-    break;
-
-  case 262:
-
-/* Line 1806 of yacc.c  */
-#line 1103 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			(yyval.decl) = (yyvsp[(4) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef()->addType( (yyvsp[(1) - (4)].decl) );
-		}
-    break;
-
-  case 263:
-
-/* Line 1806 of yacc.c  */
-#line 1112 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
-			(yyval.decl) = DeclarationNode::newName( 0 ); // XXX
-		}
-    break;
-
-  case 264:
-
-/* Line 1806 of yacc.c  */
-#line 1117 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
-			(yyval.decl) = DeclarationNode::newName( 0 ); // XXX
-		}
-    break;
-
-  case 269:
-
-/* Line 1806 of yacc.c  */
-#line 1134 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = ( (yyvsp[(2) - (4)].decl)->addType( (yyvsp[(1) - (4)].decl) ))->addInitializer( (yyvsp[(4) - (4)].in) );
-		}
-    break;
-
-  case 270:
-
-/* Line 1806 of yacc.c  */
-#line 1139 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneBaseType( (yyvsp[(4) - (6)].decl)->addInitializer( (yyvsp[(6) - (6)].in) ) ) );
-		}
-    break;
-
-  case 279:
-
-/* Line 1806 of yacc.c  */
-#line 1161 "parser.yy"
-    { (yyval.decl) = 0; }
-    break;
-
-  case 282:
-
-/* Line 1806 of yacc.c  */
-#line 1173 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 284:
-
-/* Line 1806 of yacc.c  */
-#line 1179 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Attribute ); }
-    break;
-
-  case 285:
-
-/* Line 1806 of yacc.c  */
-#line 1184 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
-    break;
-
-  case 286:
-
-/* Line 1806 of yacc.c  */
-#line 1186 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
-    break;
-
-  case 287:
-
-/* Line 1806 of yacc.c  */
-#line 1188 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
-    break;
-
-  case 288:
-
-/* Line 1806 of yacc.c  */
-#line 1190 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
-    break;
-
-  case 289:
-
-/* Line 1806 of yacc.c  */
-#line 1192 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
-    break;
-
-  case 290:
-
-/* Line 1806 of yacc.c  */
-#line 1194 "parser.yy"
-    {
-			typedefTable.enterScope();
-		}
-    break;
-
-  case 291:
-
-/* Line 1806 of yacc.c  */
-#line 1198 "parser.yy"
-    {
-			typedefTable.leaveScope();
-			(yyval.decl) = DeclarationNode::newForall( (yyvsp[(4) - (5)].decl) );
-		}
-    break;
-
-  case 293:
-
-/* Line 1806 of yacc.c  */
-#line 1207 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 294:
-
-/* Line 1806 of yacc.c  */
-#line 1209 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
-    break;
-
-  case 296:
-
-/* Line 1806 of yacc.c  */
-#line 1220 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 298:
-
-/* Line 1806 of yacc.c  */
-#line 1229 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
-    break;
-
-  case 299:
-
-/* Line 1806 of yacc.c  */
-#line 1231 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
-    break;
-
-  case 300:
-
-/* Line 1806 of yacc.c  */
-#line 1233 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
-    break;
-
-  case 301:
-
-/* Line 1806 of yacc.c  */
-#line 1235 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
-    break;
-
-  case 302:
-
-/* Line 1806 of yacc.c  */
-#line 1237 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
-    break;
-
-  case 303:
-
-/* Line 1806 of yacc.c  */
-#line 1239 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
-    break;
-
-  case 304:
-
-/* Line 1806 of yacc.c  */
-#line 1241 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
-    break;
-
-  case 305:
-
-/* Line 1806 of yacc.c  */
-#line 1243 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
-    break;
-
-  case 306:
-
-/* Line 1806 of yacc.c  */
-#line 1248 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
-    break;
-
-  case 307:
-
-/* Line 1806 of yacc.c  */
-#line 1250 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
-    break;
-
-  case 308:
-
-/* Line 1806 of yacc.c  */
-#line 1252 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
-    break;
-
-  case 309:
-
-/* Line 1806 of yacc.c  */
-#line 1254 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
-    break;
-
-  case 310:
-
-/* Line 1806 of yacc.c  */
-#line 1256 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
-    break;
-
-  case 311:
-
-/* Line 1806 of yacc.c  */
-#line 1258 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
-    break;
-
-  case 312:
-
-/* Line 1806 of yacc.c  */
-#line 1260 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
-    break;
-
-  case 313:
-
-/* Line 1806 of yacc.c  */
-#line 1262 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
-    break;
-
-  case 314:
-
-/* Line 1806 of yacc.c  */
-#line 1264 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
-    break;
-
-  case 315:
-
-/* Line 1806 of yacc.c  */
-#line 1266 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
-    break;
-
-  case 316:
-
-/* Line 1806 of yacc.c  */
-#line 1268 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
-    break;
-
-  case 317:
-
-/* Line 1806 of yacc.c  */
-#line 1270 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
-    break;
-
-  case 319:
-
-/* Line 1806 of yacc.c  */
-#line 1277 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 320:
-
-/* Line 1806 of yacc.c  */
-#line 1279 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 321:
-
-/* Line 1806 of yacc.c  */
-#line 1281 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
-    break;
-
-  case 322:
-
-/* Line 1806 of yacc.c  */
-#line 1283 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
-    break;
-
-  case 324:
-
-/* Line 1806 of yacc.c  */
-#line 1289 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
-    break;
-
-  case 326:
-
-/* Line 1806 of yacc.c  */
-#line 1296 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 327:
-
-/* Line 1806 of yacc.c  */
-#line 1298 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 328:
-
-/* Line 1806 of yacc.c  */
-#line 1300 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 329:
-
-/* Line 1806 of yacc.c  */
-#line 1305 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
-    break;
-
-  case 330:
-
-/* Line 1806 of yacc.c  */
-#line 1307 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
-    break;
-
-  case 331:
-
-/* Line 1806 of yacc.c  */
-#line 1309 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
-    break;
-
-  case 332:
-
-/* Line 1806 of yacc.c  */
-#line 1311 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
-    break;
-
-  case 334:
-
-/* Line 1806 of yacc.c  */
-#line 1317 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 335:
-
-/* Line 1806 of yacc.c  */
-#line 1319 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 336:
-
-/* Line 1806 of yacc.c  */
-#line 1321 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
-    break;
-
-  case 338:
-
-/* Line 1806 of yacc.c  */
-#line 1327 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 339:
-
-/* Line 1806 of yacc.c  */
-#line 1329 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 341:
-
-/* Line 1806 of yacc.c  */
-#line 1335 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 342:
-
-/* Line 1806 of yacc.c  */
-#line 1337 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 343:
-
-/* Line 1806 of yacc.c  */
-#line 1339 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
-    break;
-
-  case 344:
-
-/* Line 1806 of yacc.c  */
-#line 1344 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
-    break;
-
-  case 345:
-
-/* Line 1806 of yacc.c  */
-#line 1346 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 346:
-
-/* Line 1806 of yacc.c  */
-#line 1348 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 349:
-
-/* Line 1806 of yacc.c  */
-#line 1358 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
-    break;
-
-  case 350:
-
-/* Line 1806 of yacc.c  */
-#line 1360 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
-    break;
-
-  case 351:
-
-/* Line 1806 of yacc.c  */
-#line 1362 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
-    break;
-
-  case 352:
-
-/* Line 1806 of yacc.c  */
-#line 1372 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
-    break;
-
-  case 353:
-
-/* Line 1806 of yacc.c  */
-#line 1374 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(5) - (5)].tok), (yyvsp[(3) - (5)].en), 0 ); }
-    break;
-
-  case 354:
-
-/* Line 1806 of yacc.c  */
-#line 1381 "parser.yy"
-    { (yyval.aggKey) = DeclarationNode::Struct; }
-    break;
-
-  case 355:
-
-/* Line 1806 of yacc.c  */
-#line 1383 "parser.yy"
-    { (yyval.aggKey) = DeclarationNode::Union; }
-    break;
-
-  case 356:
-
-/* Line 1806 of yacc.c  */
-#line 1388 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
-    break;
-
-  case 357:
-
-/* Line 1806 of yacc.c  */
-#line 1390 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 359:
-
-/* Line 1806 of yacc.c  */
-#line 1396 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 361:
-
-/* Line 1806 of yacc.c  */
-#line 1399 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 363:
-
-/* Line 1806 of yacc.c  */
-#line 1405 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
-    break;
-
-  case 364:
-
-/* Line 1806 of yacc.c  */
-#line 1407 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
-    break;
-
-  case 365:
-
-/* Line 1806 of yacc.c  */
-#line 1409 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
-    break;
-
-  case 366:
-
-/* Line 1806 of yacc.c  */
-#line 1414 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 367:
-
-/* Line 1806 of yacc.c  */
-#line 1416 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
-    break;
-
-  case 368:
-
-/* Line 1806 of yacc.c  */
-#line 1421 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
-    break;
-
-  case 369:
-
-/* Line 1806 of yacc.c  */
-#line 1423 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
-    break;
-
-  case 370:
-
-/* Line 1806 of yacc.c  */
-#line 1426 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 371:
-
-/* Line 1806 of yacc.c  */
-#line 1429 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 373:
-
-/* Line 1806 of yacc.c  */
-#line 1435 "parser.yy"
-    { (yyval.en) = 0; }
-    break;
-
-  case 374:
-
-/* Line 1806 of yacc.c  */
-#line 1437 "parser.yy"
-    { (yyval.en) = (yyvsp[(1) - (1)].en); }
-    break;
-
-  case 375:
-
-/* Line 1806 of yacc.c  */
-#line 1442 "parser.yy"
-    { (yyval.en) = (yyvsp[(2) - (2)].en); }
-    break;
-
-  case 377:
-
-/* Line 1806 of yacc.c  */
-#line 1451 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
-    break;
-
-  case 378:
-
-/* Line 1806 of yacc.c  */
-#line 1453 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
-    break;
-
-  case 379:
-
-/* Line 1806 of yacc.c  */
-#line 1455 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
-    break;
-
-  case 380:
-
-/* Line 1806 of yacc.c  */
-#line 1460 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
-    break;
-
-  case 381:
-
-/* Line 1806 of yacc.c  */
-#line 1462 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
-    break;
-
-  case 382:
-
-/* Line 1806 of yacc.c  */
-#line 1467 "parser.yy"
-    { (yyval.en) = 0; }
-    break;
-
-  case 383:
-
-/* Line 1806 of yacc.c  */
-#line 1469 "parser.yy"
-    { (yyval.en) = (yyvsp[(2) - (2)].en); }
-    break;
-
-  case 384:
-
-/* Line 1806 of yacc.c  */
-#line 1476 "parser.yy"
-    { (yyval.decl) = 0; }
-    break;
-
-  case 388:
-
-/* Line 1806 of yacc.c  */
-#line 1484 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
-    break;
-
-  case 389:
-
-/* Line 1806 of yacc.c  */
-#line 1486 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
-    break;
-
-  case 390:
-
-/* Line 1806 of yacc.c  */
-#line 1488 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
-    break;
-
-  case 392:
-
-/* Line 1806 of yacc.c  */
-#line 1496 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
-    break;
-
-  case 393:
-
-/* Line 1806 of yacc.c  */
-#line 1498 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
-    break;
-
-  case 394:
-
-/* Line 1806 of yacc.c  */
-#line 1500 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
-    break;
-
-  case 396:
-
-/* Line 1806 of yacc.c  */
-#line 1506 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
-    break;
-
-  case 397:
-
-/* Line 1806 of yacc.c  */
-#line 1511 "parser.yy"
-    { (yyval.decl) = 0; }
-    break;
-
-  case 400:
-
-/* Line 1806 of yacc.c  */
-#line 1518 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
-    break;
-
-  case 403:
-
-/* Line 1806 of yacc.c  */
-#line 1525 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
-    break;
-
-  case 404:
-
-/* Line 1806 of yacc.c  */
-#line 1527 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
-    break;
-
-  case 406:
-
-/* Line 1806 of yacc.c  */
-#line 1536 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
-    break;
-
-  case 407:
-
-/* Line 1806 of yacc.c  */
-#line 1539 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
-    break;
-
-  case 408:
-
-/* Line 1806 of yacc.c  */
-#line 1541 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
-    break;
-
-  case 413:
-
-/* Line 1806 of yacc.c  */
-#line 1551 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 415:
-
-/* Line 1806 of yacc.c  */
-#line 1557 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) );
-		}
-    break;
-
-  case 416:
-
-/* Line 1806 of yacc.c  */
-#line 1562 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) );
-		}
-    break;
-
-  case 418:
-
-/* Line 1806 of yacc.c  */
-#line 1571 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 419:
-
-/* Line 1806 of yacc.c  */
-#line 1580 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
-    break;
-
-  case 420:
-
-/* Line 1806 of yacc.c  */
-#line 1582 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
-    break;
-
-  case 432:
-
-/* Line 1806 of yacc.c  */
-#line 1607 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 436:
-
-/* Line 1806 of yacc.c  */
-#line 1615 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 437:
-
-/* Line 1806 of yacc.c  */
-#line 1620 "parser.yy"
-    { (yyval.in) = 0; }
-    break;
-
-  case 438:
-
-/* Line 1806 of yacc.c  */
-#line 1621 "parser.yy"
-    { (yyval.in) = (yyvsp[(2) - (2)].in); }
-    break;
-
-  case 439:
-
-/* Line 1806 of yacc.c  */
-#line 1625 "parser.yy"
-    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
-    break;
-
-  case 440:
-
-/* Line 1806 of yacc.c  */
-#line 1626 "parser.yy"
-    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
-    break;
-
-  case 442:
-
-/* Line 1806 of yacc.c  */
-#line 1631 "parser.yy"
-    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
-    break;
-
-  case 443:
-
-/* Line 1806 of yacc.c  */
-#line 1632 "parser.yy"
-    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
-    break;
-
-  case 444:
-
-/* Line 1806 of yacc.c  */
-#line 1634 "parser.yy"
-    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
-    break;
-
-  case 446:
-
-/* Line 1806 of yacc.c  */
-#line 1650 "parser.yy"
-    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
-    break;
-
-  case 448:
-
-/* Line 1806 of yacc.c  */
-#line 1655 "parser.yy"
-    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
-    break;
-
-  case 449:
-
-/* Line 1806 of yacc.c  */
-#line 1661 "parser.yy"
-    { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); }
-    break;
-
-  case 450:
-
-/* Line 1806 of yacc.c  */
-#line 1664 "parser.yy"
-    { (yyval.en) = (yyvsp[(3) - (5)].en); }
-    break;
-
-  case 451:
-
-/* Line 1806 of yacc.c  */
-#line 1666 "parser.yy"
-    { (yyval.en) = (yyvsp[(3) - (5)].en); }
-    break;
-
-  case 452:
-
-/* Line 1806 of yacc.c  */
-#line 1668 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ); }
-    break;
-
-  case 453:
-
-/* Line 1806 of yacc.c  */
-#line 1670 "parser.yy"
-    { (yyval.en) = (yyvsp[(4) - (6)].en); }
-    break;
-
-  case 455:
-
-/* Line 1806 of yacc.c  */
-#line 1694 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 456:
-
-/* Line 1806 of yacc.c  */
-#line 1696 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 457:
-
-/* Line 1806 of yacc.c  */
-#line 1698 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
-    break;
-
-  case 458:
-
-/* Line 1806 of yacc.c  */
-#line 1703 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
-    break;
-
-  case 459:
-
-/* Line 1806 of yacc.c  */
-#line 1705 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); }
-    break;
-
-  case 460:
-
-/* Line 1806 of yacc.c  */
-#line 1707 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 462:
-
-/* Line 1806 of yacc.c  */
-#line 1713 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
-    break;
-
-  case 463:
-
-/* Line 1806 of yacc.c  */
-#line 1718 "parser.yy"
-    { typedefTable.addToEnclosingScope(*( (yyvsp[(2) - (2)].tok) ), TypedefTable::TD ); }
-    break;
-
-  case 464:
-
-/* Line 1806 of yacc.c  */
-#line 1720 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 466:
-
-/* Line 1806 of yacc.c  */
-#line 1726 "parser.yy"
-    { (yyval.tclass) = DeclarationNode::Type; }
-    break;
-
-  case 467:
-
-/* Line 1806 of yacc.c  */
-#line 1728 "parser.yy"
-    { (yyval.tclass) = DeclarationNode::Ftype; }
-    break;
-
-  case 468:
-
-/* Line 1806 of yacc.c  */
-#line 1730 "parser.yy"
-    { (yyval.tclass) = DeclarationNode::Dtype; }
-    break;
-
-  case 469:
-
-/* Line 1806 of yacc.c  */
-#line 1735 "parser.yy"
-    { (yyval.decl) = 0; }
-    break;
-
-  case 470:
-
-/* Line 1806 of yacc.c  */
-#line 1737 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 471:
-
-/* Line 1806 of yacc.c  */
-#line 1742 "parser.yy"
-    {
-			typedefTable.openContext( *( (yyvsp[(2) - (5)].tok) ) );
-			(yyval.decl) = DeclarationNode::newContextUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
-		}
-    break;
-
-  case 472:
-
-/* Line 1806 of yacc.c  */
-#line 1747 "parser.yy"
-    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
-    break;
-
-  case 473:
-
-/* Line 1806 of yacc.c  */
-#line 1749 "parser.yy"
-    { (yyval.decl) = 0; }
-    break;
-
-  case 474:
-
-/* Line 1806 of yacc.c  */
-#line 1754 "parser.yy"
-    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
-    break;
-
-  case 476:
-
-/* Line 1806 of yacc.c  */
-#line 1757 "parser.yy"
-    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
-    break;
-
-  case 477:
-
-/* Line 1806 of yacc.c  */
-#line 1759 "parser.yy"
-    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
-    break;
-
-  case 478:
-
-/* Line 1806 of yacc.c  */
-#line 1764 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
-    break;
-
-  case 479:
-
-/* Line 1806 of yacc.c  */
-#line 1766 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
-    break;
-
-  case 480:
-
-/* Line 1806 of yacc.c  */
-#line 1768 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
-    break;
-
-  case 481:
-
-/* Line 1806 of yacc.c  */
-#line 1773 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 482:
-
-/* Line 1806 of yacc.c  */
-#line 1775 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 483:
-
-/* Line 1806 of yacc.c  */
-#line 1780 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
-			(yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (1)].tok), 0 );
-		}
-    break;
-
-  case 484:
-
-/* Line 1806 of yacc.c  */
-#line 1785 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
-			(yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (6)].tok), (yyvsp[(4) - (6)].decl) );
-		}
-    break;
-
-  case 485:
-
-/* Line 1806 of yacc.c  */
-#line 1793 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
-			(yyval.decl) = DeclarationNode::newContext( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 );
-		}
-    break;
-
-  case 486:
-
-/* Line 1806 of yacc.c  */
-#line 1798 "parser.yy"
-    {
-			typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) );
-			typedefTable.enterScope();
-		}
-    break;
-
-  case 487:
-
-/* Line 1806 of yacc.c  */
-#line 1803 "parser.yy"
-    {
-			typedefTable.leaveContext();
-			typedefTable.addToEnclosingScope( *(yyvsp[(2) - (11)].tok), TypedefTable::ID );
-			(yyval.decl) = DeclarationNode::newContext( (yyvsp[(2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) );
-		}
-    break;
-
-  case 489:
-
-/* Line 1806 of yacc.c  */
-#line 1813 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
-    break;
-
-  case 492:
-
-/* Line 1806 of yacc.c  */
-#line 1823 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope2( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (1)].decl);
-		}
-    break;
-
-  case 493:
-
-/* Line 1806 of yacc.c  */
-#line 1828 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope2( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (1)].decl);
-		}
-    break;
-
-  case 494:
-
-/* Line 1806 of yacc.c  */
-#line 1833 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) );
-		}
-    break;
-
-  case 495:
-
-/* Line 1806 of yacc.c  */
-#line 1841 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope2( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) );
-		}
-    break;
-
-  case 496:
-
-/* Line 1806 of yacc.c  */
-#line 1846 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope2( TypedefTable::ID );
-			(yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) ) );
-		}
-    break;
-
-  case 497:
-
-/* Line 1806 of yacc.c  */
-#line 1856 "parser.yy"
-    {}
-    break;
-
-  case 498:
-
-/* Line 1806 of yacc.c  */
-#line 1858 "parser.yy"
-    {
-			if ( theTree ) {
-				theTree->appendList( (yyvsp[(1) - (1)].decl) );
-			} else {
-				theTree = (yyvsp[(1) - (1)].decl);
-			}
-		}
-    break;
-
-  case 500:
-
-/* Line 1806 of yacc.c  */
-#line 1870 "parser.yy"
-    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
-    break;
-
-  case 501:
-
-/* Line 1806 of yacc.c  */
-#line 1875 "parser.yy"
-    { (yyval.decl) = 0; }
-    break;
-
-  case 505:
-
-/* Line 1806 of yacc.c  */
-#line 1883 "parser.yy"
-    {}
-    break;
-
-  case 506:
-
-/* Line 1806 of yacc.c  */
-#line 1885 "parser.yy"
-    {
-			linkageStack.push( linkage );
-			linkage = LinkageSpec::fromString( *(yyvsp[(2) - (2)].tok) );
-		}
-    break;
-
-  case 507:
-
-/* Line 1806 of yacc.c  */
-#line 1890 "parser.yy"
-    {
-			linkage = linkageStack.top();
-			linkageStack.pop();
-			(yyval.decl) = (yyvsp[(5) - (6)].decl);
-		}
-    break;
-
-  case 508:
-
-/* Line 1806 of yacc.c  */
-#line 1896 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
-    break;
-
-  case 510:
-
-/* Line 1806 of yacc.c  */
-#line 1907 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) );
-		}
-    break;
-
-  case 511:
-
-/* Line 1806 of yacc.c  */
-#line 1913 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(1) - (4)].decl)->addOldDeclList( (yyvsp[(3) - (4)].decl) )->addFunctionBody( (yyvsp[(4) - (4)].sn) );
-		}
-    break;
-
-  case 512:
-
-/* Line 1806 of yacc.c  */
-#line 1922 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) );
-		}
-    break;
-
-  case 513:
-
-/* Line 1806 of yacc.c  */
-#line 1928 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addType( (yyvsp[(1) - (3)].decl) );
-		}
-    break;
-
-  case 514:
-
-/* Line 1806 of yacc.c  */
-#line 1934 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) );
-		}
-    break;
-
-  case 515:
-
-/* Line 1806 of yacc.c  */
-#line 1940 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) );
-		}
-    break;
-
-  case 516:
-
-/* Line 1806 of yacc.c  */
-#line 1946 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(3) - (4)].decl)->addFunctionBody( (yyvsp[(4) - (4)].sn) )->addQualifiers( (yyvsp[(2) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) );
-		}
-    break;
-
-  case 517:
-
-/* Line 1806 of yacc.c  */
-#line 1954 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addType( (yyvsp[(1) - (5)].decl) );
-		}
-    break;
-
-  case 518:
-
-/* Line 1806 of yacc.c  */
-#line 1960 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) );
-		}
-    break;
-
-  case 519:
-
-/* Line 1806 of yacc.c  */
-#line 1968 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) );
-		}
-    break;
-
-  case 520:
-
-/* Line 1806 of yacc.c  */
-#line 1974 "parser.yy"
-    {
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			(yyval.decl) = (yyvsp[(3) - (6)].decl)->addOldDeclList( (yyvsp[(5) - (6)].decl) )->addFunctionBody( (yyvsp[(6) - (6)].sn) )->addQualifiers( (yyvsp[(2) - (6)].decl) )->addQualifiers( (yyvsp[(1) - (6)].decl) );
-		}
-    break;
-
-  case 524:
-
-/* Line 1806 of yacc.c  */
-#line 1989 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
-    break;
-
-  case 537:
-
-/* Line 1806 of yacc.c  */
-#line 2023 "parser.yy"
-    {}
-    break;
-
-  case 538:
-
-/* Line 1806 of yacc.c  */
-#line 2024 "parser.yy"
-    {}
-    break;
-
-  case 539:
-
-/* Line 1806 of yacc.c  */
-#line 2025 "parser.yy"
-    {}
-    break;
-
-  case 540:
-
-/* Line 1806 of yacc.c  */
-#line 2026 "parser.yy"
-    {}
-    break;
-
-  case 545:
-
-/* Line 1806 of yacc.c  */
-#line 2068 "parser.yy"
-    {
-			typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
-			(yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) );
-		}
-    break;
-
-  case 546:
-
-/* Line 1806 of yacc.c  */
-#line 2073 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 547:
-
-/* Line 1806 of yacc.c  */
-#line 2078 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 548:
-
-/* Line 1806 of yacc.c  */
-#line 2080 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
-    break;
-
-  case 549:
-
-/* Line 1806 of yacc.c  */
-#line 2082 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 550:
-
-/* Line 1806 of yacc.c  */
-#line 2087 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 551:
-
-/* Line 1806 of yacc.c  */
-#line 2089 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 552:
-
-/* Line 1806 of yacc.c  */
-#line 2091 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 553:
-
-/* Line 1806 of yacc.c  */
-#line 2093 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 554:
-
-/* Line 1806 of yacc.c  */
-#line 2098 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
-    break;
-
-  case 555:
-
-/* Line 1806 of yacc.c  */
-#line 2100 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 559:
-
-/* Line 1806 of yacc.c  */
-#line 2116 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
-    break;
-
-  case 560:
-
-/* Line 1806 of yacc.c  */
-#line 2118 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
-    break;
-
-  case 561:
-
-/* Line 1806 of yacc.c  */
-#line 2120 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 562:
-
-/* Line 1806 of yacc.c  */
-#line 2125 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 563:
-
-/* Line 1806 of yacc.c  */
-#line 2127 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
-    break;
-
-  case 564:
-
-/* Line 1806 of yacc.c  */
-#line 2129 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 565:
-
-/* Line 1806 of yacc.c  */
-#line 2134 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 566:
-
-/* Line 1806 of yacc.c  */
-#line 2136 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 567:
-
-/* Line 1806 of yacc.c  */
-#line 2138 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 571:
-
-/* Line 1806 of yacc.c  */
-#line 2153 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
-    break;
-
-  case 572:
-
-/* Line 1806 of yacc.c  */
-#line 2155 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
-    break;
-
-  case 573:
-
-/* Line 1806 of yacc.c  */
-#line 2157 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 574:
-
-/* Line 1806 of yacc.c  */
-#line 2162 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 575:
-
-/* Line 1806 of yacc.c  */
-#line 2164 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
-    break;
-
-  case 576:
-
-/* Line 1806 of yacc.c  */
-#line 2166 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 577:
-
-/* Line 1806 of yacc.c  */
-#line 2171 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 578:
-
-/* Line 1806 of yacc.c  */
-#line 2173 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 579:
-
-/* Line 1806 of yacc.c  */
-#line 2175 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 584:
-
-/* Line 1806 of yacc.c  */
-#line 2197 "parser.yy"
-    {
-			typedefTable.setNextIdentifier( *( (yyvsp[(1) - (1)].tok) ) );
-			(yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) );
-		}
-    break;
-
-  case 585:
-
-/* Line 1806 of yacc.c  */
-#line 2202 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 586:
-
-/* Line 1806 of yacc.c  */
-#line 2207 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 587:
-
-/* Line 1806 of yacc.c  */
-#line 2209 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
-    break;
-
-  case 588:
-
-/* Line 1806 of yacc.c  */
-#line 2211 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 589:
-
-/* Line 1806 of yacc.c  */
-#line 2216 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 590:
-
-/* Line 1806 of yacc.c  */
-#line 2218 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 591:
-
-/* Line 1806 of yacc.c  */
-#line 2220 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 592:
-
-/* Line 1806 of yacc.c  */
-#line 2222 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 593:
-
-/* Line 1806 of yacc.c  */
-#line 2227 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
-    break;
-
-  case 594:
-
-/* Line 1806 of yacc.c  */
-#line 2229 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
-    break;
-
-  case 595:
-
-/* Line 1806 of yacc.c  */
-#line 2231 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 600:
-
-/* Line 1806 of yacc.c  */
-#line 2248 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 601:
-
-/* Line 1806 of yacc.c  */
-#line 2250 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
-    break;
-
-  case 602:
-
-/* Line 1806 of yacc.c  */
-#line 2252 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 603:
-
-/* Line 1806 of yacc.c  */
-#line 2257 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 604:
-
-/* Line 1806 of yacc.c  */
-#line 2259 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 605:
-
-/* Line 1806 of yacc.c  */
-#line 2261 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 606:
-
-/* Line 1806 of yacc.c  */
-#line 2263 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 607:
-
-/* Line 1806 of yacc.c  */
-#line 2268 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
-    break;
-
-  case 608:
-
-/* Line 1806 of yacc.c  */
-#line 2270 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
-    break;
-
-  case 609:
-
-/* Line 1806 of yacc.c  */
-#line 2272 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 614:
-
-/* Line 1806 of yacc.c  */
-#line 2310 "parser.yy"
-    {
-			typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
-			(yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) );
-		}
-    break;
-
-  case 615:
-
-/* Line 1806 of yacc.c  */
-#line 2318 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 616:
-
-/* Line 1806 of yacc.c  */
-#line 2320 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
-    break;
-
-  case 617:
-
-/* Line 1806 of yacc.c  */
-#line 2322 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 618:
-
-/* Line 1806 of yacc.c  */
-#line 2327 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 619:
-
-/* Line 1806 of yacc.c  */
-#line 2329 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 620:
-
-/* Line 1806 of yacc.c  */
-#line 2334 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
-    break;
-
-  case 621:
-
-/* Line 1806 of yacc.c  */
-#line 2336 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
-    break;
-
-  case 625:
-
-/* Line 1806 of yacc.c  */
-#line 2356 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
-    break;
-
-  case 626:
-
-/* Line 1806 of yacc.c  */
-#line 2358 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 627:
-
-/* Line 1806 of yacc.c  */
-#line 2360 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 628:
-
-/* Line 1806 of yacc.c  */
-#line 2362 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
-    break;
-
-  case 629:
-
-/* Line 1806 of yacc.c  */
-#line 2364 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 631:
-
-/* Line 1806 of yacc.c  */
-#line 2370 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 632:
-
-/* Line 1806 of yacc.c  */
-#line 2372 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 633:
-
-/* Line 1806 of yacc.c  */
-#line 2374 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 634:
-
-/* Line 1806 of yacc.c  */
-#line 2379 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
-    break;
-
-  case 635:
-
-/* Line 1806 of yacc.c  */
-#line 2381 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
-    break;
-
-  case 636:
-
-/* Line 1806 of yacc.c  */
-#line 2383 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 637:
-
-/* Line 1806 of yacc.c  */
-#line 2389 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
-    break;
-
-  case 638:
-
-/* Line 1806 of yacc.c  */
-#line 2391 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(5) - (5)].decl) ); }
-    break;
-
-  case 640:
-
-/* Line 1806 of yacc.c  */
-#line 2397 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
-    break;
-
-  case 641:
-
-/* Line 1806 of yacc.c  */
-#line 2399 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
-    break;
-
-  case 642:
-
-/* Line 1806 of yacc.c  */
-#line 2401 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
-    break;
-
-  case 643:
-
-/* Line 1806 of yacc.c  */
-#line 2403 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
-    break;
-
-  case 647:
-
-/* Line 1806 of yacc.c  */
-#line 2423 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
-    break;
-
-  case 648:
-
-/* Line 1806 of yacc.c  */
-#line 2425 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 649:
-
-/* Line 1806 of yacc.c  */
-#line 2427 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 650:
-
-/* Line 1806 of yacc.c  */
-#line 2429 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
-    break;
-
-  case 651:
-
-/* Line 1806 of yacc.c  */
-#line 2431 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 653:
-
-/* Line 1806 of yacc.c  */
-#line 2437 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 654:
-
-/* Line 1806 of yacc.c  */
-#line 2439 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 655:
-
-/* Line 1806 of yacc.c  */
-#line 2441 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 656:
-
-/* Line 1806 of yacc.c  */
-#line 2446 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
-    break;
-
-  case 657:
-
-/* Line 1806 of yacc.c  */
-#line 2448 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
-    break;
-
-  case 658:
-
-/* Line 1806 of yacc.c  */
-#line 2450 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 660:
-
-/* Line 1806 of yacc.c  */
-#line 2457 "parser.yy"
-    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 662:
-
-/* Line 1806 of yacc.c  */
-#line 2468 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
-    break;
-
-  case 663:
-
-/* Line 1806 of yacc.c  */
-#line 2471 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
-    break;
-
-  case 664:
-
-/* Line 1806 of yacc.c  */
-#line 2473 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
-    break;
-
-  case 665:
-
-/* Line 1806 of yacc.c  */
-#line 2476 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
-    break;
-
-  case 666:
-
-/* Line 1806 of yacc.c  */
-#line 2478 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
-    break;
-
-  case 667:
-
-/* Line 1806 of yacc.c  */
-#line 2480 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
-    break;
-
-  case 671:
-
-/* Line 1806 of yacc.c  */
-#line 2499 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
-    break;
-
-  case 672:
-
-/* Line 1806 of yacc.c  */
-#line 2501 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
-    break;
-
-  case 673:
-
-/* Line 1806 of yacc.c  */
-#line 2503 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 674:
-
-/* Line 1806 of yacc.c  */
-#line 2505 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
-    break;
-
-  case 675:
-
-/* Line 1806 of yacc.c  */
-#line 2507 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 677:
-
-/* Line 1806 of yacc.c  */
-#line 2513 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 678:
-
-/* Line 1806 of yacc.c  */
-#line 2515 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
-    break;
-
-  case 679:
-
-/* Line 1806 of yacc.c  */
-#line 2517 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 680:
-
-/* Line 1806 of yacc.c  */
-#line 2522 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
-    break;
-
-  case 681:
-
-/* Line 1806 of yacc.c  */
-#line 2524 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
-    break;
-
-  case 684:
-
-/* Line 1806 of yacc.c  */
-#line 2534 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 687:
-
-/* Line 1806 of yacc.c  */
-#line 2544 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 688:
-
-/* Line 1806 of yacc.c  */
-#line 2546 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
-    break;
-
-  case 689:
-
-/* Line 1806 of yacc.c  */
-#line 2548 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 690:
-
-/* Line 1806 of yacc.c  */
-#line 2550 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
-    break;
-
-  case 691:
-
-/* Line 1806 of yacc.c  */
-#line 2552 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 692:
-
-/* Line 1806 of yacc.c  */
-#line 2554 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
-    break;
-
-  case 693:
-
-/* Line 1806 of yacc.c  */
-#line 2561 "parser.yy"
-    { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-    break;
-
-  case 694:
-
-/* Line 1806 of yacc.c  */
-#line 2563 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 695:
-
-/* Line 1806 of yacc.c  */
-#line 2565 "parser.yy"
-    { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-    break;
-
-  case 696:
-
-/* Line 1806 of yacc.c  */
-#line 2567 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
-    break;
-
-  case 697:
-
-/* Line 1806 of yacc.c  */
-#line 2569 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 698:
-
-/* Line 1806 of yacc.c  */
-#line 2571 "parser.yy"
-    { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-    break;
-
-  case 699:
-
-/* Line 1806 of yacc.c  */
-#line 2573 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 700:
-
-/* Line 1806 of yacc.c  */
-#line 2575 "parser.yy"
-    { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-    break;
-
-  case 701:
-
-/* Line 1806 of yacc.c  */
-#line 2577 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
-    break;
-
-  case 702:
-
-/* Line 1806 of yacc.c  */
-#line 2579 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 703:
-
-/* Line 1806 of yacc.c  */
-#line 2584 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
-    break;
-
-  case 704:
-
-/* Line 1806 of yacc.c  */
-#line 2586 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
-    break;
-
-  case 705:
-
-/* Line 1806 of yacc.c  */
-#line 2591 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
-    break;
-
-  case 706:
-
-/* Line 1806 of yacc.c  */
-#line 2593 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
-    break;
-
-  case 708:
-
-/* Line 1806 of yacc.c  */
-#line 2620 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 712:
-
-/* Line 1806 of yacc.c  */
-#line 2631 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 713:
-
-/* Line 1806 of yacc.c  */
-#line 2633 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
-    break;
-
-  case 714:
-
-/* Line 1806 of yacc.c  */
-#line 2635 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 715:
-
-/* Line 1806 of yacc.c  */
-#line 2637 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
-    break;
-
-  case 716:
-
-/* Line 1806 of yacc.c  */
-#line 2639 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-    break;
-
-  case 717:
-
-/* Line 1806 of yacc.c  */
-#line 2641 "parser.yy"
-    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
-    break;
-
-  case 718:
-
-/* Line 1806 of yacc.c  */
-#line 2648 "parser.yy"
-    { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-    break;
-
-  case 719:
-
-/* Line 1806 of yacc.c  */
-#line 2650 "parser.yy"
-    { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-    break;
-
-  case 720:
-
-/* Line 1806 of yacc.c  */
-#line 2652 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 721:
-
-/* Line 1806 of yacc.c  */
-#line 2654 "parser.yy"
-    { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-    break;
-
-  case 722:
-
-/* Line 1806 of yacc.c  */
-#line 2656 "parser.yy"
-    { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-    break;
-
-  case 723:
-
-/* Line 1806 of yacc.c  */
-#line 2658 "parser.yy"
-    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
-    break;
-
-  case 724:
-
-/* Line 1806 of yacc.c  */
-#line 2663 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
-    break;
-
-  case 725:
-
-/* Line 1806 of yacc.c  */
-#line 2668 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (7)].decl), 0 ); }
-    break;
-
-  case 726:
-
-/* Line 1806 of yacc.c  */
-#line 2670 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
-    break;
-
-  case 727:
-
-/* Line 1806 of yacc.c  */
-#line 2672 "parser.yy"
-    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
-    break;
-
-  case 730:
-
-/* Line 1806 of yacc.c  */
-#line 2696 "parser.yy"
-    { (yyval.en) = 0; }
-    break;
-
-  case 731:
-
-/* Line 1806 of yacc.c  */
-#line 2698 "parser.yy"
-    { (yyval.en) = (yyvsp[(2) - (2)].en); }
-    break;
-
-
-
-/* Line 1806 of yacc.c  */
-#line 8886 "Parser/parser.cc"
-      default: break;
-    }
-  /* User semantic actions sometimes alter yychar, and that requires
-     that yytoken be updated with the new translation.  We take the
-     approach of translating immediately before every use of yytoken.
-     One alternative is translating here after every semantic action,
-     but that translation would be missed if the semantic action invokes
-     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
-     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
-     incorrect destructor might then be invoked immediately.  In the
-     case of YYERROR or YYBACKUP, subsequent parser actions might lead
-     to an incorrect destructor call or verbose syntax error message
-     before the lookahead is translated.  */
-  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
-
-  YYPOPSTACK (yylen);
-  yylen = 0;
-  YY_STACK_PRINT (yyss, yyssp);
-
-  *++yyvsp = yyval;
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
-  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTOKENS];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* Make sure we have latest lookahead translation.  See comments at
-     user semantic actions for why this is necessary.  */
-  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
-
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-#if ! YYERROR_VERBOSE
-      yyerror (YY_("syntax error"));
-#else
-# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
-                                        yyssp, yytoken)
-      {
-        char const *yymsgp = YY_("syntax error");
-        int yysyntax_error_status;
-        yysyntax_error_status = YYSYNTAX_ERROR;
-        if (yysyntax_error_status == 0)
-          yymsgp = yymsg;
-        else if (yysyntax_error_status == 1)
-          {
-            if (yymsg != yymsgbuf)
-              YYSTACK_FREE (yymsg);
-            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
-            if (!yymsg)
-              {
-                yymsg = yymsgbuf;
-                yymsg_alloc = sizeof yymsgbuf;
-                yysyntax_error_status = 2;
-              }
-            else
-              {
-                yysyntax_error_status = YYSYNTAX_ERROR;
-                yymsgp = yymsg;
-              }
-          }
-        yyerror (yymsgp);
-        if (yysyntax_error_status == 2)
-          goto yyexhaustedlab;
-      }
-# undef YYSYNTAX_ERROR
-#endif
-    }
-
-
-
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-	 error, discard it.  */
-
-      if (yychar <= YYEOF)
-	{
-	  /* Return failure if at end of input.  */
-	  if (yychar == YYEOF)
-	    YYABORT;
-	}
-      else
-	{
-	  yydestruct ("Error: discarding",
-		      yytoken, &yylval);
-	  yychar = YYEMPTY;
-	}
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-  goto yyerrlab1;
-
-
-/*---------------------------------------------------.
-| yyerrorlab -- error raised explicitly by YYERROR.  |
-`---------------------------------------------------*/
-yyerrorlab:
-
-  /* Pacify compilers like GCC when the user code never invokes
-     YYERROR and the label yyerrorlab therefore never appears in user
-     code.  */
-  if (/*CONSTCOND*/ 0)
-     goto yyerrorlab;
-
-  /* Do not reclaim the symbols of the rule which action triggered
-     this YYERROR.  */
-  YYPOPSTACK (yylen);
-  yylen = 0;
-  YY_STACK_PRINT (yyss, yyssp);
-  yystate = *yyssp;
-  goto yyerrlab1;
-
-
-/*-------------------------------------------------------------.
-| yyerrlab1 -- common code for both syntax error and YYERROR.  |
-`-------------------------------------------------------------*/
-yyerrlab1:
-  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
-
-  for (;;)
-    {
-      yyn = yypact[yystate];
-      if (!yypact_value_is_default (yyn))
-	{
-	  yyn += YYTERROR;
-	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
-	    {
-	      yyn = yytable[yyn];
-	      if (0 < yyn)
-		break;
-	    }
-	}
-
-      /* Pop the current state because it cannot handle the error token.  */
-      if (yyssp == yyss)
-	YYABORT;
-
-
-      yydestruct ("Error: popping",
-		  yystos[yystate], yyvsp);
-      YYPOPSTACK (1);
-      yystate = *yyssp;
-      YY_STACK_PRINT (yyss, yyssp);
-    }
-
-  *++yyvsp = yylval;
-
-
-  /* Shift the error token.  */
-  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-#if !defined(yyoverflow) || YYERROR_VERBOSE
-/*-------------------------------------------------.
-| yyexhaustedlab -- memory exhaustion comes here.  |
-`-------------------------------------------------*/
-yyexhaustedlab:
-  yyerror (YY_("memory exhausted"));
-  yyresult = 2;
-  /* Fall through.  */
-#endif
-
-yyreturn:
-  if (yychar != YYEMPTY)
-    {
-      /* Make sure we have latest lookahead translation.  See comments at
-         user semantic actions for why this is necessary.  */
-      yytoken = YYTRANSLATE (yychar);
-      yydestruct ("Cleanup: discarding lookahead",
-                  yytoken, &yylval);
-    }
-  /* Do not reclaim the symbols of the rule which action triggered
-     this YYABORT or YYACCEPT.  */
-  YYPOPSTACK (yylen);
-  YY_STACK_PRINT (yyss, yyssp);
-  while (yyssp != yyss)
-    {
-      yydestruct ("Cleanup: popping",
-		  yystos[*yyssp], yyvsp);
-      YYPOPSTACK (1);
-    }
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-#if YYERROR_VERBOSE
-  if (yymsg != yymsgbuf)
-    YYSTACK_FREE (yymsg);
-#endif
-  /* Make sure YYID is used.  */
-  return YYID (yyresult);
-}
-
-
-
-/* Line 2067 of yacc.c  */
-#line 2701 "parser.yy"
-
-// ----end of grammar----
-
-void yyerror( const char * ) {
-	std::cout << "Error ";
-	if ( yyfilename ) {
-	    std::cout << "in file " << yyfilename << " ";
-	} // if
-	std::cout << "at line " << yylineno << " reading token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << "\"" << std::endl;
-}
-
-// Local Variables: //
-// mode: c++ //
-// tab-width: 4 //
-// compile-command: "make install" //
-// End: //
-
Index: src/Parser/parser.h
===================================================================
--- src/Parser/parser.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,272 +1,0 @@
-/* A Bison parser, made by GNU Bison 2.5.  */
-
-/* Bison interface for Yacc-like parsers in C
-   
-      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
-   
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation, either version 3 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* As a special exception, you may create a larger work that contains
-   part or all of the Bison parser skeleton and distribute that work
-   under terms of your choice, so long as that work isn't itself a
-   parser generator using the skeleton or a modified version thereof
-   as a parser skeleton.  Alternatively, if you modify or redistribute
-   the parser skeleton itself, you may (at your option) remove this
-   special exception, which will cause the skeleton and the resulting
-   Bison output files to be licensed under the GNU General Public
-   License without this special exception.
-   
-   This special exception was added by the Free Software Foundation in
-   version 2.2 of Bison.  */
-
-
-/* Tokens.  */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     TYPEDEF = 258,
-     AUTO = 259,
-     EXTERN = 260,
-     REGISTER = 261,
-     STATIC = 262,
-     INLINE = 263,
-     FORTRAN = 264,
-     CONST = 265,
-     VOLATILE = 266,
-     RESTRICT = 267,
-     FORALL = 268,
-     LVALUE = 269,
-     VOID = 270,
-     CHAR = 271,
-     SHORT = 272,
-     INT = 273,
-     LONG = 274,
-     FLOAT = 275,
-     DOUBLE = 276,
-     SIGNED = 277,
-     UNSIGNED = 278,
-     BOOL = 279,
-     COMPLEX = 280,
-     IMAGINARY = 281,
-     TYPEOF = 282,
-     LABEL = 283,
-     ENUM = 284,
-     STRUCT = 285,
-     UNION = 286,
-     TYPE = 287,
-     FTYPE = 288,
-     DTYPE = 289,
-     CONTEXT = 290,
-     SIZEOF = 291,
-     ATTRIBUTE = 292,
-     EXTENSION = 293,
-     IF = 294,
-     ELSE = 295,
-     SWITCH = 296,
-     CASE = 297,
-     DEFAULT = 298,
-     DO = 299,
-     WHILE = 300,
-     FOR = 301,
-     BREAK = 302,
-     CONTINUE = 303,
-     GOTO = 304,
-     RETURN = 305,
-     CHOOSE = 306,
-     FALLTHRU = 307,
-     TRY = 308,
-     CATCH = 309,
-     FINALLY = 310,
-     THROW = 311,
-     ASM = 312,
-     ALIGNAS = 313,
-     ALIGNOF = 314,
-     ATOMIC = 315,
-     GENERIC = 316,
-     NORETURN = 317,
-     STATICASSERT = 318,
-     THREADLOCAL = 319,
-     IDENTIFIER = 320,
-     QUOTED_IDENTIFIER = 321,
-     TYPEDEFname = 322,
-     TYPEGENname = 323,
-     ATTR_IDENTIFIER = 324,
-     ATTR_TYPEDEFname = 325,
-     ATTR_TYPEGENname = 326,
-     INTEGERconstant = 327,
-     FLOATINGconstant = 328,
-     CHARACTERconstant = 329,
-     STRINGliteral = 330,
-     ZERO = 331,
-     ONE = 332,
-     ARROW = 333,
-     ICR = 334,
-     DECR = 335,
-     LS = 336,
-     RS = 337,
-     LE = 338,
-     GE = 339,
-     EQ = 340,
-     NE = 341,
-     ANDAND = 342,
-     OROR = 343,
-     ELLIPSIS = 344,
-     MULTassign = 345,
-     DIVassign = 346,
-     MODassign = 347,
-     PLUSassign = 348,
-     MINUSassign = 349,
-     LSassign = 350,
-     RSassign = 351,
-     ANDassign = 352,
-     ERassign = 353,
-     ORassign = 354,
-     THEN = 355
-   };
-#endif
-/* Tokens.  */
-#define TYPEDEF 258
-#define AUTO 259
-#define EXTERN 260
-#define REGISTER 261
-#define STATIC 262
-#define INLINE 263
-#define FORTRAN 264
-#define CONST 265
-#define VOLATILE 266
-#define RESTRICT 267
-#define FORALL 268
-#define LVALUE 269
-#define VOID 270
-#define CHAR 271
-#define SHORT 272
-#define INT 273
-#define LONG 274
-#define FLOAT 275
-#define DOUBLE 276
-#define SIGNED 277
-#define UNSIGNED 278
-#define BOOL 279
-#define COMPLEX 280
-#define IMAGINARY 281
-#define TYPEOF 282
-#define LABEL 283
-#define ENUM 284
-#define STRUCT 285
-#define UNION 286
-#define TYPE 287
-#define FTYPE 288
-#define DTYPE 289
-#define CONTEXT 290
-#define SIZEOF 291
-#define ATTRIBUTE 292
-#define EXTENSION 293
-#define IF 294
-#define ELSE 295
-#define SWITCH 296
-#define CASE 297
-#define DEFAULT 298
-#define DO 299
-#define WHILE 300
-#define FOR 301
-#define BREAK 302
-#define CONTINUE 303
-#define GOTO 304
-#define RETURN 305
-#define CHOOSE 306
-#define FALLTHRU 307
-#define TRY 308
-#define CATCH 309
-#define FINALLY 310
-#define THROW 311
-#define ASM 312
-#define ALIGNAS 313
-#define ALIGNOF 314
-#define ATOMIC 315
-#define GENERIC 316
-#define NORETURN 317
-#define STATICASSERT 318
-#define THREADLOCAL 319
-#define IDENTIFIER 320
-#define QUOTED_IDENTIFIER 321
-#define TYPEDEFname 322
-#define TYPEGENname 323
-#define ATTR_IDENTIFIER 324
-#define ATTR_TYPEDEFname 325
-#define ATTR_TYPEGENname 326
-#define INTEGERconstant 327
-#define FLOATINGconstant 328
-#define CHARACTERconstant 329
-#define STRINGliteral 330
-#define ZERO 331
-#define ONE 332
-#define ARROW 333
-#define ICR 334
-#define DECR 335
-#define LS 336
-#define RS 337
-#define LE 338
-#define GE 339
-#define EQ 340
-#define NE 341
-#define ANDAND 342
-#define OROR 343
-#define ELLIPSIS 344
-#define MULTassign 345
-#define DIVassign 346
-#define MODassign 347
-#define PLUSassign 348
-#define MINUSassign 349
-#define LSassign 350
-#define RSassign 351
-#define ANDassign 352
-#define ERassign 353
-#define ORassign 354
-#define THEN 355
-
-
-
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-{
-
-/* Line 2068 of yacc.c  */
-#line 107 "parser.yy"
-
-	Token tok;
-	ParseNode *pn;
-	ExpressionNode *en;
-	DeclarationNode *decl;
-	DeclarationNode::Aggregate aggKey;
-	DeclarationNode::TypeClass tclass;
-	StatementNode *sn;
-	ConstantNode *constant;
-	InitializerNode *in;
-
-
-
-/* Line 2068 of yacc.c  */
-#line 264 "Parser/parser.h"
-} YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-#endif
-
-extern YYSTYPE yylval;
-
-
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2716 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// cfa.y -- 
-// 
-// Author           : Peter A. Buhr
-// Created On       : Sat Sep  1 20:22:55 2001
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jun 25 22:36:33 2015
-// Update Count     : 1120
-// 
-
-// This grammar is based on the ANSI99/11 C grammar, specifically parts of EXPRESSION and STATEMENTS, and on the C
-// grammar by James A. Roskind, specifically parts of DECLARATIONS and EXTERNAL DEFINITIONS.  While parts have been
-// copied, important changes have been made in all sections; these changes are sufficient to constitute a new grammar.
-// In particular, this grammar attempts to be more syntactically precise, i.e., it parses less incorrect language syntax
-// that must be subsequently rejected by semantic checks.  Nevertheless, there are still several semantic checks
-// required and many are noted in the grammar. Finally, the grammar is extended with GCC and CFA language extensions.
-
-// Acknowledgments to Richard Bilson, Glen Ditchfield, and Rodolfo Gabriel Esteves who all helped when I got stuck with
-// the grammar.
-
-// The root language for this grammar is ANSI99/11 C. All of ANSI99/11 is parsed, except for:
-//
-// 1. designation with '=' (use ':' instead)
-//
-// Most of the syntactic extensions from ANSI90 to ANSI11 C are marked with the comment "C99/C11". This grammar also has
-// two levels of extensions. The first extensions cover most of the GCC C extensions, except for:
-//
-// 1. nested functions
-// 2. generalized lvalues
-// 3. designation with and without '=' (use ':' instead)
-// 4. attributes not allowed in parenthesis of declarator
-//
-// All of the syntactic extensions for GCC C are marked with the comment "GCC". The second extensions are for Cforall
-// (CFA), which fixes several of C's outstanding problems and extends C with many modern language concepts. All of the
-// syntactic extensions for CFA C are marked with the comment "CFA". As noted above, there is one unreconcileable
-// parsing problem between C99 and CFA with respect to designators; this is discussed in detail before the "designation"
-// grammar rule.
-
-%{
-#define YYDEBUG_LEXER_TEXT (yylval)						// lexer loads this up each time
-#define YYDEBUG 1										// get the pretty debugging code to compile
-extern char *yytext;
-
-#undef __GNUC_MINOR__
-
-#include <cstdio>
-#include <stack>
-#include "TypedefTable.h"
-#include "lex.h"
-#include "ParseNode.h"
-#include "LinkageSpec.h"
-
-DeclarationNode *theTree = 0;							// the resulting parse tree
-LinkageSpec::Type linkage = LinkageSpec::Cforall;
-std::stack< LinkageSpec::Type > linkageStack;
-TypedefTable typedefTable;
-%}
-
-//************************* TERMINAL TOKENS ********************************
-
-// keywords
-%token TYPEDEF
-%token AUTO EXTERN REGISTER STATIC
-%token INLINE											// C99
-%token FORTRAN											// C99, extension ISO/IEC 9899:1999 Section J.5.9(1)
-%token CONST VOLATILE
-%token RESTRICT											// C99
-%token FORALL LVALUE									// CFA
-%token VOID CHAR SHORT INT LONG FLOAT DOUBLE SIGNED UNSIGNED
-%token BOOL COMPLEX IMAGINARY							// C99
-%token TYPEOF LABEL										// GCC
-%token ENUM STRUCT UNION
-%token TYPE FTYPE DTYPE CONTEXT							// CFA
-%token SIZEOF
-%token ATTRIBUTE EXTENSION								// GCC
-%token IF ELSE SWITCH CASE DEFAULT DO WHILE FOR BREAK CONTINUE GOTO RETURN
-%token CHOOSE FALLTHRU TRY CATCH FINALLY THROW			// CFA
-%token ASM												// C99, extension ISO/IEC 9899:1999 Section J.5.10(1)
-%token ALIGNAS ALIGNOF ATOMIC GENERIC NORETURN STATICASSERT THREADLOCAL // C11
-
-// names and constants: lexer differentiates between identifier and typedef names
-%token<tok> IDENTIFIER			QUOTED_IDENTIFIER		TYPEDEFname				TYPEGENname
-%token<tok> ATTR_IDENTIFIER		ATTR_TYPEDEFname		ATTR_TYPEGENname
-%token<tok> INTEGERconstant		FLOATINGconstant		CHARACTERconstant		STRINGliteral
-%token<tok> ZERO				ONE						// CFA
-
-// multi-character operators
-%token ARROW											// ->
-%token ICR DECR											// ++	--
-%token LS RS											// <<	>>
-%token LE GE EQ NE										// <=	>=	==	!=
-%token ANDAND OROR										// &&	||
-%token ELLIPSIS											// ...
-
-%token MULTassign	DIVassign	MODassign				// *=	/=	%=/
-%token PLUSassign	MINUSassign							// +=	-=
-%token LSassign		RSassign							// <<=	>>=
-%token ANDassign	ERassign	ORassign				// &=	^=	|=
-
-// Types declaration
-%union
-{
-	Token tok;
-	ParseNode *pn;
-	ExpressionNode *en;
-	DeclarationNode *decl;
-	DeclarationNode::Aggregate aggKey;
-	DeclarationNode::TypeClass tclass;
-	StatementNode *sn;
-	ConstantNode *constant;
-	InitializerNode *in;
-}
-
-%type<tok> zero_one  identifier  no_attr_identifier  no_01_identifier
-%type<tok> identifier_or_typedef_name  no_attr_identifier_or_typedef_name  no_01_identifier_or_typedef_name
-%type<constant> string_literal_list
-
-// expressions
-%type<constant> constant
-%type<en> tuple							tuple_expression_list
-%type<en> unary_operator				assignment_operator
-%type<en> primary_expression			postfix_expression			unary_expression
-%type<en> cast_expression				multiplicative_expression	additive_expression			shift_expression
-%type<en> relational_expression			equality_expression			AND_expression				exclusive_OR_expression
-%type<en> inclusive_OR_expression		logical_AND_expression		logical_OR_expression		conditional_expression
-%type<en> constant_expression			assignment_expression		assignment_expression_opt
-%type<en> comma_expression				comma_expression_opt
-%type<en> argument_expression_list		argument_expression			for_control_expression		assignment_opt
-%type<en> subrange
-
-// statements
-%type<sn> labeled_statement				compound_statement			expression_statement		selection_statement
-%type<sn> iteration_statement			jump_statement				exception_statement			asm_statement
-%type<sn> fall_through_opt				fall_through
-%type<sn> statement						statement_list
-%type<sn> block_item_list				block_item
-%type<sn> case_clause
-%type<en> case_value					case_value_list
-%type<sn> case_label					case_label_list
-%type<sn> switch_clause_list_opt		switch_clause_list			choose_clause_list_opt		choose_clause_list
-%type<pn> handler_list					handler_clause				finally_clause
-
-// declarations
-%type<decl> abstract_array abstract_declarator abstract_function abstract_parameter_array
-%type<decl> abstract_parameter_declaration abstract_parameter_declarator abstract_parameter_function
-%type<decl> abstract_parameter_ptr abstract_ptr
-
-%type<aggKey> aggregate_key
-%type<decl>  aggregate_name
-
-%type<decl> array_dimension array_parameter_1st_dimension array_parameter_dimension multi_array_dimension
-
-%type<decl> assertion assertion_list_opt
-
-%type<en>   bit_subrange_size_opt bit_subrange_size
-
-%type<decl> basic_declaration_specifier basic_type_name basic_type_specifier direct_type_name indirect_type_name
-
-%type<decl> context_declaration context_declaration_list context_declaring_list context_specifier
-
-%type<decl> declaration declaration_list declaration_list_opt declaration_qualifier_list
-%type<decl> declaration_specifier declarator declaring_list
-
-%type<decl> elaborated_type_name
-
-%type<decl> enumerator_list enum_name
-%type<en> enumerator_value_opt
-
-%type<decl> exception_declaration external_definition external_definition_list external_definition_list_opt
-
-%type<decl> field_declaration field_declaration_list field_declarator field_declaring_list
-%type<en> field field_list
-
-%type<decl> external_function_definition function_definition function_array function_declarator function_no_ptr function_ptr
-
-%type<decl> identifier_parameter_array identifier_parameter_declarator identifier_parameter_function
-%type<decl> identifier_parameter_ptr identifier_list
-
-%type<decl> new_abstract_array new_abstract_declarator_no_tuple new_abstract_declarator_tuple
-%type<decl> new_abstract_function new_abstract_parameter_declaration new_abstract_parameter_list
-%type<decl> new_abstract_ptr new_abstract_tuple
-
-%type<decl> new_array_parameter_1st_dimension
-
-%type<decl> new_context_declaring_list new_declaration new_field_declaring_list
-%type<decl> new_function_declaration new_function_return new_function_specifier
-
-%type<decl> new_identifier_parameter_array new_identifier_parameter_declarator_no_tuple
-%type<decl> new_identifier_parameter_declarator_tuple new_identifier_parameter_ptr
-
-%type<decl> new_parameter_declaration new_parameter_list new_parameter_type_list new_parameter_type_list_opt
-
-%type<decl> new_typedef_declaration new_variable_declaration new_variable_specifier
-
-%type<decl> old_declaration old_declaration_list old_declaration_list_opt old_function_array
-%type<decl> old_function_declarator old_function_no_ptr old_function_ptr
-
-%type<decl> parameter_declaration parameter_list parameter_type_list
-%type<decl> parameter_type_list_opt
-
-%type<decl> paren_identifier paren_typedef
-
-%type<decl> storage_class storage_class_name storage_class_list
-
-%type<decl> sue_declaration_specifier sue_type_specifier
-
-%type<tclass> type_class
-%type<decl> type_declarator type_declarator_name type_declaring_list
-
-%type<decl> typedef typedef_array typedef_declaration typedef_declaration_specifier typedef_expression
-%type<decl> typedef_function typedef_parameter_array typedef_parameter_function typedef_parameter_ptr
-%type<decl> typedef_parameter_redeclarator typedef_ptr typedef_redeclarator typedef_type_specifier
-%type<decl> typegen_declaration_specifier typegen_type_specifier
-
-%type<decl> type_name type_name_no_function
-%type<decl> type_parameter type_parameter_list
-
-%type<en> type_name_list
-
-%type<decl> type_qualifier type_qualifier_name type_qualifier_list type_qualifier_list_opt type_specifier
-
-%type<decl> variable_abstract_array variable_abstract_declarator variable_abstract_function
-%type<decl> variable_abstract_ptr variable_array variable_declarator variable_function variable_ptr
-
-// initializers
-%type<in>  initializer initializer_list initializer_opt
-
-// designators
-%type<en>  designator designator_list designation
-
-
-// Handle single shift/reduce conflict for dangling else by shifting the ELSE token. For example, this string
-// is ambiguous:
-// .---------.				matches IF '(' comma_expression ')' statement
-// if ( C ) S1 else S2
-// `-----------------'		matches IF '(' comma_expression ')' statement ELSE statement */
-
-%nonassoc THEN	// rule precedence for IF '(' comma_expression ')' statement
-%nonassoc ELSE	// token precedence for start of else clause in IF statement
-
-%start translation_unit									// parse-tree root
-
-%%
-//************************* Namespace Management ********************************
-
-// The grammar in the ANSI C standard is not strictly context-free, since it relies upon the distinct terminal symbols
-// "identifier" and "TYPEDEFname" that are lexically identical.  While it is possible to write a purely context-free
-// grammar, such a grammar would obscure the relationship between syntactic and semantic constructs.  Hence, this
-// grammar uses the ANSI style.
-//
-// Cforall compounds this problem by introducing type names local to the scope of a declaration (for instance, those
-// introduced through "forall" qualifiers), and by introducing "type generators" -- parametrized types.  This latter
-// type name creates a third class of identifiers that must be distinguished by the scanner.
-//
-// Since the scanner cannot distinguish among the different classes of identifiers without some context information, it
-// accesses a data structure (the TypedefTable) to allow classification of an identifier that it has just read.
-// Semantic actions during the parser update this data structure when the class of identifiers change.
-//
-// Because the Cforall language is block-scoped, there is the possibility that an identifier can change its class in a
-// local scope; it must revert to its original class at the end of the block.  Since type names can be local to a
-// particular declaration, each declaration is itself a scope.  This requires distinguishing between type names that are
-// local to the current declaration scope and those that persist past the end of the declaration (i.e., names defined in
-// "typedef" or "type" declarations).
-//
-// The non-terminals "push" and "pop" derive the empty string; their only use is to denote the opening and closing of
-// scopes.  Every push must have a matching pop, although it is regrettable the matching pairs do not always occur
-// within the same rule.  These non-terminals may appear in more contexts than strictly necessary from a semantic point
-// of view.  Unfortunately, these extra rules are necessary to prevent parsing conflicts -- the parser may not have
-// enough context and look-ahead information to decide whether a new scope is necessary, so the effect of these extra
-// rules is to open a new scope unconditionally.  As the grammar evolves, it may be neccesary to add or move around
-// "push" and "pop" nonterminals to resolve conflicts of this sort.
-
-push:
-		{
-			typedefTable.enterScope();
-		}
-	;
-
-pop:
-		{
-			typedefTable.leaveScope();
-		}
-	;
-
-//************************* CONSTANTS ********************************
-
-constant:
-		// ENUMERATIONconstant is not included here; it is treated as a variable with type "enumeration constant".
-	INTEGERconstant								{ $$ = new ConstantNode( ConstantNode::Integer, $1 ); }
-	| FLOATINGconstant							{ $$ = new ConstantNode( ConstantNode::Float, $1 ); }
-	| CHARACTERconstant							{ $$ = new ConstantNode( ConstantNode::Character, $1 ); }
-	;
-
-identifier:
-	IDENTIFIER
-	| ATTR_IDENTIFIER									// CFA
-	| zero_one											// CFA
-	;
-
-no_01_identifier:
-	IDENTIFIER
-	| ATTR_IDENTIFIER									// CFA
-	;
-
-no_attr_identifier:
-	IDENTIFIER
-	;
-
-zero_one:												// CFA
-	ZERO
-	| ONE
-	;
-
-string_literal_list:									// juxtaposed strings are concatenated
-	STRINGliteral								{ $$ = new ConstantNode( ConstantNode::String, $1 ); }
-	| string_literal_list STRINGliteral			{ $$ = $1->appendstr( $2 ); }
-	;
-
-//************************* EXPRESSIONS ********************************
-
-primary_expression:
-	IDENTIFIER											// typedef name cannot be used as a variable name
-		{ $$ = new VarRefNode( $1 ); }
-	| zero_one
-		{ $$ = new VarRefNode( $1 ); }
-	| constant
-		{ $$ = $1; }
-	| string_literal_list
-		{ $$ = $1; }
-	| '(' comma_expression ')'
-		{ $$ = $2; }
-	| '(' compound_statement ')'						// GCC, lambda expression
-		{ $$ = new ValofExprNode( $2 ); }
-	;
-
-postfix_expression:
-	primary_expression
-	| postfix_expression '[' push assignment_expression pop ']'
-		// CFA, comma_expression disallowed in the context because it results in a commom user error: subscripting a
-		// matrix with x[i,j] instead of x[i][j]. While this change is not backwards compatible, there seems to be
-		// little advantage to this feature and many disadvantages. It is possible to write x[(i,j)] in CFA, which is
-		// equivalent to the old x[i,j].
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), $1, $4 ); }
-	| postfix_expression '(' argument_expression_list ')'
-		{ $$ = new CompositeExprNode( $1, $3 ); }
-	| postfix_expression '.' no_attr_identifier
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), $1, new VarRefNode( $3 )); }
-	| postfix_expression '.' '[' push field_list pop ']' // CFA, tuple field selector
-	| postfix_expression ARROW no_attr_identifier
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), $1, new VarRefNode( $3 )); }
-	| postfix_expression ARROW '[' push field_list pop ']' // CFA, tuple field selector
-	| postfix_expression ICR
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), $1 ); }
-	| postfix_expression DECR
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), $1 ); }
-		// GCC has priority: cast_expression
-	| '(' type_name_no_function ')' '{' initializer_list comma_opt '}' // C99
-		{ $$ = 0; }
-	;
-
-argument_expression_list:
-	argument_expression
-	| argument_expression_list ',' argument_expression
-		{ $$ = (ExpressionNode *)( $1->set_link( $3 )); }
-	;
-
-argument_expression:
-	// empty
-		{ $$ = 0; }										// use default argument
-	| assignment_expression
-	| no_attr_identifier ':' assignment_expression
-		{ $$ = $3->set_asArgName( $1 ); }
-		// Only a list of no_attr_identifier_or_typedef_name is allowed in this context. However, there is insufficient
-		// look ahead to distinguish between this list of parameter names and a tuple, so the tuple form must be used
-		// with an appropriate semantic check.
-	| '[' push assignment_expression pop ']' ':' assignment_expression
-		{ $$ = $7->set_asArgName( $3 ); }
-	| '[' push assignment_expression ',' tuple_expression_list pop ']' ':' assignment_expression
-		{ $$ = $9->set_asArgName( new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)$3->set_link( flattenCommas( $5 )))); }
-	;
-
-field_list:												// CFA, tuple field selector
-	field
-	| field_list ',' field						{ $$ = (ExpressionNode *)$1->set_link( $3 ); }
-	;
-
-field:													// CFA, tuple field selector
-	no_attr_identifier
-		{ $$ = new VarRefNode( $1 ); }
-	| no_attr_identifier '.' field
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( $1 ), $3 ); }
-	| no_attr_identifier '.' '[' push field_list pop ']'
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( $1 ), $5 ); }
-	| no_attr_identifier ARROW field
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( $1 ), $3 ); }
-	| no_attr_identifier ARROW '[' push field_list pop ']'
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( $1 ), $5 ); }
-	;
-
-unary_expression:
-	postfix_expression
-	| ICR unary_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), $2 ); }
-	| DECR unary_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), $2 ); }
-	| EXTENSION cast_expression							// GCC
-		{ $$ = $2; }
-	| unary_operator cast_expression
-		{ $$ = new CompositeExprNode( $1, $2 ); }
-	| '!' cast_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), $2 ); }
-	| '*' cast_expression								// CFA
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), $2 ); }
-		// '*' is is separated from unary_operator because of shift/reduce conflict in:
-		//		{ * X; } // dereference X
-		//		{ * int X; } // CFA declaration of pointer to int
-		// '&' must be moved here if C++ reference variables are supported.
-	| SIZEOF unary_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), $2 ); }
-	| SIZEOF '(' type_name_no_function ')'
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( $3 )); }
-	| ATTR_IDENTIFIER
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( $1 )); }
-	| ATTR_IDENTIFIER '(' type_name ')'
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( $1 ), new TypeValueNode( $3 )); }
-	| ATTR_IDENTIFIER '(' argument_expression ')'
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( $1 ), $3 ); }
-	| ALIGNOF unary_expression							// GCC, variable alignment
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), $2 ); }
-	| ALIGNOF '(' type_name_no_function ')'				// GCC, type alignment
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( $3 )); }
-	| ANDAND no_attr_identifier							// GCC, address of label
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( $2, true )); }
-	;
-
-unary_operator:
-	'&'											{ $$ = new OperatorNode( OperatorNode::AddressOf ); }
-	| '+'										{ $$ = new OperatorNode( OperatorNode::UnPlus ); }
-	| '-'										{ $$ = new OperatorNode( OperatorNode::UnMinus ); }
-	| '~'										{ $$ = new OperatorNode( OperatorNode::BitNeg ); }
-	;
-
-cast_expression:
-	unary_expression
-	| '(' type_name_no_function ')' cast_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( $2 ), $4 ); }
-	| '(' type_name_no_function ')' tuple
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( $2 ), $4 ); }
-	;
-
-multiplicative_expression:
-	cast_expression
-	| multiplicative_expression '*' cast_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), $1, $3 ); }
-	| multiplicative_expression '/' cast_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), $1, $3 ); }
-	| multiplicative_expression '%' cast_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), $1, $3 ); }
-	;
-
-additive_expression:
-	multiplicative_expression
-	| additive_expression '+' multiplicative_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), $1, $3 ); }
-	| additive_expression '-' multiplicative_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), $1, $3 ); }
-	;
-
-shift_expression:
-	additive_expression
-	| shift_expression LS additive_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), $1, $3 ); }
-	| shift_expression RS additive_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), $1, $3 ); }
-	;
-
-relational_expression:
-	shift_expression
-	| relational_expression '<' shift_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), $1, $3 ); }
-	| relational_expression '>' shift_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), $1, $3 ); }
-	| relational_expression LE shift_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), $1, $3 ); }
-	| relational_expression GE shift_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), $1, $3 ); }
-	;
-
-equality_expression:
-	relational_expression
-	| equality_expression EQ relational_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), $1, $3 ); }
-	| equality_expression NE relational_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), $1, $3 ); }
-	;
-
-AND_expression:
-	equality_expression
-	| AND_expression '&' equality_expression
-		{ $$ =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), $1, $3 ); }
-	;
-
-exclusive_OR_expression:
-	AND_expression
-	| exclusive_OR_expression '^' AND_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), $1, $3 ); }
-	;
-
-inclusive_OR_expression:
-	exclusive_OR_expression
-	| inclusive_OR_expression '|' exclusive_OR_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), $1, $3 ); }
-	;
-
-logical_AND_expression:
-	inclusive_OR_expression
-	| logical_AND_expression ANDAND inclusive_OR_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::And ), $1, $3 ); }
-	;
-
-logical_OR_expression:
-	logical_AND_expression
-	| logical_OR_expression OROR logical_AND_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), $1, $3 ); }
-	;
-
-conditional_expression:
-	logical_OR_expression
-	| logical_OR_expression '?' comma_expression ':' conditional_expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*$1, *$3, *$5 ) ) ); }
-	| logical_OR_expression '?' /* empty */ ':' conditional_expression // GCC, omitted first operand
-		{ $$=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), $1, $4 ); }
-	| logical_OR_expression '?' comma_expression ':' tuple // CFA, tuple expression
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*$1, *$3, *$5 ) ) ); }
-	;
-
-constant_expression:
-	conditional_expression
-	;
-
-assignment_expression:
-		// CFA, assignment is separated from assignment_operator to ensure no assignment operations for tuples
-	conditional_expression
-	| unary_expression '=' assignment_expression
-		{ $$ =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), $1, $3 ); }
-	| unary_expression assignment_operator assignment_expression
-		{ $$ =new CompositeExprNode( $2, $1, $3 ); }
-	| tuple assignment_opt								// CFA, tuple expression
-		{ $$ = ( $2 == 0 ) ? $1 : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), $1, $2 ); }
-	;
-
-assignment_expression_opt:
-	// empty
-		{ $$ = new NullExprNode; }
-	| assignment_expression
-	;
-
-tuple:													// CFA, tuple
-		// CFA, one assignment_expression is factored out of comma_expression to eliminate a shift/reduce conflict with
-		// comma_expression in new_identifier_parameter_array and new_abstract_array
-	'[' push pop ']'
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
-	| '[' push assignment_expression pop ']'
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), $3 ); }
-	| '[' push ',' tuple_expression_list pop ']'
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( $4 ) ); }
-	| '[' push assignment_expression ',' tuple_expression_list pop ']'
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)$3->set_link( flattenCommas( $5 ) ) ); }
-	;
-
-tuple_expression_list:
-	assignment_expression_opt
-	| tuple_expression_list ',' assignment_expression_opt
-		{ $$ = (ExpressionNode *)$1->set_link( $3 ); }
-	;
-
-assignment_operator:
-	MULTassign									{ $$ = new OperatorNode( OperatorNode::MulAssn ); }
-	| DIVassign									{ $$ = new OperatorNode( OperatorNode::DivAssn ); }
-	| MODassign									{ $$ = new OperatorNode( OperatorNode::ModAssn ); }
-	| PLUSassign								{ $$ = new OperatorNode( OperatorNode::PlusAssn ); }
-	| MINUSassign								{ $$ = new OperatorNode( OperatorNode::MinusAssn ); }
-	| LSassign									{ $$ = new OperatorNode( OperatorNode::LSAssn ); }
-	| RSassign									{ $$ = new OperatorNode( OperatorNode::RSAssn ); }
-	| ANDassign									{ $$ = new OperatorNode( OperatorNode::AndAssn ); }
-	| ERassign									{ $$ = new OperatorNode( OperatorNode::ERAssn ); }
-	| ORassign									{ $$ = new OperatorNode( OperatorNode::OrAssn ); }
-	;
-
-comma_expression:
-	assignment_expression
-	| comma_expression ',' assignment_expression	// { $$ = (ExpressionNode *)$1->add_to_list( $3 ); }
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), $1, $3 ); }
-	;
-
-comma_expression_opt:
-	// empty
-		{ $$ = 0; }
-	| comma_expression
-	;
-
-//*************************** STATEMENTS *******************************
-
-statement:
-	labeled_statement
-	| compound_statement
-	| expression_statement						{ $$ = $1; }
-	| selection_statement
-	| iteration_statement
-	| jump_statement
-	| exception_statement
-	| asm_statement
-	;
-
-labeled_statement:
-	no_attr_identifier ':' attribute_list_opt statement
-		{ $$ = $4->add_label( $1 );}
-	;
-
-compound_statement:
-	'{' '}'
-		{ $$ = new CompoundStmtNode( (StatementNode *)0 ); }
-	| '{'
-		// Two scopes are necessary because the block itself has a scope, but every declaration within the block also
-		// requires its own scope
-	  push push
-	  label_declaration_opt								// GCC, local labels
-	  block_item_list pop '}'							// C99, intermix declarations and statements
-		{ $$ = new CompoundStmtNode( $5 ); }
-	;
-
-block_item_list:										// C99
-	block_item
-	| block_item_list push block_item
-		{ if ( $1 != 0 ) { $1->set_link( $3 ); $$ = $1; } }
-	;
-
-block_item:
-	declaration											// CFA, new & old style declarations
-		{ $$ = new StatementNode( $1 ); }
-	| EXTENSION declaration								// GCC
-		{ $$ = new StatementNode( $2 ); }
-	| function_definition
-		{ $$ = new StatementNode( $1 ); }
-	| statement pop
-	;
-
-statement_list:
-	statement
-	| statement_list statement
-		{ if ( $1 != 0 ) { $1->set_link( $2 ); $$ = $1; } }
-	;
-
-expression_statement:
-	comma_expression_opt ';'
-		{ $$ = new StatementNode( StatementNode::Exp, $1, 0 ); }
-	;
-
-selection_statement:
-	IF '(' comma_expression ')' statement				%prec THEN
-		// explicitly deal with the shift/reduce conflict on if/else
-		{ $$ = new StatementNode( StatementNode::If, $3, $5 ); }
-	| IF '(' comma_expression ')' statement ELSE statement
-		{ $$ = new StatementNode( StatementNode::If, $3, (StatementNode *)mkList((*$5, *$7 )) ); }
-	| SWITCH '(' comma_expression ')' case_clause		// CFA
-		{ $$ = new StatementNode( StatementNode::Switch, $3, $5 ); }
-	| SWITCH '(' comma_expression ')' '{' push declaration_list_opt switch_clause_list_opt '}' // CFA
-		{ $$ = new StatementNode( StatementNode::Switch, $3, $8 ); /* xxx */ }
-		// The semantics of the declaration list is changed to include any associated initialization, which is performed
-		// *before* the transfer to the appropriate case clause.  Statements after the initial declaration list can
-		// never be executed, and therefore, are removed from the grammar even though C allows it.
-	| CHOOSE '(' comma_expression ')' case_clause		// CFA
-		{ $$ = new StatementNode( StatementNode::Choose, $3, $5 ); }
-	| CHOOSE '(' comma_expression ')' '{' push declaration_list_opt choose_clause_list_opt '}' // CFA
-		{ $$ = new StatementNode( StatementNode::Choose, $3, $8 ); }
-	;
-
-// CASE and DEFAULT clauses are only allowed in the SWITCH statement, precluding Duff's device. In addition, a case
-// clause allows a list of values and subranges.
-
-case_value:												// CFA
-	constant_expression							{ $$ = $1; }
-	| constant_expression ELLIPSIS constant_expression	// GCC, subrange
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), $1, $3 ); }
-	| subrange											// CFA, subrange
-	;
-
-case_value_list:										// CFA
-	case_value
-	| case_value_list ',' case_value
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( $1 ))->set_link( $3 ) ); }
-	;
-
-case_label:												// CFA
-	CASE case_value_list ':'					{ $$ = new StatementNode( StatementNode::Case, $2, 0 ); }
-	| DEFAULT ':'								{ $$ = new StatementNode( StatementNode::Default ); }
-		// A semantic check is required to ensure only one default clause per switch/choose statement.
-	;
-
-case_label_list:										// CFA
-	case_label
-	| case_label_list case_label				{ $$ = (StatementNode *)( $1->set_link( $2 )); }
-	;
-
-case_clause:											// CFA
-	case_label_list statement					{ $$ = $1->append_last_case( $2 ); }
-	;
-
-switch_clause_list_opt:									// CFA
-	// empty
-		{ $$ = 0; }
-	| switch_clause_list
-	;
-
-switch_clause_list:										// CFA
-	case_label_list statement_list
-		{ $$ = $1->append_last_case( $2 ); }
-	| switch_clause_list case_label_list statement_list
-		{ $$ = (StatementNode *)( $1->set_link( $2->append_last_case( $3 ))); }
-	;
-
-choose_clause_list_opt:									// CFA
-	// empty
-		{ $$ = 0; }
-	| choose_clause_list
-	;
-
-choose_clause_list:										// CFA
-	case_label_list fall_through
-		{ $$ = $1->append_last_case( $2 ); }
-	| case_label_list statement_list fall_through_opt
-		{ $$ = $1->append_last_case((StatementNode *)mkList((*$2,*$3 ))); }
-	| choose_clause_list case_label_list fall_through
-		{ $$ = (StatementNode *)( $1->set_link( $2->append_last_case( $3 ))); }
-	| choose_clause_list case_label_list statement_list fall_through_opt
-		{ $$ = (StatementNode *)( $1->set_link( $2->append_last_case((StatementNode *)mkList((*$3,*$4 ))))); }
-	;
-
-fall_through_opt:										// CFA
-	// empty
-		{ $$ = 0; }
-	| fall_through
-	;
-
-fall_through:											// CFA
-	FALLTHRU									{ $$ = new StatementNode( StatementNode::Fallthru, 0, 0 ); }
-	| FALLTHRU ';'								{ $$ = new StatementNode( StatementNode::Fallthru, 0, 0 ); }
-	;
-
-iteration_statement:
-	WHILE '(' comma_expression ')' statement
-		{ $$ = new StatementNode( StatementNode::While, $3, $5 ); }
-	| DO statement WHILE '(' comma_expression ')' ';'
-		{ $$ = new StatementNode( StatementNode::Do, $5, $2 ); }
-	| FOR '(' push for_control_expression ')' statement
-		{ $$ = new StatementNode( StatementNode::For, $4, $6 ); }
-	;
-
-for_control_expression:
-	comma_expression_opt pop ';' comma_expression_opt ';' comma_expression_opt
-		{ $$ = new ForCtlExprNode( $1, $4, $6 ); }
-	| declaration comma_expression_opt ';' comma_expression_opt // C99
-		{ $$ = new ForCtlExprNode( $1, $2, $4 ); }
-	;
-
-jump_statement:
-	GOTO no_attr_identifier ';'
-		{ $$ = new StatementNode( StatementNode::Goto, $2 ); }
-	| GOTO '*' comma_expression ';'						// GCC, computed goto
-		// The syntax for the GCC computed goto violates normal expression precedence, e.g., goto *i+3; => goto *(i+3 );
-		// whereas normal operator precedence yields goto (*i)+3;
-		{ $$ = new StatementNode( StatementNode::Goto, $3 ); }
-	| CONTINUE ';'
-		// A semantic check is required to ensure this statement appears only in the body of an iteration statement.
-		{ $$ = new StatementNode( StatementNode::Continue, 0, 0 ); }
-	| CONTINUE no_attr_identifier ';'					// CFA, multi-level continue
-		// A semantic check is required to ensure this statement appears only in the body of an iteration statement, and
-		// the target of the transfer appears only at the start of an iteration statement.
-		{ $$ = new StatementNode( StatementNode::Continue, $2 ); }
-	| BREAK ';'
-		// A semantic check is required to ensure this statement appears only in the body of an iteration statement.
-		{ $$ = new StatementNode( StatementNode::Break, 0, 0 ); }
-	| BREAK no_attr_identifier ';'						// CFA, multi-level exit
-		// A semantic check is required to ensure this statement appears only in the body of an iteration statement, and
-		// the target of the transfer appears only at the start of an iteration statement.
-		{ $$ = new StatementNode( StatementNode::Break, $2 ); }
-	| RETURN comma_expression_opt ';'
-		{ $$ = new StatementNode( StatementNode::Return, $2, 0 ); }
-	| THROW assignment_expression ';'
-		{ $$ = new StatementNode( StatementNode::Throw, $2, 0 ); }
-	| THROW ';'
-		{ $$ = new StatementNode( StatementNode::Throw, 0, 0 ); }
-	;
-
-exception_statement:
-	TRY compound_statement handler_list
-		{ $$ = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*$2,*$3 )))); }
-	| TRY compound_statement finally_clause
-		{ $$ = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*$2,*$3 )))); }
-	| TRY compound_statement handler_list finally_clause
-		{
-			$3->set_link( $4 );
-			$$ = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*$2,*$3 ))));
-		}
-	;
-
-handler_list:
-		// There must be at least one catch clause
-	handler_clause
-		// ISO/IEC 9899:1999 Section 15.3(6 ) If present, a "..." handler shall be the last handler for its try block.
-	| CATCH '(' ELLIPSIS ')' compound_statement
-		{ $$ = StatementNode::newCatchStmt( 0, $5, true ); }
-	| handler_clause CATCH '(' ELLIPSIS ')' compound_statement
-		{ $$ = $1->set_link( StatementNode::newCatchStmt( 0, $6, true ) ); }
-	;
-
-handler_clause:
-	CATCH '(' push push exception_declaration pop ')' compound_statement pop
-		{ $$ = StatementNode::newCatchStmt( $5, $8 ); }
-	| handler_clause CATCH '(' push push exception_declaration pop ')' compound_statement pop
-		{ $$ = $1->set_link( StatementNode::newCatchStmt( $6, $9 ) ); }
-	;
-
-finally_clause:
-	FINALLY compound_statement
-		{
-			$$ = new StatementNode( StatementNode::Finally, 0, $2 );
-			std::cout << "Just created a finally node" << std::endl;
-		}
-	;
-
-exception_declaration:
-		// A semantic check is required to ensure type_specifier does not create a new type, e.g.:
-		//
-		//		catch ( struct { int i; } x ) ...
-		//
-		// This new type cannot catch any thrown type because of name equivalence among types.
-	type_specifier
-	| type_specifier declarator
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $2->addType( $1 );
-		}
-	| type_specifier variable_abstract_declarator
-		{ $$ = $2->addType( $1 ); }
-	| new_abstract_declarator_tuple no_attr_identifier	// CFA
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $1->addName( $2 );
-		}
-	| new_abstract_declarator_tuple						// CFA
-	;
-
-asm_statement:
-	ASM type_qualifier_list_opt '(' constant_expression ')' ';'
-		{ $$ = new StatementNode( StatementNode::Asm, 0, 0 ); }
-	| ASM type_qualifier_list_opt '(' constant_expression ':' asm_operands_opt ')' ';' // remaining GCC
-		{ $$ = new StatementNode( StatementNode::Asm, 0, 0 ); }
-	| ASM type_qualifier_list_opt '(' constant_expression ':' asm_operands_opt ':' asm_operands_opt ')' ';'
-		{ $$ = new StatementNode( StatementNode::Asm, 0, 0 ); }
-	| ASM type_qualifier_list_opt '(' constant_expression ':' asm_operands_opt ':' asm_operands_opt ':' asm_clobbers_list ')' ';'
-		{ $$ = new StatementNode( StatementNode::Asm, 0, 0 ); }
-	;
-
-asm_operands_opt:										// GCC
-	// empty
-	| asm_operands_list
-	;
-
-asm_operands_list:										// GCC
-	asm_operand
-	| asm_operands_list ',' asm_operand
-	;
-
-asm_operand:											// GCC
-	STRINGliteral '(' constant_expression ')'	{}
-	;
-
-asm_clobbers_list:										// GCC
-	STRINGliteral								{}
-	| asm_clobbers_list ',' STRINGliteral
-	;
-
-//******************************* DECLARATIONS *********************************
-
-declaration_list_opt:									// used at beginning of switch statement
-	pop
-		{ $$ = 0; }
-	| declaration_list
-	;
-
-declaration_list:
-	declaration
-	| declaration_list push declaration
-		{ $$ = $1->appendList( $3 ); }
-	;
-
-old_declaration_list_opt:								// used to declare parameter types in K&R style functions
-	pop
-		{ $$ = 0; }
-	| old_declaration_list
-	;
-
-old_declaration_list:
-	old_declaration
-	| old_declaration_list push old_declaration
-		{ $$ = $1->appendList( $3 ); }
-	;
-
-label_declaration_opt:									// GCC, local label
-	// empty
-	| label_declaration_list
-	;
-
-label_declaration_list:									// GCC, local label
-	LABEL label_list ';'
-	| label_declaration_list LABEL label_list ';'
-	;
-
-label_list:												// GCC, local label
-	no_attr_identifier_or_typedef_name			{}
-	| label_list ',' no_attr_identifier_or_typedef_name {}
-	;
-
-declaration:											// CFA, new & old style declarations
-	new_declaration
-	| old_declaration
-	;
-
-// C declaration syntax is notoriously confusing and error prone. Cforall provides its own type, variable and function
-// declarations. CFA declarations use the same declaration tokens as in C; however, CFA places declaration modifiers to
-// the left of the base type, while C declarations place modifiers to the right of the base type. CFA declaration
-// modifiers are interpreted from left to right and the entire type specification is distributed across all variables in
-// the declaration list (as in Pascal).  ANSI C and the new CFA declarations may appear together in the same program
-// block, but cannot be mixed within a specific declaration.
-//
-//			CFA					C
-//		[10] int x;			int x[10];		// array of 10 integers
-//		[10] * char y;		char *y[10];	// array of 10 pointers to char
-
-new_declaration:										// CFA
-	new_variable_declaration pop ';'
-	| new_typedef_declaration pop ';'
-	| new_function_declaration pop ';'
-	| type_declaring_list pop ';'
-	| context_specifier pop ';'
-	;
-
-new_variable_declaration:								// CFA
-	new_variable_specifier initializer_opt
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $1;
-		}
-	| declaration_qualifier_list new_variable_specifier initializer_opt
-		// declaration_qualifier_list also includes type_qualifier_list, so a semantic check is necessary to preclude
-		// them as a type_qualifier cannot appear in that context.
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $2->addQualifiers( $1 );
-		}
-	| new_variable_declaration pop ',' push identifier_or_typedef_name initializer_opt
-		{
-			typedefTable.addToEnclosingScope( *$5, TypedefTable::ID );
-			$$ = $1->appendList( $1->cloneType( $5 ) );
-		}
-	;
-
-new_variable_specifier:									// CFA
-		// A semantic check is required to ensure asm_name only appears on declarations with implicit or explicit static
-		// storage-class
-	new_abstract_declarator_no_tuple identifier_or_typedef_name asm_name_opt
-		{
-			typedefTable.setNextIdentifier( *$2 );
-			$$ = $1->addName( $2 );
-		}
-	| new_abstract_tuple identifier_or_typedef_name asm_name_opt
-		{
-			typedefTable.setNextIdentifier( *$2 );
-			$$ = $1->addName( $2 );
-		}
-	| type_qualifier_list new_abstract_tuple identifier_or_typedef_name asm_name_opt
-		{
-			typedefTable.setNextIdentifier( *$3 );
-			$$ = $2->addQualifiers( $1 )->addName( $3 );
-		}
-	;
-
-new_function_declaration:								// CFA
-	new_function_specifier
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $1;
-		}
-	| type_qualifier_list new_function_specifier
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $2->addQualifiers( $1 );
-		}
-	| declaration_qualifier_list new_function_specifier
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $2->addQualifiers( $1 );
-		}
-	| declaration_qualifier_list type_qualifier_list new_function_specifier
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $3->addQualifiers( $1 )->addQualifiers( $2 );
-		}
-	| new_function_declaration pop ',' push identifier_or_typedef_name
-		{
-			typedefTable.addToEnclosingScope( *$5, TypedefTable::ID );
-			$$ = $1->appendList( $1->cloneType( $5 ) );
-		}
-	;
-
-new_function_specifier:									// CFA
-	'[' push pop ']' identifier '(' push new_parameter_type_list_opt pop ')'
-		{
-			typedefTable.setNextIdentifier( *( $5 ) );
-			$$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true );
-		}
-	| '[' push pop ']' TYPEDEFname '(' push new_parameter_type_list_opt pop ')'
-		{
-			typedefTable.setNextIdentifier( *( $5 ) );
-			$$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true );
-		}
-		// identifier_or_typedef_name must be broken apart because of the sequence:
-		//
-		//   '[' ']' identifier_or_typedef_name '(' new_parameter_type_list_opt ')'
-		//   '[' ']' type_specifier
-		//
-		// type_specifier can resolve to just TYPEDEFname (e.g. typedef int T; int f( T );). Therefore this must be
-		// flattened to allow lookahead to the '(' without having to reduce identifier_or_typedef_name.
-	| new_abstract_tuple identifier_or_typedef_name '(' push new_parameter_type_list_opt pop ')'
-		// To obtain LR(1 ), this rule must be factored out from function return type (see new_abstract_declarator).
-		{
-			$$ = DeclarationNode::newFunction( $2, $1, $5, 0, true );
-		}
-	| new_function_return identifier_or_typedef_name '(' push new_parameter_type_list_opt pop ')'
-		{
-			$$ = DeclarationNode::newFunction( $2, $1, $5, 0, true );
-		}
-	;
-
-new_function_return:									// CFA
-	'[' push new_parameter_list pop ']'
-		{ $$ = DeclarationNode::newTuple( $3 ); }
-	| '[' push new_parameter_list pop ',' push new_abstract_parameter_list pop ']'
-		// To obtain LR(1 ), the last new_abstract_parameter_list is added into this flattened rule to lookahead to the
-		// ']'.
-		{ $$ = DeclarationNode::newTuple( $3->appendList( $7 ) ); }
-	;
-
-new_typedef_declaration:								// CFA
-	TYPEDEF new_variable_specifier
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			$$ = $2->addTypedef();
-		}
-	| TYPEDEF new_function_specifier
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			$$ = $2->addTypedef();
-		}
-	| new_typedef_declaration pop ',' push no_attr_identifier
-		{
-			typedefTable.addToEnclosingScope( *$5, TypedefTable::TD );
-			$$ = $1->appendList( $1->cloneType( $5 ) );
-		}
-	;
-
-// Traditionally typedef is part of storage-class specifier for syntactic convenience only. Here, it is factored out as
-// a separate form of declaration, which syntactically precludes storage-class specifiers and initialization.
-
-typedef_declaration:
-	TYPEDEF type_specifier declarator
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			$$ = $3->addType( $2 )->addTypedef();
-		}
-	| typedef_declaration pop ',' push declarator
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			$$ = $1->appendList( $1->cloneBaseType( $5 )->addTypedef() );
-		}
-	| type_qualifier_list TYPEDEF type_specifier declarator // remaining OBSOLESCENT (see 2 )
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			$$ = $4->addType( $3 )->addQualifiers( $1 )->addTypedef();
-		}
-	| type_specifier TYPEDEF declarator
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			$$ = $3->addType( $1 )->addTypedef();
-		}
-	| type_specifier TYPEDEF type_qualifier_list declarator
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::TD );
-			$$ = $4->addQualifiers( $1 )->addTypedef()->addType( $1 );
-		}
-	;
-
-typedef_expression:
-		// GCC, naming expression type: typedef name = exp; gives a name to the type of an expression
-	TYPEDEF no_attr_identifier '=' assignment_expression
-		{
-			typedefTable.addToEnclosingScope( *$2, TypedefTable::TD );
-			$$ = DeclarationNode::newName( 0 ); // XXX
-		}
-	| typedef_expression pop ',' push no_attr_identifier '=' assignment_expression
-		{
-			typedefTable.addToEnclosingScope( *$5, TypedefTable::TD );
-			$$ = DeclarationNode::newName( 0 ); // XXX
-		}
-	;
-
-old_declaration:
-	declaring_list pop ';'
-	| typedef_declaration pop ';'
-	| typedef_expression pop ';'						// GCC, naming expression type
-	| sue_declaration_specifier pop ';'
-	;
-
-declaring_list:
-		// A semantic check is required to ensure asm_name only appears on declarations with implicit or explicit static
-		// storage-class
-	declaration_specifier declarator asm_name_opt initializer_opt
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = ( $2->addType( $1 ))->addInitializer( $4 );
-		}
-	| declaring_list ',' attribute_list_opt declarator asm_name_opt initializer_opt
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $1->appendList( $1->cloneBaseType( $4->addInitializer( $6 ) ) );
-		}
-	;
-
-declaration_specifier:									// type specifier + storage class
-	basic_declaration_specifier
-	| sue_declaration_specifier
-	| typedef_declaration_specifier
-	| typegen_declaration_specifier
-	;
-
-type_specifier:											// declaration specifier - storage class
-	basic_type_specifier
-	| sue_type_specifier
-	| typedef_type_specifier
-	| typegen_type_specifier
-	;
-
-type_qualifier_list_opt:								// GCC, used in asm_statement
-	// empty
-		{ $$ = 0; }
-	| type_qualifier_list
-	;
-
-type_qualifier_list:
-		// A semantic check is necessary to ensure a type qualifier is appropriate for the kind of declaration.
-		//
-		// ISO/IEC 9899:1999 Section 6.7.3(4 ) : If the same qualifier appears more than once in the same
-		// specifier-qualifier-list, either directly or via one or more typedefs, the behavior is the same as if it
-		// appeared only once.
-	type_qualifier
-	| type_qualifier_list type_qualifier
-		{ $$ = $1->addQualifiers( $2 ); }
-	;
-
-type_qualifier:
-	type_qualifier_name
-	| attribute
-		{ $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); }
-	;
-
-type_qualifier_name:
-	CONST
-		{ $$ = DeclarationNode::newQualifier( DeclarationNode::Const ); }
-	| RESTRICT
-		{ $$ = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
-	| VOLATILE
-		{ $$ = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
-	| LVALUE											// CFA
-		{ $$ = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
-	| ATOMIC
-		{ $$ = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
-	| FORALL '('
-		{
-			typedefTable.enterScope();
-		}
-	  type_parameter_list ')'							// CFA
-		{
-			typedefTable.leaveScope();
-			$$ = DeclarationNode::newForall( $4 );
-		}
-	;
-
-declaration_qualifier_list:
-	storage_class_list
-	| type_qualifier_list storage_class_list			// remaining OBSOLESCENT (see 2 )
-		{ $$ = $1->addQualifiers( $2 ); }
-	| declaration_qualifier_list type_qualifier_list storage_class_list
-		{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
-	;
-
-storage_class_list:
-		// A semantic check is necessary to ensure a storage class is appropriate for the kind of declaration and that
-		// only one of each is specified, except for inline, which can appear with the others.
-		//
-		// ISO/IEC 9899:1999 Section 6.7.1(2) : At most, one storage-class specifier may be given in the declaration
-		// specifiers in a declaration.
-	storage_class
-	| storage_class_list storage_class
-		{ $$ = $1->addQualifiers( $2 ); }
-	;
-
-storage_class:
-	storage_class_name
-	;
-
-storage_class_name:
-	EXTERN
-		{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
-	| STATIC
-		{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
-	| AUTO
-		{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
-	| REGISTER
-		{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
-	| INLINE											// C99
-		{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
-	| FORTRAN											// C99
-		{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
-	| NORETURN											// C11
-		{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
-	| THREADLOCAL										// C11
-		{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
-	;
-
-basic_type_name:
-	CHAR
-		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Char ); }
-	| DOUBLE
-		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Double ); }
-	| FLOAT
-		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Float ); }
-	| INT
-		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Int ); }
-	| LONG
-		{ $$ = DeclarationNode::newModifier( DeclarationNode::Long ); }
-	| SHORT
-		{ $$ = DeclarationNode::newModifier( DeclarationNode::Short ); }
-	| SIGNED
-		{ $$ = DeclarationNode::newModifier( DeclarationNode::Signed ); }
-	| UNSIGNED
-		{ $$ = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
-	| VOID
-		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Void ); }
-	| BOOL												// C99
-		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
-	| COMPLEX											// C99
-		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
-	| IMAGINARY											// C99
-		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
-	;
-
-basic_declaration_specifier:
-		// A semantic check is necessary for conflicting storage classes.
-	basic_type_specifier
-	| declaration_qualifier_list basic_type_specifier
-		{ $$ = $2->addQualifiers( $1 ); }
-	| basic_declaration_specifier storage_class			// remaining OBSOLESCENT (see 2)
-		{ $$ = $1->addQualifiers( $2 ); }
-	| basic_declaration_specifier storage_class type_qualifier_list
-		{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
-	| basic_declaration_specifier storage_class basic_type_specifier
-		{ $$ = $3->addQualifiers( $2 )->addType( $1 ); }
-	;
-
-basic_type_specifier:
-	direct_type_name
-	| type_qualifier_list_opt indirect_type_name type_qualifier_list_opt
-		{ $$ = $2->addQualifiers( $1 )->addQualifiers( $3 ); }
-	;
-
-direct_type_name:
-		// A semantic check is necessary for conflicting type qualifiers.
-	basic_type_name
-	| type_qualifier_list basic_type_name
-		{ $$ = $2->addQualifiers( $1 ); }
-	| direct_type_name type_qualifier
-		{ $$ = $1->addQualifiers( $2 ); }
-	| direct_type_name basic_type_name
-		{ $$ = $1->addType( $2 ); }
-	;
-
-indirect_type_name:
-	TYPEOF '(' type_name ')'							// GCC: typeof(x) y;
-		{ $$ = $3; }
-	| TYPEOF '(' comma_expression ')'					// GCC: typeof(a+b) y;
-		{ $$ = DeclarationNode::newTypeof( $3 ); }
-	| ATTR_TYPEGENname '(' type_name ')'				// CFA: e.g., @type(x) y;
-		{ $$ = DeclarationNode::newAttr( $1, $3 ); }
-	| ATTR_TYPEGENname '(' comma_expression ')'			// CFA: e.g., @type(a+b) y;
-		{ $$ = DeclarationNode::newAttr( $1, $3 ); }
-	;
-
-sue_declaration_specifier:
-	sue_type_specifier
-	| declaration_qualifier_list sue_type_specifier
-		{ $$ = $2->addQualifiers( $1 ); }
-	| sue_declaration_specifier storage_class			// remaining OBSOLESCENT (see 2)
-		{ $$ = $1->addQualifiers( $2 ); }
-	| sue_declaration_specifier storage_class type_qualifier_list
-		{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
-	;
-
-sue_type_specifier:
-	elaborated_type_name								// struct, union, enum
-	| type_qualifier_list elaborated_type_name
-		{ $$ = $2->addQualifiers( $1 ); }
-	| sue_type_specifier type_qualifier
-		{ $$ = $1->addQualifiers( $2 ); }
-	;
-
-typedef_declaration_specifier:
-	typedef_type_specifier
-	| declaration_qualifier_list typedef_type_specifier
-		{ $$ = $2->addQualifiers( $1 ); }
-	| typedef_declaration_specifier storage_class		// remaining OBSOLESCENT (see 2)
-		{ $$ = $1->addQualifiers( $2 ); }
-	| typedef_declaration_specifier storage_class type_qualifier_list
-		{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
-	;
-
-typedef_type_specifier:									// typedef types
-	TYPEDEFname
-		{ $$ = DeclarationNode::newFromTypedef( $1 ); }
-	| type_qualifier_list TYPEDEFname
-		{ $$ = DeclarationNode::newFromTypedef( $2 )->addQualifiers( $1 ); }
-	| typedef_type_specifier type_qualifier
-		{ $$ = $1->addQualifiers( $2 ); }
-	;
-
-elaborated_type_name:
-	aggregate_name
-	| enum_name
-	;
-
-aggregate_name:
-	aggregate_key '{' field_declaration_list '}'
-		{ $$ = DeclarationNode::newAggregate( $1, 0, 0, $3 ); }
-	| aggregate_key no_attr_identifier_or_typedef_name
-	 	{ $$ = DeclarationNode::newAggregate( $1, $2, 0, 0 ); }
-	| aggregate_key no_attr_identifier_or_typedef_name '{' field_declaration_list '}'
-	 	{ $$ = DeclarationNode::newAggregate( $1, $2, 0, $4 ); }
-	// | aggregate_key '(' push type_parameter_list pop ')' '{' field_declaration_list '}' // CFA
-	// 	{ $$ = DeclarationNode::newAggregate( $1, 0, $4, 0, $8 ); }
-	// | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name // CFA
-	// 	{ $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, 0 ); }
-	// | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA
-	// 	{ $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, $9 ); }
-	// | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' '{' field_declaration_list '}' // CFA
-	// 	{ $$ = DeclarationNode::newAggregate( $1, 0, $4, $8, $11 ); }
-	| aggregate_key '(' type_name_list ')' '{' field_declaration_list '}' // CFA
-	 	{ $$ = DeclarationNode::newAggregate( $1, 0, $3, $6 ); }
-	| aggregate_key '(' type_name_list ')' no_attr_identifier_or_typedef_name // CFA
-	 	{ $$ = DeclarationNode::newAggregate( $1, $5, $3, 0 ); }
-	// | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA
-	// 	{ $$ = DeclarationNode::newAggregate( $1, $10, $4, $8, $12 ); }
-	;
-
-aggregate_key:
-	STRUCT attribute_list_opt
-		{ $$ = DeclarationNode::Struct; }
-	| UNION attribute_list_opt
-		{ $$ = DeclarationNode::Union; }
-	;
-
-field_declaration_list:
-	field_declaration
-		{ $$ = $1; }
-	| field_declaration_list field_declaration
-		{ $$ = $1->appendList( $2 ); }
-	;
-
-field_declaration:
-	new_field_declaring_list ';'						// CFA, new style field declaration
-	| EXTENSION new_field_declaring_list ';'			// GCC
-		{ $$ = $2; }
-	| field_declaring_list ';'
-	| EXTENSION field_declaring_list ';'				// GCC
-		{ $$ = $2; }
-	;
-
-new_field_declaring_list:								// CFA, new style field declaration
-	new_abstract_declarator_tuple						// CFA, no field name
-	| new_abstract_declarator_tuple no_attr_identifier_or_typedef_name
-		{ $$ = $1->addName( $2 ); }
-	| new_field_declaring_list ',' no_attr_identifier_or_typedef_name
-		{ $$ = $1->appendList( $1->cloneType( $3 ) ); }
-	| new_field_declaring_list ','						// CFA, no field name
-		{ $$ = $1->appendList( $1->cloneType( 0 ) ); }
-	;
-
-field_declaring_list:
-	type_specifier field_declarator
-		{ $$ = $2->addType( $1 ); }
-	| field_declaring_list ',' attribute_list_opt field_declarator
-		{ $$ = $1->appendList( $1->cloneBaseType( $4 ) ); }
-	;
-
-field_declarator:
-	// empty
-		{ $$ = DeclarationNode::newName( 0 ); /* XXX */ } // CFA, no field name
-	| bit_subrange_size									// no field name
-		{ $$ = DeclarationNode::newBitfield( $1 ); }
-	| variable_declarator bit_subrange_size_opt
-		// A semantic check is required to ensure bit_subrange only appears on base type int.
-		{ $$ = $1->addBitfield( $2 ); }
-	| typedef_redeclarator bit_subrange_size_opt
-		// A semantic check is required to ensure bit_subrange only appears on base type int.
-		{ $$ = $1->addBitfield( $2 ); }
-	| variable_abstract_declarator						// CFA, no field name
-	;
-
-bit_subrange_size_opt:
-	// empty
-		{ $$ = 0; }
-	| bit_subrange_size
-		{ $$ = $1; }
-	;
-
-bit_subrange_size:
-	':' constant_expression
-		{ $$ = $2; }
-	;
-
-enum_key:
-	ENUM attribute_list_opt
-	;
-
-enum_name:
-	enum_key '{' enumerator_list comma_opt '}'
-		{ $$ = DeclarationNode::newEnum( 0, $3 ); }
-	| enum_key no_attr_identifier_or_typedef_name '{' enumerator_list comma_opt '}'
-		{ $$ = DeclarationNode::newEnum( $2, $4 ); }
-	| enum_key no_attr_identifier_or_typedef_name
-		{ $$ = DeclarationNode::newEnum( $2, 0 ); }
-	;
-
-enumerator_list:
-	no_attr_identifier_or_typedef_name enumerator_value_opt
-		{ $$ = DeclarationNode::newEnumConstant( $1, $2 ); }
-	| enumerator_list ',' no_attr_identifier_or_typedef_name enumerator_value_opt
-		{ $$ = $1->appendList( DeclarationNode::newEnumConstant( $3, $4 ) ); }
-	;
-
-enumerator_value_opt:
-	// empty
-		{ $$ = 0; }
-	| '=' constant_expression
-		{ $$ = $2; }
-	;
-
-// Minimum of one parameter after which ellipsis is allowed only at the end.
-
-new_parameter_type_list_opt:							// CFA
-	// empty
-		{ $$ = 0; }
-	| new_parameter_type_list
-	;
-
-new_parameter_type_list:								// CFA, abstract + real
-	new_abstract_parameter_list
-	| new_parameter_list
-	| new_parameter_list pop ',' push new_abstract_parameter_list
-		{ $$ = $1->appendList( $5 ); }
-	| new_abstract_parameter_list pop ',' push ELLIPSIS
-		{ $$ = $1->addVarArgs(); }
-	| new_parameter_list pop ',' push ELLIPSIS
-		{ $$ = $1->addVarArgs(); }
-	;
-
-new_parameter_list:										// CFA
-		// To obtain LR(1) between new_parameter_list and new_abstract_tuple, the last new_abstract_parameter_list is
-		// factored out from new_parameter_list, flattening the rules to get lookahead to the ']'.
-	new_parameter_declaration
-	| new_abstract_parameter_list pop ',' push new_parameter_declaration
-		{ $$ = $1->appendList( $5 ); }
-	| new_parameter_list pop ',' push new_parameter_declaration
-		{ $$ = $1->appendList( $5 ); }
-	| new_parameter_list pop ',' push new_abstract_parameter_list pop ',' push new_parameter_declaration
-		{ $$ = $1->appendList( $5 )->appendList( $9 ); }
-	;
-
-new_abstract_parameter_list:							// CFA, new & old style abstract
-	new_abstract_parameter_declaration
-	| new_abstract_parameter_list pop ',' push new_abstract_parameter_declaration
-		{ $$ = $1->appendList( $5 ); }
-	;
-
-parameter_type_list_opt:
-	// empty
-		{ $$ = 0; }
-	| parameter_type_list
-	;
-
-parameter_type_list:
-	parameter_list
-	| parameter_list pop ',' push ELLIPSIS
-		{ $$ = $1->addVarArgs(); }
-	;
-
-parameter_list:											// abstract + real
-	abstract_parameter_declaration
-	| parameter_declaration
-	| parameter_list pop ',' push abstract_parameter_declaration
-		{ $$ = $1->appendList( $5 ); }
-	| parameter_list pop ',' push parameter_declaration
-		{ $$ = $1->appendList( $5 ); }
-	;
-
-// Provides optional identifier names (abstract_declarator/variable_declarator), no initialization, different semantics
-// for typedef name by using typedef_parameter_redeclarator instead of typedef_redeclarator, and function prototypes.
-
-new_parameter_declaration:								// CFA, new & old style parameter declaration
-	parameter_declaration
-	| new_identifier_parameter_declarator_no_tuple identifier_or_typedef_name assignment_opt
-		{ $$ = $1->addName( $2 ); }
-	| new_abstract_tuple identifier_or_typedef_name assignment_opt
-		// To obtain LR(1), these rules must be duplicated here (see new_abstract_declarator).
-		{ $$ = $1->addName( $2 ); }
-	| type_qualifier_list new_abstract_tuple identifier_or_typedef_name assignment_opt
-		{ $$ = $2->addName( $3 )->addQualifiers( $1 ); }
-	| new_function_specifier
-	;
-
-new_abstract_parameter_declaration:						// CFA, new & old style parameter declaration
-	abstract_parameter_declaration
-	| new_identifier_parameter_declarator_no_tuple
-	| new_abstract_tuple
-		// To obtain LR(1), these rules must be duplicated here (see new_abstract_declarator).
-	| type_qualifier_list new_abstract_tuple
-		{ $$ = $2->addQualifiers( $1 ); }
-	| new_abstract_function
-	;
-
-parameter_declaration:
-	declaration_specifier identifier_parameter_declarator assignment_opt
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $2->addType( $1 )->addInitializer( new InitializerNode( $3 ) );
-		}
-	| declaration_specifier typedef_parameter_redeclarator assignment_opt
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			$$ = $2->addType( $1 )->addInitializer( new InitializerNode( $3 ) );
-		}
-	;
-
-abstract_parameter_declaration:
-	declaration_specifier
-	| declaration_specifier abstract_parameter_declarator
-		{ $$ = $2->addType( $1 ); }
-	;
-
-// ISO/IEC 9899:1999 Section 6.9.1(6) : "An identifier declared as a typedef name shall not be redeclared as a
-// parameter." Because the scope of the K&R-style parameter-list sees the typedef first, the following is based only on
-// identifiers.  The ANSI-style parameter-list can redefine a typedef name.
-
-identifier_list:										// K&R-style parameter list => no types
-	no_attr_identifier
-		{ $$ = DeclarationNode::newName( $1 ); }
-	| identifier_list ',' no_attr_identifier
-		{ $$ = $1->appendList( DeclarationNode::newName( $3 ) ); }
-	;
-
-identifier_or_typedef_name:
-	identifier
-	| TYPEDEFname
-	| TYPEGENname
-	;
-
-no_01_identifier_or_typedef_name:
-	no_01_identifier
-	| TYPEDEFname
-	| TYPEGENname
-	;
-
-no_attr_identifier_or_typedef_name:
-	no_attr_identifier
-	| TYPEDEFname
-	| TYPEGENname
-	;
-
-type_name_no_function:									// sizeof, alignof, cast (constructor)
-	new_abstract_declarator_tuple						// CFA
-	| type_specifier
-	| type_specifier variable_abstract_declarator
-		{ $$ = $2->addType( $1 ); }
-	;
-
-type_name:												// typeof, assertion
-	new_abstract_declarator_tuple						// CFA
-	| new_abstract_function								// CFA
-	| type_specifier
-	| type_specifier abstract_declarator
-		{ $$ = $2->addType( $1 ); }
-	;
-
-initializer_opt:
-	// empty
-		{ $$ = 0; }
-	| '=' initializer							{ $$ = $2; }
-	;
-
-initializer:
-	assignment_expression						{ $$ = new InitializerNode( $1 ); }
-	| '{' initializer_list comma_opt '}'		{ $$ = new InitializerNode( $2, true ); }
-	;
-
-initializer_list:
-	initializer
-	| designation initializer					{ $$ = $2->set_designators( $1 ); }
-	| initializer_list ',' initializer			{ $$ = (InitializerNode *)( $1->set_link( $3 ) ); }
-	| initializer_list ',' designation initializer
-		{ $$ = (InitializerNode *)( $1->set_link( $4->set_designators( $3 ) ) ); }
-	;
-
-// There is an unreconcileable parsing problem between C99 and CFA with respect to designators. The problem is use of
-// '=' to separator the designator from the initializer value, as in:
-//
-//		int x[10] = { [1] = 3 };
-//
-// The string "[1] = 3" can be parsed as a designator assignment or a tuple assignment.  To disambiguate this case, CFA
-// changes the syntax from "=" to ":" as the separator between the designator and initializer. GCC does uses ":" for
-// field selection. The optional use of the "=" in GCC, or in this case ":", cannot be supported either due to
-// shift/reduce conflicts
-
-designation:
-	designator_list ':'									// C99, CFA uses ":" instead of "="
-	| no_attr_identifier_or_typedef_name ':'			// GCC, field name
-				{ $$ = new VarRefNode( $1 ); }
-	;
-
-designator_list:										// C99
-	designator
-	| designator_list designator					{ $$ = (ExpressionNode *)( $1->set_link( $2 )); }
-	//| designator_list designator						{ $$ = new CompositeExprNode( $1, $2 ); }
-	;
-
-designator:
-	'.' no_attr_identifier_or_typedef_name				// C99, field name
-		{ $$ = new VarRefNode( $2 ); }
-	| '[' push assignment_expression pop ']'			// C99, single array element
-		// assignment_expression used instead of constant_expression because of shift/reduce conflicts with tuple.
-		{ $$ = $3; }
-	| '[' push subrange pop ']'							// CFA, multiple array elements
-		{ $$ = $3; }
-	| '[' push constant_expression ELLIPSIS constant_expression pop ']' // GCC, multiple array elements
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), $3, $5 ); }
-	| '.' '[' push field_list pop ']'					// CFA, tuple field selector
-		{ $$ = $4; }
-	;
-
-// The CFA type system is based on parametric polymorphism, the ability to declare functions with type parameters,
-// rather than an object-oriented type system. This required four groups of extensions:
-//
-// Overloading: function, data, and operator identifiers may be overloaded.
-//
-// Type declarations: "type" is used to generate new types for declaring objects. Similarly, "dtype" is used for object
-//     and incomplete types, and "ftype" is used for function types. Type declarations with initializers provide
-//     definitions of new types. Type declarations with storage class "extern" provide opaque types.
-//
-// Polymorphic functions: A forall clause declares a type parameter. The corresponding argument is inferred at the call
-//     site. A polymorphic function is not a template; it is a function, with an address and a type.
-//
-// Specifications and Assertions: Specifications are collections of declarations parameterized by one or more
-//     types. They serve many of the purposes of abstract classes, and specification hierarchies resemble subclass
-//     hierarchies. Unlike classes, they can define relationships between types.  Assertions declare that a type or
-//     types provide the operations declared by a specification.  Assertions are normally used to declare requirements
-//     on type arguments of polymorphic functions.
-
-typegen_declaration_specifier:							// CFA
-	typegen_type_specifier
-	| declaration_qualifier_list typegen_type_specifier
-		{ $$ = $2->addQualifiers( $1 ); }
-	| typegen_declaration_specifier storage_class		// remaining OBSOLESCENT (see 2)
-		{ $$ = $1->addQualifiers( $2 ); }
-	| typegen_declaration_specifier storage_class type_qualifier_list
-		{ $$ = $1->addQualifiers( $2 )->addQualifiers( $3 ); }
-	;
-
-typegen_type_specifier:									// CFA
-	TYPEGENname '(' type_name_list ')'
-		{ $$ = DeclarationNode::newFromTypeGen( $1, $3 ); }
-	| type_qualifier_list TYPEGENname '(' type_name_list ')'
-		{ $$ = DeclarationNode::newFromTypeGen( $2, $4 )->addQualifiers( $1 ); }
-	| typegen_type_specifier type_qualifier
-		{ $$ = $1->addQualifiers( $2 ); }
-	;
-
-type_parameter_list:									// CFA
-	type_parameter assignment_opt
-	| type_parameter_list ',' type_parameter assignment_opt
-		{ $$ = $1->appendList( $3 ); }
-	;
-
-type_parameter:											// CFA
-	type_class no_attr_identifier_or_typedef_name
-		{ typedefTable.addToEnclosingScope(*( $2 ), TypedefTable::TD ); }
-	  assertion_list_opt
-		{ $$ = DeclarationNode::newTypeParam( $1, $2 )->addAssertions( $4 ); }
-	| type_specifier identifier_parameter_declarator
-	;
-
-type_class:												// CFA
-	TYPE
-		{ $$ = DeclarationNode::Type; }
-	| DTYPE
-		{ $$ = DeclarationNode::Ftype; }
-	| FTYPE
-		{ $$ = DeclarationNode::Dtype; }
-	;
-
-assertion_list_opt:										// CFA
-	// empty
-		{ $$ = 0; }
-	| assertion_list_opt assertion
-		{ $$ = $1 == 0 ? $2 : $1->appendList( $2 ); }
-	;
-
-assertion:												// CFA
-	'|' no_attr_identifier_or_typedef_name '(' type_name_list ')'
-		{
-			typedefTable.openContext( *( $2 ) );
-			$$ = DeclarationNode::newContextUse( $2, $4 );
-		}
-	| '|' '{' push context_declaration_list '}'
-		{ $$ = $4; }
-	| '|' '(' push type_parameter_list pop ')' '{' push context_declaration_list '}' '(' type_name_list ')'
-		{ $$ = 0; }
-	;
-
-type_name_list:											// CFA
-	type_name
-		{ $$ = new TypeValueNode( $1 ); }
-	| assignment_expression
-	| type_name_list ',' type_name
-		{ $$ = (ExpressionNode *)( $1->set_link( new TypeValueNode( $3 ))); }
-	| type_name_list ',' assignment_expression
-		{ $$ = (ExpressionNode *)( $1->set_link( $3 )); }
-	;
-
-type_declaring_list:									// CFA
-	TYPE type_declarator
-		{ $$ = $2; }
-	| storage_class_list TYPE type_declarator
-		{ $$ = $3->addQualifiers( $1 ); }
-	| type_declaring_list ',' type_declarator
-		{ $$ = $1->appendList( $3->copyStorageClasses( $1 ) ); }
-	;
-
-type_declarator:										// CFA
-	type_declarator_name assertion_list_opt
-		{ $$ = $1->addAssertions( $2 ); }
-	| type_declarator_name assertion_list_opt '=' type_name
-		{ $$ = $1->addAssertions( $2 )->addType( $4 ); }
-	;
-
-type_declarator_name:									// CFA
-	no_attr_identifier_or_typedef_name
-		{
-			typedefTable.addToEnclosingScope( *$1, TypedefTable::TD );
-			$$ = DeclarationNode::newTypeDecl( $1, 0 );
-		}
-	| no_01_identifier_or_typedef_name '(' push type_parameter_list pop ')'
-		{
-			typedefTable.addToEnclosingScope( *$1, TypedefTable::TG );
-			$$ = DeclarationNode::newTypeDecl( $1, $4 );
-		}
-	;
-
-context_specifier:										// CFA
-	CONTEXT no_attr_identifier_or_typedef_name '(' push type_parameter_list pop ')' '{' '}'
-		{
-			typedefTable.addToEnclosingScope( *$2, TypedefTable::ID );
-			$$ = DeclarationNode::newContext( $2, $5, 0 );
-		}
-	| CONTEXT no_attr_identifier_or_typedef_name '(' push type_parameter_list pop ')' '{'
-		{
-			typedefTable.enterContext( *$2 );
-			typedefTable.enterScope();
-		}
-	  context_declaration_list '}'
-		{
-			typedefTable.leaveContext();
-			typedefTable.addToEnclosingScope( *$2, TypedefTable::ID );
-			$$ = DeclarationNode::newContext( $2, $5, $10 );
-		}
-	;
-
-context_declaration_list:								// CFA
-	context_declaration
-	| context_declaration_list push context_declaration
-		{ $$ = $1->appendList( $3 ); }
-	;
-
-context_declaration:									// CFA
-	new_context_declaring_list pop ';'
-	| context_declaring_list pop ';'
-	;
-
-new_context_declaring_list:								// CFA
-	new_variable_specifier
-		{
-			typedefTable.addToEnclosingScope2( TypedefTable::ID );
-			$$ = $1;
-		}
-	| new_function_specifier
-		{
-			typedefTable.addToEnclosingScope2( TypedefTable::ID );
-			$$ = $1;
-		}
-	| new_context_declaring_list pop ',' push identifier_or_typedef_name
-		{
-			typedefTable.addToEnclosingScope2( *$5, TypedefTable::ID );
-			$$ = $1->appendList( $1->cloneType( $5 ) );
-		}
-	;
-
-context_declaring_list:									// CFA
-	type_specifier declarator
-		{
-			typedefTable.addToEnclosingScope2( TypedefTable::ID );
-			$$ = $2->addType( $1 );
-		}
-	| context_declaring_list pop ',' push declarator
-		{
-			typedefTable.addToEnclosingScope2( TypedefTable::ID );
-			$$ = $1->appendList( $1->cloneBaseType( $5 ) );
-		}
-	;
-
-//***************************** EXTERNAL DEFINITIONS *****************************
-
-translation_unit:
-	// empty
-		{}												// empty input file
-	| external_definition_list
-		{
-			if ( theTree ) {
-				theTree->appendList( $1 );
-			} else {
-				theTree = $1;
-			}
-		}
-	;
-
-external_definition_list:
-	external_definition
-	| external_definition_list push external_definition
-		{ $$ = ( $1 != NULL ) ? $1->appendList( $3 ) : $3; }
-	;
-
-external_definition_list_opt:
-	// empty
-		{ $$ = 0; }
-	| external_definition_list
-	;
-
-external_definition:
-	declaration
-	| external_function_definition
-	| asm_statement										// GCC, global assembler statement
-		{}
-	| EXTERN STRINGliteral
-		{
-			linkageStack.push( linkage );
-			linkage = LinkageSpec::fromString( *$2 );
-		}
-	  '{' external_definition_list_opt '}'				// C++-style linkage specifier
-		{
-			linkage = linkageStack.top();
-			linkageStack.pop();
-			$$ = $5;
-		}
-	| EXTENSION external_definition
-		{ $$ = $2; }
-	;
-
-external_function_definition:
-	function_definition
-
-		// These rules are a concession to the "implicit int" type_specifier because there is a significant amount of
-		// code with functions missing a type-specifier on the return type.  Parsing is possible because
-		// function_definition does not appear in the context of an expression (nested functions would preclude this
-		// concession). A function prototype declaration must still have a type_specifier.  OBSOLESCENT (see 1)
-	| function_declarator compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $1->addFunctionBody( $2 );
-		}
-	| old_function_declarator push old_declaration_list_opt compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $1->addOldDeclList( $3 )->addFunctionBody( $4 );
-		}
-	;
-
-function_definition:
-	new_function_declaration compound_statement			// CFA
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $1->addFunctionBody( $2 );
-		}
-	| declaration_specifier function_declarator compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $2->addFunctionBody( $3 )->addType( $1 );
-		}
-	| type_qualifier_list function_declarator compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $2->addFunctionBody( $3 )->addQualifiers( $1 );
-		}
-	| declaration_qualifier_list function_declarator compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $2->addFunctionBody( $3 )->addQualifiers( $1 );
-		}
-	| declaration_qualifier_list type_qualifier_list function_declarator compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $3->addFunctionBody( $4 )->addQualifiers( $2 )->addQualifiers( $1 );
-		}
-
-		// Old-style K&R function definition, OBSOLESCENT (see 4)
-	| declaration_specifier old_function_declarator push old_declaration_list_opt compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $2->addOldDeclList( $4 )->addFunctionBody( $5 )->addType( $1 );
-		}
-	| type_qualifier_list old_function_declarator push old_declaration_list_opt compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $2->addOldDeclList( $4 )->addFunctionBody( $5 )->addQualifiers( $1 );
-		}
-
-		// Old-style K&R function definition with "implicit int" type_specifier, OBSOLESCENT (see 4)
-	| declaration_qualifier_list old_function_declarator push old_declaration_list_opt compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $2->addOldDeclList( $4 )->addFunctionBody( $5 )->addQualifiers( $1 );
-		}
-	| declaration_qualifier_list type_qualifier_list old_function_declarator push old_declaration_list_opt compound_statement
-		{
-			typedefTable.addToEnclosingScope( TypedefTable::ID );
-			typedefTable.leaveScope();
-			$$ = $3->addOldDeclList( $5 )->addFunctionBody( $6 )->addQualifiers( $2 )->addQualifiers( $1 );
-		}
-	;
-
-declarator:
-	variable_declarator
-	| function_declarator
-	| typedef_redeclarator
-	;
-
-subrange:
-	constant_expression '~' constant_expression			// CFA, integer subrange
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), $1, $3 ); }
-	;
-
-asm_name_opt:											// GCC
-	// empty
-	| ASM '(' string_literal_list ')' attribute_list_opt
-	;
-
-attribute_list_opt:										// GCC
-	// empty
-	| attribute_list
-	;
-
-attribute_list:											// GCC
-	attribute
-	| attribute_list attribute
-	;
-
-attribute:												// GCC
-	ATTRIBUTE '(' '(' attribute_parameter_list ')' ')'
-	;
-
-attribute_parameter_list:								// GCC
-	attrib
-	| attribute_parameter_list ',' attrib
-	;
-
-attrib:													// GCC
-	// empty
-	| any_word
-	| any_word '(' comma_expression_opt ')'
-	;
-
-any_word:												// GCC
-	identifier_or_typedef_name {}
-	| storage_class_name {}
-	| basic_type_name {}
-	| type_qualifier {}
-	;
-
-// ============================================================================
-// The following sections are a series of grammar patterns used to parse declarators. Multiple patterns are necessary
-// because the type of an identifier in wrapped around the identifier in the same form as its usage in an expression, as
-// in:
-//
-//		int (*f())[10] { ... };
-//		... (*f())[3] += 1;		// definition mimics usage
-//
-// Because these patterns are highly recursive, changes at a lower level in the recursion require copying some or all of
-// the pattern. Each of these patterns has some subtle variation to ensure correct syntax in a particular context.
-// ============================================================================
-
-// ----------------------------------------------------------------------------
-// The set of valid declarators before a compound statement for defining a function is less than the set of declarators
-// to define a variable or function prototype, e.g.:
-//
-//		valid declaration		invalid definition
-//		-----------------		------------------
-//		int f;					int f {}
-//		int *f;					int *f {}
-//		int f[10];				int f[10] {}
-//		int (*f)(int);			int (*f)(int) {}
-//
-// To preclude this syntactic anomaly requires separating the grammar rules for variable and function declarators, hence
-// variable_declarator and function_declarator.
-// ----------------------------------------------------------------------------
-
-// This pattern parses a declaration of a variable that is not redefining a typedef name. The pattern precludes
-// declaring an array of functions versus a pointer to an array of functions.
-
-variable_declarator:
-	paren_identifier attribute_list_opt
-	| variable_ptr
-	| variable_array attribute_list_opt
-	| variable_function attribute_list_opt
-	;
-
-paren_identifier:
-	identifier
-		{
-			typedefTable.setNextIdentifier( *$1 );
-			$$ = DeclarationNode::newName( $1 );
-		}
-	| '(' paren_identifier ')'							// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-variable_ptr:
-	'*' variable_declarator
-		{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
-	| '*' type_qualifier_list variable_declarator
-		{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
-	| '(' variable_ptr ')'
-		{ $$ = $2; }
-	;
-
-variable_array:
-	paren_identifier array_dimension
-		{ $$ = $1->addArray( $2 ); }
-	| '(' variable_ptr ')' array_dimension
-		{ $$ = $2->addArray( $4 ); }
-	| '(' variable_array ')' multi_array_dimension		// redundant parenthesis
-		{ $$ = $2->addArray( $4 ); }
-	| '(' variable_array ')'							// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-variable_function:
-	'(' variable_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $2->addParamList( $6 ); }
-	| '(' variable_function ')'							// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-// This pattern parses a function declarator that is not redefining a typedef name. Because functions cannot be nested,
-// there is no context where a function definition can redefine a typedef name. To allow nested functions requires
-// further separation of variable and function declarators in typedef_redeclarator.  The pattern precludes returning
-// arrays and functions versus pointers to arrays and functions.
-
-function_declarator:
-	function_no_ptr attribute_list_opt
-	| function_ptr
-	| function_array attribute_list_opt
-	;
-
-function_no_ptr:
-	paren_identifier '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $1->addParamList( $4 ); }
-	| '(' function_ptr ')' '(' push parameter_type_list_opt pop ')'
-		{ $$ = $2->addParamList( $6 ); }
-	| '(' function_no_ptr ')'							// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-function_ptr:
-	'*' function_declarator
-		{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
-	| '*' type_qualifier_list function_declarator
-		{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
-	| '(' function_ptr ')'
-		{ $$ = $2; }
-	;
-
-function_array:
-	'(' function_ptr ')' array_dimension
-		{ $$ = $2->addArray( $4 ); }
-	| '(' function_array ')' multi_array_dimension		// redundant parenthesis
-		{ $$ = $2->addArray( $4 ); }
-	| '(' function_array ')'							// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-// This pattern parses an old-style K&R function declarator (OBSOLESCENT, see 4) that is not redefining a typedef name
-// (see function_declarator for additional comments). The pattern precludes returning arrays and functions versus
-// pointers to arrays and functions.
-
-old_function_declarator:
-	old_function_no_ptr
-	| old_function_ptr
-	| old_function_array
-	;
-
-old_function_no_ptr:
-	paren_identifier '(' identifier_list ')'			// function_declarator handles empty parameter
-		{ $$ = $1->addIdList( $3 ); }
-	| '(' old_function_ptr ')' '(' identifier_list ')'
-		{ $$ = $2->addIdList( $5 ); }
-	| '(' old_function_no_ptr ')'						// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-old_function_ptr:
-	'*' old_function_declarator
-		{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
-	| '*' type_qualifier_list old_function_declarator
-		{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
-	| '(' old_function_ptr ')'
-		{ $$ = $2; }
-	;
-
-old_function_array:
-	'(' old_function_ptr ')' array_dimension
-		{ $$ = $2->addArray( $4 ); }
-	| '(' old_function_array ')' multi_array_dimension	// redundant parenthesis
-		{ $$ = $2->addArray( $4 ); }
-	| '(' old_function_array ')'						// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-// This pattern parses a declaration for a variable or function prototype that redefines a typedef name, e.g.:
-//
-//		typedef int foo;
-//		{
-//		   int foo; // redefine typedef name in new scope
-//		}
-//
-// The pattern precludes declaring an array of functions versus a pointer to an array of functions, and returning arrays
-// and functions versus pointers to arrays and functions.
-
-typedef_redeclarator:
-	paren_typedef attribute_list_opt
-	| typedef_ptr
-	| typedef_array attribute_list_opt
-	| typedef_function attribute_list_opt
-	;
-
-paren_typedef:
-	TYPEDEFname
-		{
-			typedefTable.setNextIdentifier( *( $1 ) );
-			$$ = DeclarationNode::newName( $1 );
-		}
-	| '(' paren_typedef ')'
-		{ $$ = $2; }
-	;
-
-typedef_ptr:
-	'*' typedef_redeclarator
-		{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
-	| '*' type_qualifier_list typedef_redeclarator
-		{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
-	| '(' typedef_ptr ')'
-		{ $$ = $2; }
-	;
-
-typedef_array:
-	paren_typedef array_dimension
-		{ $$ = $1->addArray( $2 ); }
-	| '(' typedef_ptr ')' array_dimension
-		{ $$ = $2->addArray( $4 ); }
-	| '(' typedef_array ')' multi_array_dimension		// redundant parenthesis
-		{ $$ = $2->addArray( $4 ); }
-	| '(' typedef_array ')'								// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-typedef_function:
-	paren_typedef '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $1->addParamList( $4 ); }
-	| '(' typedef_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $2->addParamList( $6 ); }
-	| '(' typedef_function ')'							// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-// This pattern parses a declaration for a parameter variable or function prototype that is not redefining a typedef
-// name and allows the C99 array options, which can only appear in a parameter list.  The pattern precludes declaring an
-// array of functions versus a pointer to an array of functions, and returning arrays and functions versus pointers to
-// arrays and functions.
-
-identifier_parameter_declarator:
-	paren_identifier attribute_list_opt
-	| identifier_parameter_ptr
-	| identifier_parameter_array attribute_list_opt
-	| identifier_parameter_function attribute_list_opt
-	;
-
-identifier_parameter_ptr:
-	'*' identifier_parameter_declarator
-		{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
-	| '*' type_qualifier_list identifier_parameter_declarator
-		{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
-	| '(' identifier_parameter_ptr ')'
-		{ $$ = $2; }
-	;
-
-identifier_parameter_array:
-	paren_identifier array_parameter_dimension
-		{ $$ = $1->addArray( $2 ); }
-	| '(' identifier_parameter_ptr ')' array_dimension
-		{ $$ = $2->addArray( $4 ); }
-	| '(' identifier_parameter_array ')' multi_array_dimension // redundant parenthesis
-		{ $$ = $2->addArray( $4 ); }
-	| '(' identifier_parameter_array ')'				// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-identifier_parameter_function:
-	paren_identifier '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $1->addParamList( $4 ); }
-	| '(' identifier_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $2->addParamList( $6 ); }
-	| '(' identifier_parameter_function ')'				// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-// This pattern parses a declaration for a parameter variable or function prototype that is redefining a typedef name,
-// e.g.:
-//
-//		typedef int foo;
-//		int f( int foo ); // redefine typedef name in new scope
-//
-// and allows the C99 array options, which can only appear in a parameter list.  In addition, the pattern handles the
-// special meaning of parenthesis around a typedef name:
-//
-//		ISO/IEC 9899:1999 Section 6.7.5.3(11) : "In a parameter declaration, a single typedef name in
-//		parentheses is taken to be an abstract declarator that specifies a function with a single parameter,
-//		not as redundant parentheses around the identifier."
-//
-// which precludes the following cases:
-//
-//		typedef float T;
-//		int f( int ( T [5] ) );					// see abstract_parameter_declarator
-//		int g( int ( T ( int ) ) );				// see abstract_parameter_declarator
-//		int f( int f1( T a[5] ) );				// see identifier_parameter_declarator
-//		int g( int g1( T g2( int p ) ) );		// see identifier_parameter_declarator
-//
-// In essence, a '(' immediately to the left of typedef name, T, is interpreted as starting a parameter type list, and
-// not as redundant parentheses around a redeclaration of T. Finally, the pattern also precludes declaring an array of
-// functions versus a pointer to an array of functions, and returning arrays and functions versus pointers to arrays and
-// functions.
-
-typedef_parameter_redeclarator:
-	typedef attribute_list_opt
-	| typedef_parameter_ptr
-	| typedef_parameter_array attribute_list_opt
-	| typedef_parameter_function attribute_list_opt
-	;
-
-typedef:
-	TYPEDEFname
-		{
-			typedefTable.setNextIdentifier( *$1 );
-			$$ = DeclarationNode::newName( $1 );
-		}
-	;
-
-typedef_parameter_ptr:
-	'*' typedef_parameter_redeclarator
-		{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
-	| '*' type_qualifier_list typedef_parameter_redeclarator
-		{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
-	| '(' typedef_parameter_ptr ')'
-		{ $$ = $2; }
-	;
-
-typedef_parameter_array:
-	typedef array_parameter_dimension
-		{ $$ = $1->addArray( $2 ); }
-	| '(' typedef_parameter_ptr ')' array_parameter_dimension
-		{ $$ = $2->addArray( $4 ); }
-	;
-
-typedef_parameter_function:
-	typedef '(' push parameter_type_list_opt pop ')'	// empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $1->addParamList( $4 ); }
-	| '(' typedef_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $2->addParamList( $6 ); }
-	;
-
-// This pattern parses a declaration of an abstract variable or function prototype, i.e., there is no identifier to
-// which the type applies, e.g.:
-//
-//		sizeof( int );
-//		sizeof( int [10] );
-//
-// The pattern precludes declaring an array of functions versus a pointer to an array of functions, and returning arrays
-// and functions versus pointers to arrays and functions.
-
-abstract_declarator:
-	abstract_ptr
-	| abstract_array attribute_list_opt
-	| abstract_function attribute_list_opt
-	;
-
-abstract_ptr:
-	'*'
-		{ $$ = DeclarationNode::newPointer( 0 ); }
-	| '*' type_qualifier_list
-		{ $$ = DeclarationNode::newPointer( $2 ); }
-	| '*' abstract_declarator
-		{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
-	| '*' type_qualifier_list abstract_declarator
-		{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
-	| '(' abstract_ptr ')'
-		{ $$ = $2; }
-	;
-
-abstract_array:
-	array_dimension
-	| '(' abstract_ptr ')' array_dimension
-		{ $$ = $2->addArray( $4 ); }
-	| '(' abstract_array ')' multi_array_dimension		// redundant parenthesis
-		{ $$ = $2->addArray( $4 ); }
-	| '(' abstract_array ')'							// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-abstract_function:
-	'(' push parameter_type_list_opt pop ')'			// empty parameter list OBSOLESCENT (see 3)
-		{ $$ = DeclarationNode::newFunction( 0, 0, $3, 0 ); }
-	| '(' abstract_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $2->addParamList( $6 ); }
-	| '(' abstract_function ')'							// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-array_dimension:
-		// Only the first dimension can be empty.
-	'[' push pop ']'
-		{ $$ = DeclarationNode::newArray( 0, 0, false ); }
-	| '[' push pop ']' multi_array_dimension
-		{ $$ = DeclarationNode::newArray( 0, 0, false )->addArray( $5 ); }
-	| multi_array_dimension
-	;
-
-multi_array_dimension:
-	'[' push assignment_expression pop ']'
-		{ $$ = DeclarationNode::newArray( $3, 0, false ); }
-	| '[' push '*' pop ']'								// C99
-		{ $$ = DeclarationNode::newVarArray( 0 ); }
-	| multi_array_dimension '[' push assignment_expression pop ']'
-		{ $$ = $1->addArray( DeclarationNode::newArray( $4, 0, false ) ); }
-	| multi_array_dimension '[' push '*' pop ']'		// C99
-		{ $$ = $1->addArray( DeclarationNode::newVarArray( 0 ) ); }
-	;
-
-// This pattern parses a declaration of a parameter abstract variable or function prototype, i.e., there is no
-// identifier to which the type applies, e.g.:
-//
-//		int f( int );			// abstract variable parameter; no parameter name specified
-//		int f( int (int) );		// abstract function-prototype parameter; no parameter name specified
-//
-// The pattern precludes declaring an array of functions versus a pointer to an array of functions, and returning arrays
-// and functions versus pointers to arrays and functions.
-
-abstract_parameter_declarator:
-	abstract_parameter_ptr
-	| abstract_parameter_array attribute_list_opt
-	| abstract_parameter_function attribute_list_opt
-	;
-
-abstract_parameter_ptr:
-	'*'
-		{ $$ = DeclarationNode::newPointer( 0 ); }
-	| '*' type_qualifier_list
-		{ $$ = DeclarationNode::newPointer( $2 ); }
-	| '*' abstract_parameter_declarator
-		{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
-	| '*' type_qualifier_list abstract_parameter_declarator
-		{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
-	| '(' abstract_parameter_ptr ')'
-		{ $$ = $2; }
-	;
-
-abstract_parameter_array:
-	array_parameter_dimension
-	| '(' abstract_parameter_ptr ')' array_parameter_dimension
-		{ $$ = $2->addArray( $4 ); }
-	| '(' abstract_parameter_array ')' multi_array_dimension // redundant parenthesis
-		{ $$ = $2->addArray( $4 ); }
-	| '(' abstract_parameter_array ')'					// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-abstract_parameter_function:
-	'(' push parameter_type_list_opt pop ')'			// empty parameter list OBSOLESCENT (see 3)
-		{ $$ = DeclarationNode::newFunction( 0, 0, $3, 0 ); }
-	| '(' abstract_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $2->addParamList( $6 ); }
-	| '(' abstract_parameter_function ')'				// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-array_parameter_dimension:
-		// Only the first dimension can be empty or have qualifiers.
-	array_parameter_1st_dimension
-	| array_parameter_1st_dimension multi_array_dimension
-		{ $$ = $1->addArray( $2 ); }
-	| multi_array_dimension
-	;
-
-// The declaration of an array parameter has additional syntax over arrays in normal variable declarations:
-//
-//		ISO/IEC 9899:1999 Section 6.7.5.2(1) : "The optional type qualifiers and the keyword static shall appear only in
-//		a declaration of a function parameter with an array type, and then only in the outermost array type derivation."
-
-array_parameter_1st_dimension:
-	'[' push pop ']'
-		{ $$ = DeclarationNode::newArray( 0, 0, false ); }
-	// multi_array_dimension handles the '[' '*' ']' case
-	| '[' push type_qualifier_list '*' pop ']'			// remaining C99
-		{ $$ = DeclarationNode::newVarArray( $3 ); }
-	| '[' push type_qualifier_list pop ']'
-		{ $$ = DeclarationNode::newArray( 0, $3, false ); }
-	// multi_array_dimension handles the '[' assignment_expression ']' case
-	| '[' push type_qualifier_list assignment_expression pop ']'
-		{ $$ = DeclarationNode::newArray( $4, $3, false ); }
-	| '[' push STATIC type_qualifier_list_opt assignment_expression pop ']'
-		{ $$ = DeclarationNode::newArray( $5, $4, true ); }
-	| '[' push type_qualifier_list STATIC assignment_expression pop ']'
-		{ $$ = DeclarationNode::newArray( $5, $3, true ); }
-	;
-
-// This pattern parses a declaration of an abstract variable, i.e., there is no identifier to which the type applies,
-// e.g.:
-//
-//		sizeof( int ); // abstract variable; no identifier name specified
-//
-// The pattern precludes declaring an array of functions versus a pointer to an array of functions, and returning arrays
-// and functions versus pointers to arrays and functions.
-
-variable_abstract_declarator:
-	variable_abstract_ptr
-	| variable_abstract_array attribute_list_opt
-	| variable_abstract_function attribute_list_opt
-	;
-
-variable_abstract_ptr:
-	'*'
-		{ $$ = DeclarationNode::newPointer( 0 ); }
-	| '*' type_qualifier_list
-		{ $$ = DeclarationNode::newPointer( $2 ); }
-	| '*' variable_abstract_declarator
-		{ $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
-	| '*' type_qualifier_list variable_abstract_declarator
-		{ $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
-	| '(' variable_abstract_ptr ')'
-		{ $$ = $2; }
-	;
-
-variable_abstract_array:
-	array_dimension
-	| '(' variable_abstract_ptr ')' array_dimension
-		{ $$ = $2->addArray( $4 ); }
-	| '(' variable_abstract_array ')' multi_array_dimension // redundant parenthesis
-		{ $$ = $2->addArray( $4 ); }
-	| '(' variable_abstract_array ')'					// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-variable_abstract_function:
-	'(' variable_abstract_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)
-		{ $$ = $2->addParamList( $6 ); }
-	| '(' variable_abstract_function ')'				// redundant parenthesis
-		{ $$ = $2; }
-	;
-
-// This pattern parses a new-style declaration for a parameter variable or function prototype that is either an
-// identifier or typedef name and allows the C99 array options, which can only appear in a parameter list.
-
-new_identifier_parameter_declarator_tuple:				// CFA
-	new_identifier_parameter_declarator_no_tuple
-	| new_abstract_tuple
-	| type_qualifier_list new_abstract_tuple
-		{ $$ = $2->addQualifiers( $1 ); }
-	;
-
-new_identifier_parameter_declarator_no_tuple:			// CFA
-	new_identifier_parameter_ptr
-	| new_identifier_parameter_array
-	;
-
-new_identifier_parameter_ptr:							// CFA
-	'*' type_specifier
-		{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-	| type_qualifier_list '*' type_specifier
-		{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
-	| '*' new_abstract_function
-		{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-	| type_qualifier_list '*' new_abstract_function
-		{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
-	| '*' new_identifier_parameter_declarator_tuple
-		{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-	| type_qualifier_list '*' new_identifier_parameter_declarator_tuple
-		{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
-	;
-
-new_identifier_parameter_array:							// CFA
-		// Only the first dimension can be empty or have qualifiers. Empty dimension must be factored out due to
-		// shift/reduce conflict with new-style empty (void) function return type.
-	'[' push pop ']' type_specifier
-		{ $$ = $5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-	| new_array_parameter_1st_dimension type_specifier
-		{ $$ = $2->addNewArray( $1 ); }
-	| '[' push pop ']' multi_array_dimension type_specifier
-		{ $$ = $6->addNewArray( $5 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-	| new_array_parameter_1st_dimension multi_array_dimension type_specifier
-		{ $$ = $3->addNewArray( $2 )->addNewArray( $1 ); }
-	| multi_array_dimension type_specifier
-		{ $$ = $2->addNewArray( $1 ); }
-	| '[' push pop ']' new_identifier_parameter_ptr
-		{ $$ = $5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-	| new_array_parameter_1st_dimension new_identifier_parameter_ptr
-		{ $$ = $2->addNewArray( $1 ); }
-	| '[' push pop ']' multi_array_dimension new_identifier_parameter_ptr
-		{ $$ = $6->addNewArray( $5 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-	| new_array_parameter_1st_dimension multi_array_dimension new_identifier_parameter_ptr
-		{ $$ = $3->addNewArray( $2 )->addNewArray( $1 ); }
-	| multi_array_dimension new_identifier_parameter_ptr
-		{ $$ = $2->addNewArray( $1 ); }
-	;
-
-new_array_parameter_1st_dimension:
-	'[' push type_qualifier_list '*' pop ']'			// remaining C99
-		{ $$ = DeclarationNode::newVarArray( $3 ); }
-	| '[' push type_qualifier_list assignment_expression pop ']'
-		{ $$ = DeclarationNode::newArray( $4, $3, false ); }
-	| '[' push declaration_qualifier_list assignment_expression pop ']'
-		// declaration_qualifier_list must be used because of shift/reduce conflict with
-		// assignment_expression, so a semantic check is necessary to preclude them as a type_qualifier cannot
-		// appear in this context.
-		{ $$ = DeclarationNode::newArray( $4, $3, true ); }
-	| '[' push declaration_qualifier_list type_qualifier_list assignment_expression pop ']'
-		{ $$ = DeclarationNode::newArray( $5, $4->addQualifiers( $3 ), true ); }
-	;
-
-// This pattern parses a new-style declaration of an abstract variable or function prototype, i.e., there is no
-// identifier to which the type applies, e.g.:
-//
-//		[int] f( int );				// abstract variable parameter; no parameter name specified
-//		[int] f( [int] (int) );		// abstract function-prototype parameter; no parameter name specified
-//
-// These rules need LR(3):
-//
-//		new_abstract_tuple identifier_or_typedef_name
-//		'[' new_parameter_list ']' identifier_or_typedef_name '(' new_parameter_type_list_opt ')'
-//
-// since a function return type can be syntactically identical to a tuple type:
-//
-//		[int, int] t;
-//		[int, int] f( int );
-//
-// Therefore, it is necessary to look at the token after identifier_or_typedef_name to know when to reduce
-// new_abstract_tuple. To make this LR(1), several rules have to be flattened (lengthened) to allow the necessary
-// lookahead. To accomplish this, new_abstract_declarator has an entry point without tuple, and tuple declarations are
-// duplicated when appearing with new_function_specifier.
-
-new_abstract_declarator_tuple:							// CFA
-	new_abstract_tuple
-	| type_qualifier_list new_abstract_tuple
-		{ $$ = $2->addQualifiers( $1 ); }
-	| new_abstract_declarator_no_tuple
-	;
-
-new_abstract_declarator_no_tuple:						// CFA
-	new_abstract_ptr
-	| new_abstract_array
-	;
-
-new_abstract_ptr:										// CFA
-	'*' type_specifier
-		{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-	| type_qualifier_list '*' type_specifier
-		{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
-	| '*' new_abstract_function
-		{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-	| type_qualifier_list '*' new_abstract_function
-		{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
-	| '*' new_abstract_declarator_tuple
-		{ $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-	| type_qualifier_list '*' new_abstract_declarator_tuple
-		{ $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
-	;
-
-new_abstract_array:										// CFA
-		// Only the first dimension can be empty. Empty dimension must be factored out due to shift/reduce conflict with
-		// empty (void) function return type.
-	'[' push pop ']' type_specifier
-		{ $$ = $5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-	| '[' push pop ']' multi_array_dimension type_specifier
-		{ $$ = $6->addNewArray( $5 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-	| multi_array_dimension type_specifier
-		{ $$ = $2->addNewArray( $1 ); }
-	| '[' push pop ']' new_abstract_ptr
-		{ $$ = $5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-	| '[' push pop ']' multi_array_dimension new_abstract_ptr
-		{ $$ = $6->addNewArray( $5 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-	| multi_array_dimension new_abstract_ptr
-		{ $$ = $2->addNewArray( $1 ); }
-	;
-
-new_abstract_tuple:										// CFA
-	'[' push new_abstract_parameter_list pop ']'
-		{ $$ = DeclarationNode::newTuple( $3 ); }
-	;
-
-new_abstract_function:									// CFA
-	'[' push pop ']' '(' new_parameter_type_list_opt ')'
-		{ $$ = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), $6, 0 ); }
-	| new_abstract_tuple '(' push new_parameter_type_list_opt pop ')'
-		{ $$ = DeclarationNode::newFunction( 0, $1, $4, 0 ); }
-	| new_function_return '(' push new_parameter_type_list_opt pop ')'
-		{ $$ = DeclarationNode::newFunction( 0, $1, $4, 0 ); }
-	;
-
-// 1) ISO/IEC 9899:1999 Section 6.7.2(2) : "At least one type specifier shall be given in the declaration specifiers in
-//    each declaration, and in the specifier-qualifier list in each structure declaration and type name."
-//
-// 2) ISO/IEC 9899:1999 Section 6.11.5(1) : "The placement of a storage-class specifier other than at the beginning of
-//    the declaration specifiers in a declaration is an obsolescent feature."
-//
-// 3) ISO/IEC 9899:1999 Section 6.11.6(1) : "The use of function declarators with empty parentheses (not
-//    prototype-format parameter type declarators) is an obsolescent feature."
-//
-// 4) ISO/IEC 9899:1999 Section 6.11.7(1) : "The use of function definitions with separate parameter identifier and
-//    declaration lists (not prototype-format parameter type and identifier declarators) is an obsolescent feature.
-
-//************************* MISCELLANEOUS ********************************
-
-comma_opt:												// redundant comma
-	// empty
-	| ','
-	;
-
-assignment_opt:
-	// empty
-		{ $$ = 0; }
-	| '=' assignment_expression
-		{ $$ = $2; }
-	;
-
-%%
-// ----end of grammar----
-
-void yyerror( const char * ) {
-	std::cout << "Error ";
-	if ( yyfilename ) {
-	    std::cout << "in file " << yyfilename << " ";
-	} // if
-	std::cout << "at line " << yylineno << " reading token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << "\"" << std::endl;
-}
-
-// Local Variables: //
-// mode: c++ //
-// tab-width: 4 //
-// compile-command: "make install" //
-// End: //
Index: src/ResolvExpr/AlternativeFinder.cc
===================================================================
--- src/ResolvExpr/AlternativeFinder.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ResolvExpr/AlternativeFinder.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 23:52:08 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun 22 17:19:54 2015
-// Update Count     : 17
+// Last Modified On : Sat May 16 23:55:30 2015
+// Update Count     : 3
 //
 
@@ -107,11 +107,11 @@
 						PRINT(
 							std::cout << "cost " << candidate->cost << " beats " << mapPlace->second.candidate->cost << std::endl;
-						)
-						selected[ mangleName ] = current;
+							)
+							selected[ mangleName ] = current;
 					} else if ( candidate->cost == mapPlace->second.candidate->cost ) {
 						PRINT(
 							std::cout << "marking ambiguous" << std::endl;
-						)
-						mapPlace->second.isAmbiguous = true;
+							)
+							mapPlace->second.isAmbiguous = true;
 					}
 				} else {
@@ -122,16 +122,16 @@
 			PRINT(
 				std::cout << "there are " << selected.size() << " alternatives before elimination" << std::endl;
-			)
-
-			// accept the alternatives that were unambiguous
-			for ( std::map< std::string, PruneStruct >::iterator target = selected.begin(); target != selected.end(); ++target ) {
-				if ( ! target->second.isAmbiguous ) {
-					Alternative &alt = *target->second.candidate;
-					for ( std::list< Type* >::iterator result = alt.expr->get_results().begin(); result != alt.expr->get_results().end(); ++result ) {
-						alt.env.applyFree( *result );
+				)
+
+				// accept the alternatives that were unambiguous
+				for ( std::map< std::string, PruneStruct >::iterator target = selected.begin(); target != selected.end(); ++target ) {
+					if ( ! target->second.isAmbiguous ) {
+						Alternative &alt = *target->second.candidate;
+						for ( std::list< Type* >::iterator result = alt.expr->get_results().begin(); result != alt.expr->get_results().end(); ++result ) {
+							alt.env.applyFree( *result );
+						}
+						*out++ = alt;
 					}
-					*out++ = alt;
 				}
-			}
 
 		}
@@ -183,6 +183,6 @@
 				std::cout << "findSubExprs" << std::endl;
 				printAlts( finder.alternatives, std::cout );
-			)
-			*out++ = finder;
+				)
+				*out++ = finder;
 		}
 	}
@@ -205,9 +205,9 @@
 			std::cout << "alternatives before prune:" << std::endl;
 			printAlts( alternatives, std::cout );
-		)
-		AltList::iterator oldBegin = alternatives.begin();
+			)
+			AltList::iterator oldBegin = alternatives.begin();
 		pruneAlternatives( alternatives.begin(), alternatives.end(), front_inserter( alternatives ), indexer );
 		if ( alternatives.begin() == oldBegin ) {
-			std::ostringstream stream;
+			std::ostrstream stream;
 			stream << "Can't choose between alternatives for expression ";
 			expr->print( stream );
@@ -216,11 +216,11 @@
 			findMinCost( alternatives.begin(), alternatives.end(), back_inserter( winners ) );
 			printAlts( winners, stream, 8 );
-			throw SemanticError( stream.str() );
+			throw SemanticError( std::string( stream.str(), stream.pcount() ) );
 		}
 		alternatives.erase( oldBegin, alternatives.end() );
 		PRINT(
 			std::cout << "there are " << alternatives.size() << " alternatives after elimination" << std::endl;
-		)
-	}
+			)
+			}
 
 	void AlternativeFinder::findWithAdjustment( Expression *expr ) {
@@ -264,6 +264,6 @@
 				std::cout << "--- results are" << std::endl;
 				printAll( (*actualExpr)->get_results(), std::cout, 8 );
-			)
-			std::list< DeclarationWithType* >::iterator startFormal = formal;
+				)
+				std::list< DeclarationWithType* >::iterator startFormal = formal;
 			Cost actualCost;
 			for ( std::list< Type* >::iterator actual = (*actualExpr)->get_results().begin(); actual != (*actualExpr)->get_results().end(); ++actual ) {
@@ -281,13 +281,13 @@
 					std::cout << std::endl << " to ";
 					(*formal)->get_type()->print( std::cout, 8 );
-				)
-				Cost newCost = conversionCost( *actual, (*formal)->get_type(), indexer, alt.env );
+					)
+					Cost newCost = conversionCost( *actual, (*formal)->get_type(), indexer, alt.env );
 				PRINT(
 					std::cout << std::endl << "cost is" << newCost << std::endl;
-				)
-
-				if ( newCost == Cost::infinity ) {
-					return newCost;
-				}
+					)
+
+					if ( newCost == Cost::infinity ) {
+						return newCost;
+					}
 				convCost += newCost;
 				actualCost += newCost;
@@ -381,8 +381,8 @@
 					(*actual)->print( std::cerr );
 					std::cerr << std::endl;
-				)
-				if ( ! unify( (*formal)->get_type(), *actual, resultEnv, resultNeed, resultHave, openVars, indexer ) ) {
-					return false;
-				}
+					)
+					if ( ! unify( (*formal)->get_type(), *actual, resultEnv, resultNeed, resultHave, openVars, indexer ) ) {
+						return false;
+					}
 				formal++;
 			}
@@ -429,6 +429,6 @@
 					std::cerr << "recursing with new set:" << std::endl;
 					printAssertionSet( newNeed, std::cerr, 8 );
-				)
-				inferRecursive( newNeed.begin(), newNeed.end(), newAlt, openVars, decls, newerNeed, level+1, indexer, out );
+					)
+					inferRecursive( newNeed.begin(), newNeed.end(), newAlt, openVars, decls, newerNeed, level+1, indexer, out );
 				return;
 			}
@@ -444,6 +444,6 @@
 			curDecl->print( std::cerr );
 			std::cerr << std::endl;
-		)
-		std::list< DeclarationWithType* > candidates;
+			)
+			std::list< DeclarationWithType* > candidates;
 		decls.lookupId( curDecl->get_name(), candidates );
 ///   if ( candidates.empty() ) { std::cout << "no candidates!" << std::endl; }
@@ -453,6 +453,6 @@
 				(*candidate)->print( std::cout );
 				std::cout << std::endl;
-			)
-			AssertionSet newHave, newerNeed( newNeed );
+				)
+				AssertionSet newHave, newerNeed( newNeed );
 			TypeEnvironment newEnv( newAlt.env );
 			OpenVarSet newOpenVars( openVars );
@@ -466,32 +466,32 @@
 				adjType->print( std::cerr );
 				std::cerr << std::endl;
-			)
-			if ( unify( curDecl->get_type(), adjType, newEnv, newerNeed, newHave, newOpenVars, indexer ) ) {
-				PRINT(
-					std::cerr << "success!" << std::endl;
 				)
-				SymTab::Indexer newDecls( decls );
-				addToIndexer( newHave, newDecls );
-				Alternative newerAlt( newAlt );
-				newerAlt.env = newEnv;
-				assert( (*candidate)->get_uniqueId() );
-				Expression *varExpr = new VariableExpr( static_cast< DeclarationWithType* >( Declaration::declFromId( (*candidate)->get_uniqueId() ) ) );
-				deleteAll( varExpr->get_results() );
-				varExpr->get_results().clear();
-				varExpr->get_results().push_front( adjType->clone() );
-				PRINT(
-					std::cout << "satisfying assertion " << curDecl->get_uniqueId() << " ";
-					curDecl->print( std::cout );
-					std::cout << " with declaration " << (*candidate)->get_uniqueId() << " ";
-					(*candidate)->print( std::cout );
-					std::cout << std::endl;
-				)
-				ApplicationExpr *appExpr = static_cast< ApplicationExpr* >( newerAlt.expr );
-				// XXX: this is a memory leak, but adjType can't be deleted because it might contain assertions
-				appExpr->get_inferParams()[ curDecl->get_uniqueId() ] = ParamEntry( (*candidate)->get_uniqueId(), adjType->clone(), curDecl->get_type()->clone(), varExpr );
-				inferRecursive( begin, end, newerAlt, newOpenVars, newDecls, newerNeed, level, indexer, out );
-			} else {
-				delete adjType;
-			}
+				if ( unify( curDecl->get_type(), adjType, newEnv, newerNeed, newHave, newOpenVars, indexer ) ) {
+					PRINT(
+						std::cerr << "success!" << std::endl;
+						)
+						SymTab::Indexer newDecls( decls );
+					addToIndexer( newHave, newDecls );
+					Alternative newerAlt( newAlt );
+					newerAlt.env = newEnv;
+					assert( (*candidate)->get_uniqueId() );
+					Expression *varExpr = new VariableExpr( static_cast< DeclarationWithType* >( Declaration::declFromId( (*candidate)->get_uniqueId() ) ) );
+					deleteAll( varExpr->get_results() );
+					varExpr->get_results().clear();
+					varExpr->get_results().push_front( adjType->clone() );
+					PRINT(
+						std::cout << "satisfying assertion " << curDecl->get_uniqueId() << " ";
+						curDecl->print( std::cout );
+						std::cout << " with declaration " << (*candidate)->get_uniqueId() << " ";
+						(*candidate)->print( std::cout );
+						std::cout << std::endl;
+						)
+						ApplicationExpr *appExpr = static_cast< ApplicationExpr* >( newerAlt.expr );
+					// XXX: this is a memory leak, but adjType can't be deleted because it might contain assertions
+					appExpr->get_inferParams()[ curDecl->get_uniqueId() ] = ParamEntry( (*candidate)->get_uniqueId(), adjType->clone(), curDecl->get_type()->clone(), varExpr );
+					inferRecursive( begin, end, newerAlt, newOpenVars, newDecls, newerNeed, level, indexer, out );
+				} else {
+					delete adjType;
+				}
 		}
 	}
@@ -509,6 +509,6 @@
 			std::cout << "============= new indexer" << std::endl;
 			decls.print( std::cout );
-		)
-		addToIndexer( have, decls );
+			)
+			addToIndexer( have, decls );
 		AssertionSet newNeed;
 		inferRecursive( need.begin(), need.end(), newAlt, openVars, decls, newNeed, 0, indexer, out );
@@ -533,6 +533,6 @@
 				std::cout << "need assertions:" << std::endl;
 				printAssertionSet( resultNeed, std::cout, 8 );
-			)
-			inferParameters( resultNeed, resultHave, newAlt, openVars, out );
+				)
+				inferParameters( resultNeed, resultHave, newAlt, openVars, out );
 		}
 	}
@@ -545,6 +545,6 @@
 			NameExpr *fname;
 			if ( ( fname = dynamic_cast<NameExpr *>( untypedExpr->get_function()))
-				 && ( fname->get_name() == std::string("&&")) ) {
-				alternatives.push_back( Alternative( untypedExpr->clone(), env, Cost()) );
+				 && ( fname->get_name() == std::string("LabAddress")) ) {
+				alternatives.push_back( Alternative( untypedExpr, env, Cost()) );
 				return;
 			}
@@ -570,7 +570,7 @@
 				std::cout << "working on alternative: " << std::endl;
 				func->print( std::cout, 8 );
-			)
-			// check if the type is pointer to function
-			PointerType *pointer;
+				)
+				// check if the type is pointer to function
+				PointerType *pointer;
 			if ( func->expr->get_results().size() == 1 && ( pointer = dynamic_cast< PointerType* >( func->expr->get_results().front() ) ) ) {
 				if ( FunctionType *function = dynamic_cast< FunctionType* >( pointer->get_base() ) ) {
@@ -603,6 +603,6 @@
 						std::cout << "known function ops:" << std::endl;
 						printAlts( funcOpFinder.alternatives, std::cout, 8 );
-					)
-				}
+						)
+						}
 
 				for ( AltList::const_iterator funcOp = funcOpFinder.alternatives.begin(); funcOp != funcOpFinder.alternatives.end(); ++funcOp ) {
@@ -642,9 +642,9 @@
 				withFunc->env.print( std::cout, 8 );
 				std::cout << "cost of conversion is:" << cvtCost << std::endl;
-			)
-			if ( cvtCost != Cost::infinity ) {
-				withFunc->cvtCost = cvtCost;
-				alternatives.push_back( *withFunc );
-			} // if
+				)
+				if ( cvtCost != Cost::infinity ) {
+					withFunc->cvtCost = cvtCost;
+					alternatives.push_back( *withFunc );
+				} // if
 		} // for
 		candidates.clear();
@@ -737,22 +737,22 @@
 		indexer.lookupId( nameExpr->get_name(), declList );
 		PRINT( std::cerr << "nameExpr is " << nameExpr->get_name() << std::endl; )
-		for ( std::list< DeclarationWithType* >::iterator i = declList.begin(); i != declList.end(); ++i ) {
-			VariableExpr newExpr( *i, nameExpr->get_argName() );
-			alternatives.push_back( Alternative( newExpr.clone(), env, Cost() ) );
-			PRINT(
-				std::cerr << "decl is ";
-				(*i)->print( std::cerr );
-				std::cerr << std::endl;
-				std::cerr << "newExpr is ";
-				newExpr.print( std::cerr );
-				std::cerr << std::endl;
-			)
-			renameTypes( alternatives.back().expr );
-			if ( StructInstType *structInst = dynamic_cast< StructInstType* >( (*i)->get_type() ) ) {
-				addAggMembers( structInst, &newExpr, Cost( 0, 0, 1 ), "" );
-			} else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( (*i)->get_type() ) ) {
-				addAggMembers( unionInst, &newExpr, Cost( 0, 0, 1 ), "" );
-			} // if
-		} // for
+			for ( std::list< DeclarationWithType* >::iterator i = declList.begin(); i != declList.end(); ++i ) {
+				VariableExpr newExpr( *i, nameExpr->get_argName() );
+				alternatives.push_back( Alternative( newExpr.clone(), env, Cost() ) );
+				PRINT(
+					std::cerr << "decl is ";
+					(*i)->print( std::cerr );
+					std::cerr << std::endl;
+					std::cerr << "newExpr is ";
+					newExpr.print( std::cerr );
+					std::cerr << std::endl;
+					)
+					renameTypes( alternatives.back().expr );
+				if ( StructInstType *structInst = dynamic_cast< StructInstType* >( (*i)->get_type() ) ) {
+					addAggMembers( structInst, &newExpr, Cost( 0, 0, 1 ), "" );
+				} else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( (*i)->get_type() ) ) {
+					addAggMembers( unionInst, &newExpr, Cost( 0, 0, 1 ), "" );
+				} // if
+			} // for
 	}
 
@@ -794,11 +794,11 @@
 			argType->print( std::cout );
 			std::cout << std::endl;
-		)
-		if ( typesCompatibleIgnoreQualifiers( argType, function->get_parameters().front()->get_type(), indexer, env ) ) {
-			alternatives.push_back( Alternative( new AttrExpr( new VariableExpr( funcDecl ), argType->clone() ), env, Cost::zero ) );
-			for ( std::list< DeclarationWithType* >::iterator i = function->get_returnVals().begin(); i != function->get_returnVals().end(); ++i ) {
-				alternatives.back().expr->get_results().push_back( (*i)->get_type()->clone() );
-			} // for
-		} // if
+			)
+			if ( typesCompatibleIgnoreQualifiers( argType, function->get_parameters().front()->get_type(), indexer, env ) ) {
+				alternatives.push_back( Alternative( new AttrExpr( new VariableExpr( funcDecl ), argType->clone() ), env, Cost::zero ) );
+				for ( std::list< DeclarationWithType* >::iterator i = function->get_returnVals().begin(); i != function->get_returnVals().end(); ++i ) {
+					alternatives.back().expr->get_results().push_back( (*i)->get_type()->clone() );
+				} // for
+			} // if
 	}
 
Index: src/ResolvExpr/RenameVars.cc
===================================================================
--- src/ResolvExpr/RenameVars.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ResolvExpr/RenameVars.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,9 +10,9 @@
 // Created On       : Sun May 17 12:05:18 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 14:51:35 2015
-// Update Count     : 4
+// Last Modified On : Sun May 17 12:07:59 2015
+// Update Count     : 2
 //
 
-#include <sstream>
+#include <strstream>
 
 #include "RenameVars.h"
@@ -120,7 +120,7 @@
 			mapStack.push_front( mapStack.front() );
 			for ( std::list< TypeDecl* >::iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) {
-				std::ostringstream output;
+				std::ostrstream output;
 				output << "_" << level << "_" << (*i)->get_name();
-				std::string newname( output.str() );
+				std::string newname( output.str(), output.pcount() );
 				mapStack.front()[ (*i)->get_name() ] = newname;
 				(*i)->set_name( newname );
Index: src/ResolvExpr/Resolver.cc
===================================================================
--- src/ResolvExpr/Resolver.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ResolvExpr/Resolver.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 12:17:01 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 24 16:20:35 2015
-// Update Count     : 156
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sun May 17 12:18:17 2015
+// Update Count     : 2
 //
 
@@ -38,6 +38,4 @@
 		virtual void visit( TypeDecl *typeDecl );
 
-		virtual void visit( ArrayType * at );
-
 		virtual void visit( ExprStmt *exprStmt );
 		virtual void visit( IfStmt *ifStmt );
@@ -47,5 +45,4 @@
 		virtual void visit( ChooseStmt *switchStmt );
 		virtual void visit( CaseStmt *caseStmt );
-		virtual void visit( BranchStmt *branchStmt );
 		virtual void visit( ReturnStmt *returnStmt );
 
@@ -53,9 +50,4 @@
 		virtual void visit( ListInit *listInit );
 	  private:
-  	typedef std::list< Initializer * >::iterator InitIterator;
-
-	  void resolveAggrInit( AggregateDecl *, InitIterator &, InitIterator & );
-	  void resolveSingleAggrInit( Declaration *, InitIterator &, InitIterator & );
-
 		std::list< Type * > functionReturn;
 		Type *initContext;
@@ -166,16 +158,5 @@
 		SymTab::Indexer::visit( objectDecl );
 	}
-
-	void Resolver::visit( ArrayType * at ) {
-		if ( at->get_dimension() ) {
-			BasicType arrayLenType = BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt );
-			CastExpr *castExpr = new CastExpr( at->get_dimension(), arrayLenType.clone() );
-			Expression *newExpr = findSingleExpression( castExpr, *this );
-			delete at->get_dimension();
-			at->set_dimension( newExpr );
-		}
-		Visitor::visit( at );
-	}
-
+  
 	void Resolver::visit( TypeDecl *typeDecl ) {
 		if ( typeDecl->get_base() ) {
@@ -185,5 +166,5 @@
 		SymTab::Indexer::visit( typeDecl );
 	}
-
+  
 	void Resolver::visit( FunctionDecl *functionDecl ) {
 #if 0
@@ -271,17 +252,4 @@
 	}
 
-	void Resolver::visit( BranchStmt *branchStmt ) {
-		// must resolve the argument for a computed goto
-		if ( branchStmt->get_type() == BranchStmt::Goto ) { // check for computed goto statement
-			if ( NameExpr * arg = dynamic_cast< NameExpr * >( branchStmt->get_computedTarget() ) ) {
-				VoidType v = Type::Qualifiers();		// cast to void * for the alternative finder
-				PointerType pt( Type::Qualifiers(), v.clone() );
-				CastExpr * castExpr = new CastExpr( arg, pt.clone() );
-				Expression * newExpr = findSingleExpression( castExpr, *this ); // find best expression
-				branchStmt->set_target( newExpr );
-			} // if
-		} // if
-	}
-
 	void Resolver::visit( ReturnStmt *returnStmt ) {
 		if ( returnStmt->get_expr() ) {
@@ -292,13 +260,4 @@
 			returnStmt->set_expr( newExpr );
 		} // if
-	}
-
-	template< typename T >
-	bool isCharType( T t ) {
-		if ( BasicType * bt = dynamic_cast< BasicType * >( t ) ) {
-			return bt->get_kind() == BasicType::Char || bt->get_kind() == BasicType::SignedChar || 
-				bt->get_kind() == BasicType::UnsignedChar;
-		}
-		return false;
 	}
 
@@ -327,81 +286,10 @@
 			delete castExpr;
 			singleInit->set_value( newExpr );
-
-			// check if initializing type is char[]
-			if ( ArrayType * at = dynamic_cast< ArrayType * >( initContext ) ) {
-				if ( isCharType( at->get_base() ) ) {
-					// check if the resolved type is char *
-					if ( PointerType * pt = dynamic_cast< PointerType *>( newExpr->get_results().front() ) ) {
-						if ( isCharType( pt->get_base() ) ) {
-							// strip cast if we're initializing a char[] with a char *, e.g.
-							// char x[] = "hello";
-							CastExpr *ce = dynamic_cast< CastExpr * >( newExpr );
-							singleInit->set_value( ce->get_arg() );
-							ce->set_arg( NULL );
-							delete ce;									
-						}
-					}
-				}
-			}
 		} // if
 //	singleInit->get_value()->accept( *this );
 	}
 
-	void Resolver::resolveSingleAggrInit( Declaration * dcl, InitIterator & init, InitIterator & initEnd ) {
-		DeclarationWithType * dt = dynamic_cast< DeclarationWithType * >( dcl );
-		assert( dt );
-		initContext = dt->get_type();
-		try {
-			if ( init == initEnd ) return; // stop when there are no more initializers
-			(*init)->accept( *this );
-			++init; // made it past an initializer
-		} catch( SemanticError & ) {
-			// need to delve deeper, if you can
-			if ( StructInstType * sit = dynamic_cast< StructInstType * >( dt->get_type() ) ) {
-				resolveAggrInit( sit->get_baseStruct(), init, initEnd );
-			} else if ( UnionInstType * uit = dynamic_cast< UnionInstType * >( dt->get_type() ) ) {
-				resolveAggrInit( uit->get_baseUnion(), init, initEnd );
-			} else {
-				// member is not an aggregate type, so can't go any deeper
-
-				// might need to rethink what is being thrown
-				throw;
-			} // if
-		}
-	}
-
-	void Resolver::resolveAggrInit( AggregateDecl * aggr, InitIterator & init, InitIterator & initEnd ) {
-		if ( StructDecl * st = dynamic_cast< StructDecl * >( aggr ) ) {
-			// want to resolve each initializer to the members of the struct,
-			// but if there are more initializers than members we should stop
-			list< Declaration * >::iterator it = st->get_members().begin();
-			for ( ; it != st->get_members().end(); ++it) {
-				resolveSingleAggrInit( *it, init, initEnd );
-			}
-		} else if ( UnionDecl * un = dynamic_cast< UnionDecl * >( aggr ) ) {
-			// only resolve to the first member of a union
-			resolveSingleAggrInit( *un->get_members().begin(), init, initEnd );
-		} // if
-	}
-
-	void Resolver::visit( ListInit * listInit ) {
-		InitIterator iter = listInit->begin_initializers();
-		InitIterator end = listInit->end_initializers();
-
-		if ( ArrayType * at = dynamic_cast< ArrayType * >( initContext ) ) {
-			// resolve each member to the base type of the array
-			for ( ; iter != end; ++iter ) {
-				initContext = at->get_base();
-				(*iter)->accept( *this );
-			} // for
-		} else if ( StructInstType * st = dynamic_cast< StructInstType * >( initContext ) ) {
-			resolveAggrInit( st->get_baseStruct(), iter, end );
-		} else if ( UnionInstType *st = dynamic_cast< UnionInstType * >( initContext ) ) {
-			resolveAggrInit( st->get_baseUnion(), iter, end );
-		} else {
-			// basic types are handled here
-			Visitor::visit( listInit );
-		}
-
+	void Resolver::visit( ListInit *listInit ) {
+		Visitor::visit(listInit);
 #if 0
 		if ( ArrayType *at = dynamic_cast<ArrayType*>(initContext) ) {
Index: src/ResolvExpr/Unify.cc
===================================================================
--- src/ResolvExpr/Unify.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ResolvExpr/Unify.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sun May 17 12:27:10 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 14:57:05 2015
-// Update Count     : 7
+// Last Modified On : Sun May 17 13:08:48 2015
+// Update Count     : 6
 //
 
@@ -149,5 +149,4 @@
 				Type *common = 0;
 				std::auto_ptr< Type > newType( curClass.type->clone() );
-				newType->get_qualifiers() = typeInst->get_qualifiers();
 				if ( unifyInexact( newType.get(), other, env, needAssertions, haveAssertions, openVars, widenMode & WidenMode( curClass.allowWidening, true ), indexer, common ) ) {
 					if ( common ) {
Index: src/ResolvExpr/module.mk
===================================================================
--- src/ResolvExpr/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/ResolvExpr/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,20 +1,4 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:53:28 2015
-## Update Count     : 1
-###############################################################################
-
 SRC += ResolvExpr/AlternativeFinder.cc \
-       ResolvExpr/Alternative.cc \
+      ResolvExpr/Alternative.cc \
        ResolvExpr/Unify.cc \
        ResolvExpr/PtrsAssignable.cc \
@@ -32,2 +16,3 @@
        ResolvExpr/Occurs.cc \
        ResolvExpr/TypeEnvironment.cc
+       
Index: src/SymTab/Indexer.cc
===================================================================
--- src/SymTab/Indexer.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SymTab/Indexer.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sun May 17 21:37:33 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun  5 08:05:17 2015
-// Update Count     : 5
+// Last Modified On : Tue May 19 16:49:55 2015
+// Update Count     : 3
 //
 
@@ -51,29 +51,27 @@
 	}
 
-
-// A NOTE ON THE ORDER OF TRAVERSAL
-//
-// Types and typedefs have their base types visited before they are added to the type table.  This is ok, since there is
-// no such thing as a recursive type or typedef.
-//
-//             typedef struct { T *x; } T; // never allowed
-//
-// for structs/unions, it is possible to have recursion, so the decl should be added as if it's incomplete to begin, the
-// members are traversed, and then the complete type should be added (assuming the type is completed by this particular
-// declaration).
-//
-//             struct T { struct T *x; }; // allowed
-//
-// It is important to add the complete type to the symbol table *after* the members/base has been traversed, since that
-// traversal may modify the definition of the type and these modifications should be visible when the symbol table is
-// queried later in this pass.
-//
-// TODO: figure out whether recursive contexts are sensible/possible/reasonable.
-
+/********
+ * A NOTE ON THE ORDER OF TRAVERSAL
+ *
+ * Types and typedefs have their base types visited before they are added to the type table.
+ * This is ok, since there is no such thing as a recursive type or typedef.
+ *             typedef struct { T *x; } T; // never allowed
+ *
+ * for structs/unions, it is possible to have recursion, so the decl should be added as if it's
+ * incomplete to begin, the members are traversed, and then the complete type should be added
+ * (assuming the type is completed by this particular declaration).
+ *             struct T { struct T *x; }; // allowed
+ *
+ * It's important to add the complete type to the symbol table *after* the members/base has been
+ * traversed, since that traversal may modify the definition of the type and these modifications
+ * should be visible when the symbol table is queried later in this pass.
+ *
+ * TODO: figure out whether recursive contexts are sensible/possible/reasonable.
+ */
 
 	void Indexer::visit( TypeDecl *typeDecl ) {
 		// see A NOTE ON THE ORDER OF TRAVERSAL, above
-		// note that assertions come after the type is added to the symtab, since they are not part of the type proper
-		// and may depend on the type itself
+		// note that assertions come after the type is added to the symtab, since they aren't part
+		// of the type proper and may depend on the type itself
 		enterScope();
 		acceptAll( typeDecl->get_parameters(), *this );
Index: src/SymTab/Mangler.cc
===================================================================
--- src/SymTab/Mangler.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SymTab/Mangler.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sun May 17 21:40:29 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 15:12:12 2015
-// Update Count     : 8
+// Last Modified On : Tue May 19 16:50:47 2015
+// Update Count     : 3
 //
 
@@ -160,6 +160,7 @@
 		} else {
 			printQualifiers( typeInst );
-			std::ostringstream numStream;
+			std::ostrstream numStream;
 			numStream << varNum->second.first;
+			mangleName << (numStream.pcount() + 1);
 			switch ( (TypeDecl::Kind )varNum->second.second ) {
 			  case TypeDecl::Any:
@@ -173,5 +174,5 @@
 				break;
 			} // switch
-			mangleName << numStream.str();
+			mangleName << std::string( numStream.str(), numStream.pcount() );
 		} // if
 	}
@@ -219,5 +220,5 @@
 					sub_mangler.varNums = varNums;
 					(*assert)->accept( sub_mangler );
-					assertionNames.push_back( sub_mangler.mangleName.str() );
+					assertionNames.push_back( std::string( sub_mangler.mangleName.str(), sub_mangler.mangleName.pcount() ) );
 				} // for
 			} // for
Index: src/SymTab/Mangler.h
===================================================================
--- src/SymTab/Mangler.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SymTab/Mangler.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sun May 17 21:44:03 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 14:47:14 2015
-// Update Count     : 5
+// Last Modified On : Tue May 19 16:49:21 2015
+// Update Count     : 3
 //
 
@@ -17,5 +17,5 @@
 #define MANGLER_H
 
-#include <sstream>
+#include <strstream>
 #include "SynTree/SynTree.h"
 #include "SynTree/Visitor.h"
@@ -43,7 +43,7 @@
 		virtual void visit( TupleType *tupleType );
   
-		std::string get_mangleName() { return mangleName.str(); }
+		std::string get_mangleName() { return std::string( mangleName.str(), mangleName.pcount() ); }
 	  private:
-		std::ostringstream mangleName;
+		std::ostrstream mangleName;
 		typedef std::map< std::string, std::pair< int, int > > VarMapType;
 		VarMapType varNums;
Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SymTab/Validate.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 21:50:04 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 24 16:20:50 2015
-// Update Count     : 30
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 19 16:50:09 2015
+// Update Count     : 3
 //
 
@@ -45,6 +45,6 @@
 #include "SynTree/Type.h"
 #include "SynTree/Statement.h"
+#include "Indexer.h"
 #include "SynTree/TypeSubstitution.h"
-#include "Indexer.h"
 #include "FixFunction.h"
 #include "ImplementationType.h"
@@ -176,6 +176,4 @@
 		acceptAll( translationUnit, pass1 );
 		acceptAll( translationUnit, pass2 );
-		// need to collect all of the assignment operators prior to
-		// this point and only generate assignment operators if one doesn't exist
 		AddStructAssignment::addStructAssignment( translationUnit );
 		acceptAll( translationUnit, pass3 );
@@ -508,5 +506,5 @@
 		if ( ! array->get_dimension() ) return;
   
-		ObjectDecl *index = new ObjectDecl( indexName.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 );
+		ObjectDecl *index = new ObjectDecl( indexName.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 );
 		*out++ = new DeclStmt( noLabels, index );
   
@@ -546,32 +544,20 @@
 		FunctionType *assignType = new FunctionType( Type::Qualifiers(), false );
   
-		ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
+		ObjectDecl *returnVal = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
 		assignType->get_returnVals().push_back( returnVal );
   
-		ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
+		ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
 		assignType->get_parameters().push_back( dstParam );
   
-		ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
+		ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
 		assignType->get_parameters().push_back( srcParam );
 
 		// Routines at global scope marked "static" to prevent multiple definitions is separate translation units
 		// because each unit generates copies of the default routines for each aggregate.
-		FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true, false );
+		FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? Declaration::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );
 		assignDecl->fixUniqueId();
   
 		for ( std::list< Declaration * >::const_iterator member = aggregateDecl->get_members().begin(); member != aggregateDecl->get_members().end(); ++member ) {
 			if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType * >( *member ) ) {
-				// query the type qualifiers of this field and skip assigning it if it is marked const. 
-				// If it is an array type, we need to strip off the array layers to find its qualifiers.
-				Type * type = dwt->get_type();
-				while ( ArrayType * at = dynamic_cast< ArrayType * >( type ) ) {
-					type = at->get_base();
-				}
-
-				if ( type->get_qualifiers().isConst ) {
-					// don't assign const members
-					continue;
-				}
-
 				if ( ArrayType *array = dynamic_cast< ArrayType * >( dwt->get_type() ) ) {
 					makeArrayAssignment( srcParam, dstParam, dwt, array, back_inserter( assignDecl->get_statements()->get_kids() ) );
@@ -589,16 +575,16 @@
 		FunctionType *assignType = new FunctionType( Type::Qualifiers(), false );
   
-		ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
+		ObjectDecl *returnVal = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
 		assignType->get_returnVals().push_back( returnVal );
   
-		ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
+		ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
 		assignType->get_parameters().push_back( dstParam );
   
-		ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
+		ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
 		assignType->get_parameters().push_back( srcParam );
   
 		// Routines at global scope marked "static" to prevent multiple definitions is separate translation units
 		// because each unit generates copies of the default routines for each aggregate.
-		FunctionDecl *assignDecl = new FunctionDecl( "?=?",  functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true, false );
+		FunctionDecl *assignDecl = new FunctionDecl( "?=?",  functionNesting > 0 ? Declaration::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );
 		assignDecl->fixUniqueId();
   
@@ -635,6 +621,6 @@
 		TypeInstType *typeInst = new TypeInstType( Type::Qualifiers(), typeDecl->get_name(), false );
 		typeInst->set_baseType( typeDecl );
-		ObjectDecl *src = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, typeInst->clone(), 0 );
-		ObjectDecl *dst = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), typeInst->clone() ), 0 );
+		ObjectDecl *src = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, typeInst->clone(), 0 );
+		ObjectDecl *dst = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), typeInst->clone() ), 0 );
 		if ( typeDecl->get_base() ) {
 			stmts = new CompoundStmt( std::list< Label >() );
@@ -645,16 +631,18 @@
 		} // if
 		FunctionType *type = new FunctionType( Type::Qualifiers(), false );
-		type->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );
+		type->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );
 		type->get_parameters().push_back( dst );
 		type->get_parameters().push_back( src );
-		FunctionDecl *func = new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false, false );
+		FunctionDecl *func = new FunctionDecl( "?=?", Declaration::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false );
 		declsToAdd.push_back( func );
 	}
 
 	void addDecls( std::list< Declaration * > &declsToAdd, std::list< Statement * > &statements, std::list< Statement * >::iterator i ) {
-		for ( std::list< Declaration * >::iterator decl = declsToAdd.begin(); decl != declsToAdd.end(); ++decl ) {
-			statements.insert( i, new DeclStmt( noLabels, *decl ) );
-		} // for
-		declsToAdd.clear();
+		if ( ! declsToAdd.empty() ) {
+			for ( std::list< Declaration * >::iterator decl = declsToAdd.begin(); decl != declsToAdd.end(); ++decl ) {
+				statements.insert( i, new DeclStmt( noLabels, *decl ) );
+			} // for
+			declsToAdd.clear();
+		} // if
 	}
 
Index: src/SymTab/module.mk
===================================================================
--- src/SymTab/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SymTab/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,18 +1,2 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:53:50 2015
-## Update Count     : 1
-###############################################################################
-
 SRC += SymTab/IdTable.cc \
        SymTab/Indexer.cc \
Index: src/SynTree/AggregateDecl.cc
===================================================================
--- src/SynTree/AggregateDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/AggregateDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sun May 17 23:56:39 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:12:49 2015
-// Update Count     : 6
+// Last Modified On : Tue May 19 16:52:08 2015
+// Update Count     : 5
 //
 
@@ -19,5 +19,5 @@
 
 
-AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, DeclarationNode::NoStorageClass, LinkageSpec::Cforall ) {
+AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, Declaration::NoStorageClass, LinkageSpec::Cforall ) {
 }
 
Index: src/SynTree/ArrayType.cc
===================================================================
--- src/SynTree/ArrayType.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/ArrayType.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun  6 14:11:48 2015
-// Update Count     : 9
+// Last Modified On : Mon May 18 07:52:08 2015
+// Update Count     : 2
 //
 
@@ -25,6 +25,6 @@
 
 ArrayType::ArrayType( const ArrayType &other )
-		: Type( other ), base( maybeClone( other.base ) ), dimension( maybeClone( other.dimension ) ),
-		  isVarLen( other.isVarLen ), isStatic( other.isStatic ) {
+	: Type( other ), base( maybeClone( other.base ) ), dimension( maybeClone( other.dimension ) ),
+	  isVarLen( other.isVarLen ), isStatic( other.isStatic ) {
 }
 
@@ -43,4 +43,5 @@
 	} else if ( dimension ) {
 		os << "array of ";
+		dimension->print( os, indent );
 	} else {
 		os << "open array of ";
@@ -48,8 +49,4 @@
 	if ( base ) {
 		base->print( os, indent );
-	} // if
-	if ( dimension ) {
-		os << "with dimension of ";
-		dimension->print( os, indent );
 	} // if
 }
Index: src/SynTree/BasicType.cc
===================================================================
--- src/SynTree/BasicType.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/BasicType.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  7 08:44:36 2015
-// Update Count     : 5
+// Last Modified On : Mon May 18 07:55:16 2015
+// Update Count     : 1
 //
 
Index: src/SynTree/CompoundStmt.cc
===================================================================
--- src/SynTree/CompoundStmt.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/CompoundStmt.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 11:37:49 2015
-// Update Count     : 3
+// Last Modified On : Mon May 18 08:11:02 2015
+// Update Count     : 1
 //
 
@@ -33,7 +33,7 @@
 }
 
-void CompoundStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "CompoundStmt" << endl ;
-	printAll( kids, os, indent + 2 );
+void CompoundStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string(indent, ' ') << "CompoundStmt" << endl ;
+	printAll( kids, os, indent+2 );
 }
 
Index: src/SynTree/Constant.cc
===================================================================
--- src/SynTree/Constant.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Constant.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 10 14:41:03 2015
-// Update Count     : 8
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon May 18 08:13:25 2015
+// Update Count     : 1
 //
 
@@ -20,5 +20,5 @@
 #include "Type.h"
 
-Constant::Constant( Type *type_, std::string value_ ) : type( type_ ), value( value_ ) {}
+Constant::Constant( Type *_type, std::string _value ) : type(_type), value(_value) {}
 
 Constant::~Constant() {}
@@ -27,10 +27,10 @@
 
 void Constant::print( std::ostream &os ) const {
-	os << "(" << value;
+	os << value;
 	if ( type ) {
-		os << ": ";
+		os << " (type: ";
 		type->print( os );
+		os << ")";
 	} // if
-  os << ")";
 }
 
Index: src/SynTree/DeclStmt.cc
===================================================================
--- src/SynTree/DeclStmt.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/DeclStmt.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 11:38:15 2015
-// Update Count     : 4
+// Last Modified On : Mon May 18 08:16:03 2015
+// Update Count     : 2
 //
 
@@ -28,8 +28,9 @@
 }
 
-void DeclStmt::print( std::ostream &os, int indent ) const {
-	assert( decl != 0 );
+void DeclStmt::print( std::ostream &os, int indent ) {
 	os << "Declaration of ";
-	decl->print( os, indent );
+	if ( decl ) {
+		decl->print( os, indent );
+	} // if
 }
 
Index: src/SynTree/Declaration.cc
===================================================================
--- src/SynTree/Declaration.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Declaration.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:07:20 2015
-// Update Count     : 9
+// Last Modified On : Mon May 18 08:18:35 2015
+// Update Count     : 2
 //
 
@@ -22,14 +22,16 @@
 #include "utility.h"
 
+const char* Declaration::storageClassName[] = { "", "auto", "static", "extern", "register" };  
+
 static UniqueId lastUniqueId = 0;
 typedef std::map< UniqueId, Declaration* > IdMapType;
 static IdMapType idMap;
 
-Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )
-		: name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {
+Declaration::Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )
+	: name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {
 }
 
 Declaration::Declaration( const Declaration &other )
-		: name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {
+	: name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {
 }
 
@@ -42,9 +44,15 @@
 }
 
+/* static class method */
 Declaration *Declaration::declFromId( UniqueId id ) {
 	IdMapType::const_iterator i = idMap.find( id );
-	return i != idMap.end() ? i->second : 0;
+	if ( i != idMap.end() ) {
+		return i->second;
+	} else {
+		return 0;
+	} // if
 }
 
+/* static class method */
 void Declaration::dumpIds( std::ostream &os ) {
 	for ( IdMapType::const_iterator i = idMap.begin(); i != idMap.end(); ++i ) {
Index: src/SynTree/Declaration.h
===================================================================
--- src/SynTree/Declaration.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Declaration.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 09:10:31 2015
-// Update Count     : 25
+// Last Modified On : Mon May 18 08:46:25 2015
+// Update Count     : 2
 //
 
@@ -21,16 +21,25 @@
 #include "Mutator.h"
 #include "Parser/LinkageSpec.h"
-#include "Parser/ParseNode.h"
 
 class Declaration {
   public:
-	Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );
+	enum StorageClass {  
+		NoStorageClass,
+		Extern,
+		Static,
+		Auto,
+		Register,
+		Inline,
+		Fortran,
+	};	
+
+	Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage );
 	Declaration( const Declaration &other );
 	virtual ~Declaration();
 
-	const std::string &get_name() const { return name; }
+	std::string get_name() const { return name; }
 	void set_name( std::string newValue ) { name = newValue; }
-	DeclarationNode::StorageClass get_storageClass() const { return storageClass; }
-	void set_storageClass( DeclarationNode::StorageClass newValue ) { storageClass = newValue; }
+	StorageClass get_storageClass() const { return storageClass; }
+	void set_storageClass( StorageClass newValue ) { storageClass = newValue; }
 	LinkageSpec::Type get_linkage() const { return linkage; }
 	void set_linkage( LinkageSpec::Type newValue ) { linkage = newValue; }
@@ -44,9 +53,11 @@
 	virtual void printShort( std::ostream &os, int indent = 0 ) const = 0;
 
+	static const char* storageClassName[];  
+
 	static void dumpIds( std::ostream &os );
 	static Declaration *declFromId( UniqueId id );
   private:
 	std::string name;
-	DeclarationNode::StorageClass storageClass;
+	StorageClass storageClass;
 	LinkageSpec::Type linkage;
 	UniqueId uniqueId;
@@ -55,5 +66,5 @@
 class DeclarationWithType : public Declaration {
   public:
-	DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );
+	DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage );
 	DeclarationWithType( const DeclarationWithType &other );
 	virtual ~DeclarationWithType();
@@ -75,5 +86,5 @@
 	typedef DeclarationWithType Parent;
   public:
-	ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );
+	ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );
 	ObjectDecl( const ObjectDecl &other );
 	virtual ~ObjectDecl();
@@ -101,5 +112,5 @@
 	typedef DeclarationWithType Parent;
   public:
-	FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn );
+	FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline );
 	FunctionDecl( const FunctionDecl &other );
 	virtual ~FunctionDecl();
@@ -112,6 +123,6 @@
 	CompoundStmt *get_statements() const { return statements; }
 	void set_statements( CompoundStmt *newValue ) { statements = newValue; }
-	bool get_isInline() const { return isInline; }
-	bool get_isNoreturn() const { return isNoreturn; }
+//    bool get_isInline() const { return isInline; }
+//    void set_isInline( bool newValue ) { isInline = newValue; }
 	std::list< std::string >& get_oldIdents() { return oldIdents; }
 	std::list< Declaration* >& get_oldDecls() { return oldDecls; }
@@ -125,5 +136,5 @@
 	FunctionType *type;
 	CompoundStmt *statements;
-	bool isInline, isNoreturn;
+	bool isInline;
 	std::list< std::string > oldIdents;
 	std::list< Declaration* > oldDecls;
@@ -133,5 +144,5 @@
 	typedef Declaration Parent;
   public:
-	NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type );
+	NamedTypeDecl( const std::string &name, StorageClass sc, Type *type );
 	NamedTypeDecl( const TypeDecl &other );
 	virtual ~NamedTypeDecl();
@@ -158,5 +169,5 @@
 	enum Kind { Any, Dtype, Ftype };
 
-	TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind );
+	TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind );
 	TypeDecl( const TypeDecl &other );
 
@@ -174,5 +185,5 @@
 	typedef NamedTypeDecl Parent;
   public:
-	TypedefDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ) : Parent( name, sc, type ) {}
+	TypedefDecl( const std::string &name, StorageClass sc, Type *type ) : Parent( name, sc, type ) {}
 	TypedefDecl( const TypedefDecl &other ) : Parent( other ) {}
 
Index: src/SynTree/DeclarationWithType.cc
===================================================================
--- src/SynTree/DeclarationWithType.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/DeclarationWithType.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:08:07 2015
-// Update Count     : 3
+// Last Modified On : Mon May 18 08:20:23 2015
+// Update Count     : 2
 //
 
@@ -18,5 +18,5 @@
 #include "utility.h"
 
-DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )
+DeclarationWithType::DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )
 		: Declaration( name, sc, linkage ) {
 }
Index: src/SynTree/Expression.cc
===================================================================
--- src/SynTree/Expression.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Expression.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  7 08:40:46 2015
-// Update Count     : 16
+// Last Modified On : Mon May 18 08:27:07 2015
+// Update Count     : 2
 //
 
@@ -50,12 +50,12 @@
 }
 
-void Expression::print( std::ostream &os, int indent ) const {
+void Expression::print(std::ostream &os, int indent) const {
 	if ( env ) {
-		os << std::string( indent, ' ' ) << "with environment:" << std::endl;
+		os << std::string(indent, ' ') << "with environment:" << std::endl;
 		env->print( os, indent+2 );
 	} // if
 
 	if ( argName ) {
-		os << std::string( indent, ' ' ) << "with designator:";
+		os << std::string(indent, ' ') << "with designator:";
 		argName->print( os, indent+2 );
 	} // if
@@ -72,6 +72,7 @@
 
 void ConstantExpr::print( std::ostream &os, int indent ) const {
-	os << "constant expression " ;
-	constant.print( os );
+	os << std::string(indent, ' ') << "Constant Expression: " ;
+	constant.print(os);
+	os << std::endl;
 	Expression::print( os, indent );
 }
@@ -92,5 +93,5 @@
 
 void VariableExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Variable Expression: ";
+	os << std::string(indent, ' ') << "Variable Expression: ";
 
 	Declaration *decl = get_var();
@@ -121,5 +122,5 @@
 
 void SizeofExpr::print( std::ostream &os, int indent) const {
-	os << std::string( indent, ' ' ) << "Sizeof Expression on: ";
+	os << std::string(indent, ' ') << "Sizeof Expression on: ";
 
 	if (isType)
@@ -151,5 +152,5 @@
 
 void AttrExpr::print( std::ostream &os, int indent) const {
-	os << std::string( indent, ' ' ) << "Attr ";
+	os << std::string(indent, ' ') << "Attr ";
 	attr->print( os, indent + 2 );
 	if ( isType || expr ) {
@@ -183,9 +184,9 @@
 
 void CastExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Cast of:" << std::endl;
+	os << std::string(indent, ' ') << "Cast of:" << std::endl;
 	arg->print(os, indent+2);
-	os << std::endl << std::string( indent, ' ' ) << "to:" << std::endl;
+	os << std::endl << std::string(indent, ' ') << "to:" << std::endl;
 	if ( results.empty() ) {
-		os << std::string( indent+2, ' ' ) << "nothing" << std::endl;
+		os << std::string(indent+2, ' ') << "nothing" << std::endl;
 	} else {
 		printAll(results, os, indent+2);
@@ -206,8 +207,8 @@
 
 void UntypedMemberExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Member Expression, with field: " << get_member();
+	os << std::string(indent, ' ') << "Member Expression, with field: " << get_member();
 
 	Expression *agg = get_aggregate();
-	os << std::string( indent, ' ' ) << "from aggregate: ";
+	os << std::string(indent, ' ') << "from aggregate: ";
 	if (agg != 0) agg->print(os, indent + 2);
 	Expression::print( os, indent );
@@ -233,13 +234,13 @@
 
 void MemberExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Member Expression, with field: " << std::endl;
+	os << std::string(indent, ' ') << "Member Expression, with field: " << std::endl;
 
 	assert( member );
-	os << std::string( indent + 2, ' ' );
+	os << std::string(indent + 2, ' ');
 	member->print( os, indent + 2 );
 	os << std::endl;
 
 	Expression *agg = get_aggregate();
-	os << std::string( indent, ' ' ) << "from aggregate: " << std::endl;
+	os << std::string(indent, ' ') << "from aggregate: " << std::endl;
 	if (agg != 0) agg->print(os, indent + 2);
 	Expression::print( os, indent );
@@ -260,7 +261,7 @@
 
 void UntypedExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Applying untyped: " << std::endl;
+	os << std::string(indent, ' ') << "Applying untyped: " << std::endl;
 	function->print(os, indent + 4);
-	os << std::string( indent, ' ' ) << "...to: " << std::endl;
+	os << "\r" << std::string(indent, ' ') << "...to: " << std::endl;
 	printArgs(os, indent + 4);
 	Expression::print( os, indent );
@@ -281,5 +282,5 @@
 
 void NameExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Name: " << get_name() << std::endl;
+	os << std::string(indent, ' ') << "Name: " << get_name() << std::endl;
 	Expression::print( os, indent );
 }
@@ -300,5 +301,5 @@
 
 void LogicalExpr::print( std::ostream &os, int indent )const {
-	os << std::string( indent, ' ' ) << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: ";
+	os << std::string(indent, ' ') << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: ";
 	arg1->print(os);
 	os << " and ";
@@ -322,9 +323,9 @@
 
 void ConditionalExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Conditional expression on: " << std::endl;
+	os << std::string(indent, ' ') << "Conditional expression on: " << std::endl;
 	arg1->print( os, indent+2 );
-	os << std::string( indent, ' ' ) << "First alternative:" << std::endl;
+	os << std::string(indent, ' ') << "First alternative:" << std::endl;
 	arg2->print( os, indent+2 );
-	os << std::string( indent, ' ' ) << "Second alternative:" << std::endl;
+	os << std::string(indent, ' ') << "Second alternative:" << std::endl;
 	arg3->print( os, indent+2 );
 	os << std::endl;
@@ -333,5 +334,5 @@
 
 void UntypedValofExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Valof Expression: " << std::endl;
+	os << std::string(indent, ' ') << "Valof Expression: " << std::endl;
 	if ( get_body() != 0 )
 		get_body()->print( os, indent + 2 );
Index: src/SynTree/Expression.h
===================================================================
--- src/SynTree/Expression.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Expression.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  7 22:03:44 2015
-// Update Count     : 4
+// Last Modified On : Mon May 18 08:46:15 2015
+// Update Count     : 3
 //
 
@@ -125,5 +125,5 @@
 	virtual ~NameExpr();
 
-	const std::string &get_name() const { return name; }
+	std::string get_name() const { return name; }
 	void set_name( std::string newValue ) { name = newValue; }
 
Index: src/SynTree/FunctionDecl.cc
===================================================================
--- src/SynTree/FunctionDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/FunctionDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 09:10:32 2015
-// Update Count     : 16
+// Last Modified On : Thu May 21 21:31:16 2015
+// Update Count     : 11
 //
 
@@ -21,6 +21,6 @@
 #include "utility.h"
 
-FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn )
-		: Parent( name, sc, linkage ), type( type ), statements( statements ), isInline( isInline ), isNoreturn( isNoreturn ) {
+FunctionDecl::FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline )
+		: Parent( name, sc, linkage ), type( type ), statements( statements ), isInline( isInline ) {
 	// this is a brazen hack to force the function "main" to have C linkage
 	if ( name == "main" ) {
@@ -30,5 +30,5 @@
 
 FunctionDecl::FunctionDecl( const FunctionDecl &other )
-	: Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ), isInline( other.isInline ), isNoreturn( other.isNoreturn ) {
+		: Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ), isInline( other.isInline ) {
 }
 
@@ -52,5 +52,5 @@
 	
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
 	if ( get_linkage() != LinkageSpec::Cforall ) {
@@ -60,9 +60,6 @@
 		os << "inline ";
 	} // if
-	if ( isNoreturn ) {
-		os << "_Noreturn ";
-	} // if
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 	if ( get_type() ) {
@@ -73,17 +70,17 @@
 
 	if ( ! oldIdents.empty() ) {
-		os << string( indent + 2, ' ' ) << "with parameter names" << endl;
+		os << string( indent+2, ' ' ) << "with parameter names" << endl;
 		for ( std::list< std::string >::const_iterator i = oldIdents.begin(); i != oldIdents.end(); ++i ) {
-			os << string( indent + 4, ' ' ) << *i << endl;
+			os << string( indent+4, ' ' ) << *i << endl;
 		} // for
 	} // if
 
 	if ( ! oldDecls.empty() ) {
-		os << string( indent + 2, ' ' ) << "with parameter declarations" << endl;
-		printAll( oldDecls, os, indent + 4 );
+		os << string( indent+2, ' ' ) << "with parameter declarations" << endl;
+		printAll( oldDecls, os, indent+4 );
 	} // if
 	if ( statements ) {
-		os << string( indent + 2, ' ' ) << "with body " << endl;
-		statements->print( os, indent + 4 );
+		os << string( indent+2, ' ' ) << "with body " << endl;
+		statements->print( os, indent+4 );
 	} // if
 }
@@ -94,14 +91,11 @@
 	
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
 	if ( isInline ) {
 		os << "inline ";
 	} // if
-	if ( isNoreturn ) {
-		os << "_Noreturn ";
-	} // if
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 	if ( get_type() ) {
Index: src/SynTree/Mutator.h
===================================================================
--- src/SynTree/Mutator.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Mutator.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Fri May 29 16:34:08 2015
-// Update Count     : 4
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon May 18 10:12:28 2015
+// Update Count     : 3
 //
 #include <cassert>
@@ -104,4 +104,5 @@
 		assert( newnode );
 		return newnode;
+///	    return tree->acceptMutator( mutator );
 	} else {
 		return 0;
Index: src/SynTree/NamedTypeDecl.cc
===================================================================
--- src/SynTree/NamedTypeDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/NamedTypeDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:13:55 2015
-// Update Count     : 3
+// Last Modified On : Mon May 18 10:13:19 2015
+// Update Count     : 1
 //
 
@@ -18,5 +18,5 @@
 #include "utility.h"
 
-NamedTypeDecl::NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *base )
+NamedTypeDecl::NamedTypeDecl( const std::string &name, StorageClass sc, Type *base )
 	: Parent( name, sc, LinkageSpec::Cforall ), base( base ) {}
 
@@ -37,8 +37,8 @@
 	
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 	os << typeString();
@@ -61,8 +61,8 @@
 	
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 	os << typeString();
Index: src/SynTree/ObjectDecl.cc
===================================================================
--- src/SynTree/ObjectDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/ObjectDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:10:16 2015
-// Update Count     : 15
+// Last Modified On : Mon May 18 10:14:18 2015
+// Update Count     : 2
 //
 
@@ -20,5 +20,5 @@
 #include "utility.h"
 
-ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )
+ObjectDecl::ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )
 	: Parent( name, sc, linkage ), type( type ), init( init ), bitfieldWidth( bitfieldWidth ) {
 }
@@ -36,5 +36,5 @@
 void ObjectDecl::print( std::ostream &os, int indent ) const {
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
 
@@ -43,6 +43,6 @@
 	} // if
 
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 
@@ -65,15 +65,10 @@
 
 void ObjectDecl::printShort( std::ostream &os, int indent ) const {
-#if 0
-	if ( get_mangleName() != "") {
-		os << get_mangleName() << ": "; 
-	} else 
-#endif
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
 
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 
Index: src/SynTree/ReferenceToType.cc
===================================================================
--- src/SynTree/ReferenceToType.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/ReferenceToType.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  7 08:31:48 2015
-// Update Count     : 4
+// Last Modified On : Tue May 19 16:52:40 2015
+// Update Count     : 3
 //
 
@@ -101,5 +101,5 @@
 	
 	Type::print( os, indent );
-	os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " function type) ";
+	os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " a function type) ";
 	if ( ! parameters.empty() ) {
 		os << endl << std::string( indent, ' ' ) << "with parameters" << endl;
Index: src/SynTree/Statement.cc
===================================================================
--- src/SynTree/Statement.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Statement.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 11:42:09 2015
-// Update Count     : 21
+// Last Modified On : Mon May 18 10:55:19 2015
+// Update Count     : 2
 //
 
@@ -30,5 +30,5 @@
 Statement::Statement( std::list<Label> _labels ) : labels(_labels ) {}
 
-void Statement::print( std::ostream &, int indent ) const {}
+void Statement::print( std::ostream &, int indent ) {}
 
 Statement::~Statement() {}
@@ -38,6 +38,6 @@
 ExprStmt::~ExprStmt() {}
 
-void ExprStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Expression Statement:" << endl;
+void ExprStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string(indent, ' ') << "Expression Statement:" << endl;
 	expr->print( os, indent + 2 );
 } 
@@ -46,5 +46,5 @@
 
 BranchStmt::BranchStmt( std::list<Label> labels, Label _target, Type _type ) throw ( SemanticError ) :
-	Statement( labels ), originalTarget(_target ), target(_target ), type(_type ) {
+	Statement( labels ), target(_target ), type(_type ) {
 	//actually this is a syntactic error signaled by the parser
 	if ( type == BranchStmt::Goto && target.size() == 0 )
@@ -58,6 +58,6 @@
 }
 
-void BranchStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Branch (" << brType[type] << ")" << endl ;
+void BranchStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Branch (" << brType[type] << ")" << endl ;
 }
 
@@ -68,6 +68,6 @@
 }
 
-void ReturnStmt::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << string ( isThrow? "Throw":"Return" ) << " Statement, returning: ";
+void ReturnStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << std::string( indent, ' ') << string ( isThrow? "Throw":"Return" ) << " Statement, returning: ";
 	if ( expr != 0 ) expr->print( os );
 	os << endl;
@@ -79,9 +79,9 @@
 IfStmt::~IfStmt() {}
 
-void IfStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "If on condition: " << endl ;
+void IfStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "If on condition: " << endl ;
 	condition->print( os, indent + 4 );
 
-	os << string( indent, ' ' ) << ".... and branches: " << endl;
+	os << string( indent, ' ') << ".... and branches: " << endl;
 
 	thenPart->print( os, indent + 4 );
@@ -103,13 +103,13 @@
 void SwitchStmt::add_case( CaseStmt *c ) {}
 
-void SwitchStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Switch on condition: ";
+void SwitchStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Switch on condition: ";
 	condition->print( os );
 	os << endl;
 
 	// branches
-	std::list<Statement *>::const_iterator i;
+	std::list<Statement *>::iterator i;
 	for ( i = branches.begin(); i != branches.end(); i++)
-		(*i)->print( os, indent + 4 );
+		(*i )->print( os, indent + 4 );
 
 	//for_each( branches.begin(), branches.end(), mem_fun( bind1st(&Statement::print ), os ));
@@ -126,12 +126,8 @@
 }
 
-CaseStmt * CaseStmt::makeDefault( std::list<Label> labels, std::list<Statement *> branches ) {
-	return new CaseStmt( labels, 0, branches, true );
-}
-
-void CaseStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' );
-
-	if ( isDefault() )
+void CaseStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ');
+
+	if ( isDefault())
 		os << "Default ";
 	else {
@@ -142,5 +138,5 @@
 	os << endl;
 
-	std::list<Statement *>::const_iterator i;
+	std::list<Statement *>::iterator i;
 	for ( i = stmts.begin(); i != stmts.end(); i++)
 		(*i )->print( os, indent + 4 );
@@ -158,11 +154,11 @@
 void ChooseStmt::add_case( CaseStmt *c ) {}
 
-void ChooseStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Choose on condition: ";
+void ChooseStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Choose on condition: ";
 	condition->print( os );
 	os << endl;
 
 	// branches
-	std::list<Statement *>::const_iterator i;
+	std::list<Statement *>::iterator i;
 	for ( i = branches.begin(); i != branches.end(); i++)
 		(*i )->print( os, indent + 4 );
@@ -171,6 +167,6 @@
 }
 
-void FallthruStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Fall-through statement" << endl;
+void FallthruStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Fall-through statement" << endl;
 }
 
@@ -183,9 +179,9 @@
 }
 
-void WhileStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "While on condition: " << endl ;
+void WhileStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "While on condition: " << endl ;
 	condition->print( os, indent + 4 );
 
-	os << string( indent, ' ' ) << ".... with body: " << endl;
+	os << string( indent, ' ') << ".... with body: " << endl;
 
 	if ( body != 0 ) body->print( os, indent + 4 );
@@ -203,26 +199,20 @@
 }
 
-void ForStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Labels: {";
-	for ( std::list<Label>::const_iterator it = get_labels().begin(); it != get_labels().end(); ++it) {
-		os << *it << ",";
-	}
-	os << "}" << endl;
-
-	os << string( indent, ' ' ) << "For Statement" << endl ;
-
-	os << string( indent + 2, ' ' ) << "initialization: \n"; 
+void ForStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "For Statement" << endl ;
+
+	os << "\r" << string( indent + 2, ' ') << "initialization: \n"; 
 	if ( initialization != 0 )
 		initialization->print( os, indent + 4 );
 
-	os << "\n" << string( indent + 2, ' ' ) << "condition: \n"; 
+	os << "\n\r" << string( indent + 2, ' ') << "condition: \n"; 
 	if ( condition != 0 )
 		condition->print( os, indent + 4 );
 
-	os << "\n" << string( indent + 2, ' ' ) << "increment: \n"; 
+	os << "\n\r" << string( indent + 2, ' ') << "increment: \n"; 
 	if ( increment != 0 )
 		increment->print( os, indent + 4 );
 
-	os << "\n" << string( indent + 2, ' ' ) << "statement block: \n"; 
+	os << "\n\r" << string( indent + 2, ' ') << "statement block: \n"; 
 	if ( body != 0 )
 		body->print( os, indent + 4 );
@@ -245,17 +235,18 @@
 }
 
-void TryStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Try Statement" << endl;
-	os << string( indent + 2, ' ' ) << "with block: " << endl;
+void TryStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Try Statement" << endl;
+	os << string( indent + 2, ' ') << "with block: " << endl;
 	block->print( os, indent + 4 );
 
 	// handlers
-	os << string( indent + 2, ' ' ) << "and handlers: " << endl;
-	for ( std::list<Statement *>::const_iterator i = handlers.begin(); i != handlers.end(); i++)
+	os << string( indent + 2, ' ') << "and handlers: " << endl;
+	std::list<Statement *>::iterator i;
+	for ( i = handlers.begin(); i != handlers.end(); i++)
 		(*i )->print( os, indent + 4 );
 
 	// finally block
 	if ( finallyBlock != 0 ) {
-		os << string( indent + 2, ' ' ) << "Finally block: " << endl;
+		os << string( indent + 2, ' ') << "Finally block: " << endl;
 		finallyBlock->print( os, indent + 4 );
 	} // if
@@ -271,15 +262,15 @@
 }
 
-void CatchStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Catch Statement" << endl;
-
-	os << string( indent, ' ' ) << "... catching" << endl;
+void CatchStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Catch Statement" << endl;
+
+	os << "\r" << string( indent, ' ') << "... catching" << endl;
 	if ( decl ) {
 		decl->printShort( os, indent + 4 );
 		os << endl;
 	} else if ( catchRest )
-		os << string( indent + 4 , ' ' ) << "the rest" << endl;
+		os << "\r" << string( indent + 4 , ' ') << "the rest" << endl;
 	else
-		os << string( indent + 4 , ' ' ) << ">>> Error:  this catch clause must have a declaration <<<" << endl;
+		os << "\r" << string( indent + 4 , ' ') << ">>> Error:  this catch clause must have a declaration <<<" << endl;
 }
 
@@ -293,7 +284,7 @@
 }
 
-void FinallyStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Finally Statement" << endl;
-	os << string( indent + 2, ' ' ) << "with block: " << endl;
+void FinallyStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Finally Statement" << endl;
+	os << string( indent + 2, ' ') << "with block: " << endl;
 	block->print( os, indent + 4 );
 }
@@ -303,6 +294,6 @@
 NullStmt::~NullStmt() {}
 
-void NullStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Null Statement" << endl ;
+void NullStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Null Statement" << endl ;
 }
 
Index: src/SynTree/Statement.h
===================================================================
--- src/SynTree/Statement.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Statement.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 11:44:27 2015
-// Update Count     : 20
+// Last Modified On : Mon May 18 10:57:40 2015
+// Update Count     : 2
 //
 
@@ -28,10 +28,9 @@
 
 	std::list<Label> & get_labels() { return labels; }
-	const std::list<Label> & get_labels() const { return labels; }
 
 	virtual Statement *clone() const = 0;
 	virtual void accept( Visitor &v ) = 0;
 	virtual Statement *acceptMutator( Mutator &m ) = 0;
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   protected:
 	std::list<Label> labels;
@@ -49,5 +48,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual CompoundStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	std::list<Statement*> kids;
@@ -65,5 +64,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *expr;
@@ -85,5 +84,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *condition;
@@ -107,5 +106,5 @@
 
 	virtual SwitchStmt *clone() const { return new SwitchStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression * condition;
@@ -128,5 +127,5 @@
 
 	virtual ChooseStmt *clone() const { return new ChooseStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *condition;
@@ -142,5 +141,5 @@
 
 	virtual FallthruStmt *clone() const { return new FallthruStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
 };
 
@@ -151,8 +150,5 @@
 	virtual ~CaseStmt();
 
-	static CaseStmt * makeDefault( std::list<Label> labels = std::list<Label>(),
-		std::list<Statement *> stmts = std::list<Statement *>() );
-
-	bool isDefault() const { return _isDefault; }
+	bool isDefault() { return _isDefault; }
 	void set_default(bool b) { _isDefault = b; }
 
@@ -167,5 +163,5 @@
 
 	virtual CaseStmt *clone() const { return new CaseStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression * condition;
@@ -190,5 +186,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *condition;
@@ -215,5 +211,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Statement *initialization;
@@ -225,5 +221,5 @@
 class BranchStmt : public Statement {
   public:
-	enum Type { Goto = 0, Break, Continue };
+	enum Type { Goto = 0 , Break, Continue };
 
 	BranchStmt( std::list<Label> labels, Label target, Type ) throw (SemanticError);
@@ -231,5 +227,4 @@
 	virtual ~BranchStmt() {}
 
-	Label get_originalTarget() { return originalTarget; }
 	Label get_target() { return target; }
 	void set_target( Label newValue ) { target = newValue; }
@@ -244,8 +239,7 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	static const char *brType[];
-	Label originalTarget;  // can give better error messages if we remember the label name that the user entered
 	Label target;
 	Expression *computedTarget;
@@ -264,5 +258,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *expr;
@@ -280,5 +274,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual NullStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
 	
   private:
@@ -301,5 +295,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
 	
   private:
@@ -323,5 +317,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
 	
   private:
@@ -342,5 +336,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	CompoundStmt *block;
@@ -361,5 +355,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Declaration *decl;
Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Type.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 16:47:54 2015
-// Update Count     : 13
+// Last Modified On : Mon May 18 11:01:40 2015
+// Update Count     : 1
 //
 
@@ -57,5 +57,5 @@
 	bool get_isAttribute() { return tq.isAttribute; }
 	void set_isConst( bool newValue ) { tq.isConst = newValue; }
-	void set_isVolatile( bool newValue ) { tq.isVolatile = newValue; }
+	void set_iisVolatile( bool newValue ) { tq.isVolatile = newValue; }
 	void set_isRestrict( bool newValue ) { tq.isRestrict = newValue; }
 	void set_isLvalue( bool newValue ) { tq.isLvalue = newValue; }
@@ -110,5 +110,5 @@
 	};  
 
-	static const char *typeNames[];						// string names for basic types, MUST MATCH with Kind
+	static const char *typeNames[];			// string names for basic types, MUST MATCH with Kind
 
 	BasicType( const Type::Qualifiers &tq, Kind bt );
@@ -214,5 +214,5 @@
 	virtual ~ReferenceToType();
 
-	const std::string &get_name() const { return name; }
+	std::string get_name() const { return name; }
 	void set_name( std::string newValue ) { name = newValue; }
 	std::list< Expression* >& get_parameters() { return parameters; }
@@ -372,5 +372,5 @@
 	virtual ~AttrType();
 
-	const std::string &get_name() const { return name; }
+	std::string get_name() const { return name; }
 	void set_name( const std::string &newValue ) { name = newValue; }
 	Expression *get_expr() const { return expr; }
Index: src/SynTree/TypeDecl.cc
===================================================================
--- src/SynTree/TypeDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/TypeDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:14:35 2015
-// Update Count     : 2
+// Last Modified On : Mon May 18 11:02:11 2015
+// Update Count     : 1
 //
 
@@ -18,5 +18,5 @@
 #include "utility.h"
 
-TypeDecl::TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) {
+TypeDecl::TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) {
 }
 
Index: src/SynTree/module.mk
===================================================================
--- src/SynTree/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,18 +1,2 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:54:09 2015
-## Update Count     : 1
-###############################################################################
-
 SRC += SynTree/Type.cc \
        SynTree/VoidType.cc \
@@ -46,4 +30,5 @@
        SynTree/Mutator.cc \
        SynTree/CodeGenVisitor.cc \
-       SynTree/TypeSubstitution.cc
+       SynTree/TypeSubstitution.cc \
+	$(NULL)
 
Index: src/Tests/Abstype.c
===================================================================
--- src/Tests/Abstype.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,27 +1,0 @@
-type T | { T x( T ); };
-
-T y( T t ) {
-	T t_instance;
-	return x( t );
-}
-
-forall( type T ) lvalue T *?( T * );
-int ?++( int * );
-int ?=?( int *, int );
-forall( dtype DT ) DT * ?=?( DT **, DT * );
-
-type U = int *;
-
-U x( U u ) {
-	U u_instance = u;
-	(*u)++;
-	return u;
-}
-
-int *break_abstraction( U u ) {
-	return u;
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Array.c
===================================================================
--- src/Tests/Array.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,37 +1,0 @@
-int a1[];
-int a2[*];
-double a4[3.0];
-
-int m1[][3];
-int m2[*][*];
-int m4[3][3];
-
-typedef int T;
-
-int fred() {
-	int a1[];
-	int a2[*];
-	int a4[3];
-	int T[3];
-}
-
-int mary( int T[3],
-		  int p1[const 3],
-		  int p2[static 3],
-		  int p3[static const 3]
-	) {
-}
-
-int (*tom())[3] {
-}
-
-int (*(jane)())( int T[3],
-				 int p1[const 3],
-				 int p2[static 3],
-				 int p3[static const 3]
-	) {
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/AsmName.c
===================================================================
--- src/Tests/AsmName.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-extern int x asm( "xx" );
-
-int fred( int x ) {
-    static int y asm( "yy" );
-
-// Cforall extensions
-
-    static * int z asm( "zz" );
-}
-
-// errors
-
-//typedef int t asm( "tt" );
-//int mary( int p asm( "pp" ) ) {}
Index: src/Tests/Attributes.c
===================================================================
--- src/Tests/Attributes.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,92 +1,0 @@
-// I Compile-time resolution
-// =========================
-// 
-// 1. an isolated name, where the argument is implicitly determined by the result context
-// 
-//    @max
-// 
-// 2. a direct application to a manifest type
-// 
-//    @max( int )
-// 
-// 3. constraining a type variable; the application is implicitly performed at the call site as in (2)
-// 
-//    forall( type T | { T @max( T ); } ) T x( T t );
-// 
-// 
-// II Run-time resolution
-// ======================
-// 
-// 1. an indirect reference, where the argument is implicitly determined by the result context
-// 
-//    attr_var = &@max;
-//    x = (*attr_var);
-// 
-// 2. an indirect application to a manifest type
-// 
-//    (*attr_var)( int )
-// 
-// 3. a direct application to a type variable
-// 
-//    @max( T )
-// 
-// Under what circumstances can this be done at compile/link time?
-// 
-// 
-// III Declaration forms
-// =====================
-// 
-// 1. monomorphic with implicit argument
-// 
-//    int @max;
-// 
-// 2. monomorphic with explicit argument
-// 
-//    int @max( int );
-// 
-// 3. polymorphic
-// 
-//    forall( type T | constraint( T ) ) int @attr( T );
-
-int @max = 3;
-
-int main() {
-    int x;
-    type @type(type t);									// compiler intrinsic
-    type @widest(type t);
-    @type(x) *y;										// gcc: typeof(x) *y;
-    const @widest(double) *w;							// gcc: const typeof(x) *w;
-    * @type(3 + 4) z;									// cfa declaration syntax
-    y = @max;		
-    z = @max(x) + @size(int);
-    y = @min(3 + 4);
-    if ( @const(x) ) { }
-    if ( @volatile(y) ) { }
-    if ( @extern(y) ) { }
-    if ( @static(y) ) { }
-    @max;
-}
-
-int @foo(int) {
-    return 7;
-}
-
-int @voon;
-double @voon;
-
-int @bort(int);
-int @bort(double);
-
-void g( int );
-
-void f() {
-	float x;
-	double x;
-	@bort(x);
-	@bort(int);
-	g( @voon );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Cast.c
===================================================================
--- src/Tests/Cast.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,15 +1,0 @@
-char f;
-
-void f() {
-	char f;
-	double f;
-	(int)f;
-	short f;
-	(int)f;
-	(void(*)())f;
-	([long, long double, *[]()])([f, f, f]);
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/CastError.c
===================================================================
--- src/Tests/CastError.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-int f;
-
-void f() {
-	int f;
-	double f;
-	(char)f;
-	(int(*)())f;
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/CharStringConstants.c
===================================================================
--- src/Tests/CharStringConstants.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,87 +1,0 @@
-int main() {
-// character constants
-
-    ' ';
-    'a';
-    '"';
-    '_';
-
-    '\a';				// simple escape
-    '\b';
-    '\e';				// GCC
-    '\f';
-    '\n';
-    '\r';
-    '\t';
-    '\v';
-    '\'';
-    '\"';
-    '\?';
-    '\\';
-
-    '\0';				// octal escape
-
-    '\377';
-
-    '\xf';				// hex escape
-    '\xff';
-
-// warnings/errors
-
-    '';					// empty character
-    'aa';				// multi-character
-    'a\na';				// multi-character, embedded escape
-    'a\0a';
-    '\xfff';				// hex escape out of range
-    '_\377_';				// multi-character
-    '_\xff_';
-    '\xffff';				// hex escape out of range
-    'a\xff34w';
-    '\xf_f';				// multi-character
-    '\xff_ff';
-
-// string constants
-
-    " ";
-    "a";
-    "'";
-    '_';
-
-    "\a";				// simple escape
-    "\b";
-    "\e";				// GCC
-    "\f";
-    "\n";
-    "\r";
-    "\t";
-    "\v";
-    "\'";
-    "\"";
-    "\?";
-    "\\";
-
-    "\0";				// octal escape
-    "\377";
-
-    "\xf";				// hex escape
-    "\xff";
-
-    "";
-    "aa";
-    "a\na";
-    "a\0a";
-    "_\377_";
-    "_\xff_";
-    "\xf_f";
-
-// warnings/errors
-
-    "\xff_ff";
-    "\xfff";				// hex escape out of range
-    "a\xff34w";
-    "\xffff";
-}
-
-// Local Variables: //
-// compile-command: "../../../bin/cfa -std=c99 CharStringConstants.c" //
-// End: //
Index: src/Tests/CommentMisc.c
===================================================================
--- src/Tests/CommentMisc.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,44 +1,0 @@
-/* single line */
-// single line
-
-// single line containing */
-// single line containing /*
-// single line containing /* */
-
-/* 1st */ int i;
-int i; /* 2nd */
-/* 1st */ int i; /* 2nd */
-/* 1st */ /* 2nd */
-
-/* 1st
-   2nd */ int i;
-
-/*
-*/
-
-/*
-
-*/
-
-/*
-  1st
-*/
-
-/*
-  1st
-  2nd
-*/
-
-// ignore preprocessor directives
-
-#line 2
- #
- #include <fred>
-	#define mary abc
-
-// alternative ANSI99 brackets
-
-int main() <%
-    int x<:10:>;
-%>
-
Index: src/Tests/Constant0-1.c
===================================================================
--- src/Tests/Constant0-1.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,46 +1,0 @@
-// Cforall extension
-
-// value
-
-int 0;
-const int 0;
-static const int 0;
-int 1;
-const int 1;
-static const int 1;
-int 0, 1;
-const int 0, 1;
-int (0), (1);
-int ((0)), ((1));
-static const int 0, 1;
-struct { int i; } 0;
-const struct { int i; } 1;
-static const struct { int i; } 1;
-
-// pointer
-
-int *0, *1;
-int *(0), *(1);
-int (*0), (*1);
-int ((*0)), ((*1));
-int * const (0), * const 1;
-int (* const 0), (* const 1);
-int ((* const 0)), ((* const 1));
-struct { int i; } *0;
-
-// Cforall style
-
-* int x, 0;
-const * int x, 0;
-static const * int x, 0;
-* struct { int i; } 0;
-const * struct { int i; } 0;
-static const * struct { int i; } 0;
-static * int x, 0;
-static const * int x, 0;
-const * * int x, 0;
-
-int main() {
-    int 1, * 0;
-    * int x, 0;
-}
Index: src/Tests/Context.c
===================================================================
--- src/Tests/Context.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,15 +1,0 @@
-context has_q( type T ) {
-	T q( T );
-};
-
-forall( type z | has_q( z ) ) void f() {
-	context has_r( type T, type U ) {
-		T r( T, T (T,U) );
-	};
-  
-	extern type x, y | has_r( x, y );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/DeclarationErrors.c
===================================================================
--- src/Tests/DeclarationErrors.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,9 +1,0 @@
-static short int volatile static const x9;		// duplicate static
-struct { int i; } const static volatile static x18;	// duplicate static
-struct { int i; } const static volatile static volatile x19; // duplicate static & volatile
-typedef int Int;
-static Int volatile static const x28;			// duplicate static
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/DeclarationSpecifier.c
===================================================================
--- src/Tests/DeclarationSpecifier.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,93 +1,0 @@
-typedef short int Int;
-
-
-const short int volatile x1;
-static const short int volatile x2;
-const static short int volatile x3;
-const short static int volatile x4;
-const static volatile short int x4;
-const short int static volatile x5;
-const short int volatile static x6;
-const short volatile int static x7;
-short int volatile static const x8;
-static short int volatile static const x9;		// duplicate static
-
-const volatile struct { int i; } x10;
-const struct { int i; } volatile x11;
-struct { int i; } const volatile x12;
-static const volatile struct { int i; } x13;
-const static struct { int i; } volatile x14;
-struct { int i; } static const volatile x15;
-struct { int i; } const static volatile x16;
-struct { int i; } const volatile static x17;
-struct { int i; } const static volatile static x18;	// duplicate static
-struct { int i; } const static volatile static volatile x19; // duplicate static & volatile
-
-const Int volatile x20;
-static const Int volatile x21;
-const static Int volatile x22;
-const static Int volatile x23;
-const Int static volatile x24;
-const Int volatile static x25;
-const volatile Int static x26;
-Int volatile static const x27;
-static Int volatile static const x28;			// duplicate static
-
-const volatile struct { Int i; } x29;
-const struct { Int i; } volatile x30;
-struct { Int i; } const volatile x31;
-static const volatile struct { Int i; } x32;
-const static struct { Int i; } volatile x33;
-struct { Int i; } static const volatile x34;
-struct { Int i; } const static volatile x35;
-struct { Int i; } const volatile static x36;
-
-
-const static inline const volatile int f01();		// duplicate const
-volatile inline const volatile static int f02();	// duplicate volatile
-const inline const volatile int static f03();		// duplicate const
-volatile inline static const volatile int f04();	// duplicate volatile
-const static const inline volatile int f05();		// duplicate const
-volatile static const volatile inline int f06();	// duplicate volatile
-const static const volatile int inline f07();		// duplicate const
-volatile static const int inline volatile f08();	// duplicate volatile
-
-static inline const volatile int f11();
-inline const volatile static int f12();
-inline const volatile int static f13();
-inline static const volatile int f14();
-static const inline volatile int f15();
-static const volatile inline int f16();
-static const volatile int inline f17();
-static const int inline volatile f18();
-
-short static inline const volatile int f21();
-inline short const volatile static int f22();
-inline const short volatile int static f23();
-inline static const short volatile int f24();
-static const inline volatile short int f25();
-static const volatile inline int short f26();
-static const volatile int inline short f27();
-static const int inline volatile short f28();
-
-static inline const volatile struct { int i; } f31();
-inline const volatile static struct { int i; } f32();
-inline const volatile struct { int i; } static f33();
-inline static const volatile struct { int i; } f34();
-static const inline volatile struct { int i; } f35();
-static const volatile inline struct { int i; } f36();
-static const volatile struct { int i; } inline f37();
-static const struct { int i; } inline volatile f38();
-
-static inline const volatile Int f41();
-inline const volatile static Int f42();
-inline const volatile Int static f43();
-inline static const volatile Int f44();
-static const inline volatile Int f45();
-static const volatile inline Int f46();
-static const volatile Int inline f47();
-static const Int inline volatile f48();
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Enum.c
===================================================================
--- src/Tests/Enum.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,22 +1,0 @@
-enum Colors {
-	Red,
-	Yellow,
-	Pink,
-	Blue,
-	Purple,
-	Orange,
-	Green
-};
-
-void f( void ) {
-	enum Fruits {
-		Apple,
-		Banana,
-		Pear,
-		Mango
-	} fruit = Mango;
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Exception.c
===================================================================
--- src/Tests/Exception.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,24 +1,0 @@
-int fred() {
-    int x;
-    throw 3;
-    throw x = 5;
-
-    try {
-    } catch( int i ) {}
-
-    try {
-	x/4;
-    } catch( int) {
-    } catch( int x ) {
-    } catch( struct { int i; } ) {
-    } catch( struct { int i; } x ) {
-    } catch( struct { int i; } *x ) {
-
-// Cforall extensions
-
-    } catch( * struct { int i; } ) {
-    } catch( * struct { int i; } x ) {
-    } catch( ... ) {
-//    } finally {
-    } // try
-}
Index: src/Tests/Expect-a/Abstype.txt
===================================================================
--- src/Tests/Expect-a/Abstype.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,99 +1,0 @@
-T: type
-  with assertions
-    x: function
-        with parameters
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-
-y: function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of t_instance: instance of type T (not function type) 
-                  Return Statement, returning: Applying untyped: 
-    Name: x
-...to: 
-    Name: t
-
-
-
-*?: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type T (not function type) 
-    returning 
-      lvalue instance of type T (not function type) 
-
-?++: function
-    with parameters
-      pointer to signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-U: type for pointer to signed int 
-x: function
-    with parameters
-      u: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of u_instance: instance of type U (not function type) with initializer 
-          Simple Initializer:             Name: u
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?++
-            ...to: 
-                Address of:
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Name: u
-
-                  Return Statement, returning: Name: u
-
-
-
-break_abstraction: function
-    with parameters
-      u: instance of type U (not function type) 
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Name: u
-
-
-
Index: src/Tests/Expect-a/Array.txt
===================================================================
--- src/Tests/Expect-a/Array.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,51 +1,0 @@
-a1: open array of signed int 
-a2: variable length array of signed int 
-a4: array of double with dimension of constant expression 3.0 double 
-m1: open array of array of signed int with dimension of constant expression 3 signed int 
-m2: variable length array of variable length array of signed int 
-m4: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-T: typedef for signed int 
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of a1: open array of signed int 
-        Declaration of a2: variable length array of signed int 
-        Declaration of a4: array of signed int with dimension of constant expression 3 signed int 
-        Declaration of T: array of signed int with dimension of constant expression 3 signed int 
-
-mary: function
-    with parameters
-      T: array of signed int with dimension of constant expression 3 signed int 
-      p1: const array of signed int with dimension of constant expression 3 signed int 
-      p2: static array of signed int with dimension of constant expression 3 signed int 
-      p3: const static array of signed int with dimension of constant expression 3 signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-tom: function
-      accepting unspecified arguments
-    returning 
-      pointer to array of signed int with dimension of constant expression 3 signed int 
-    with body 
-      CompoundStmt
-
-jane: function
-      accepting unspecified arguments
-    returning 
-      pointer to function
-          with parameters
-            T: array of signed int with dimension of constant expression 3 signed int 
-            p1: const array of signed int with dimension of constant expression 3 signed int 
-            p2: static array of signed int with dimension of constant expression 3 signed int 
-            p3: const static array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-    with body 
-      CompoundStmt
-
Index: src/Tests/Expect-a/AsmName.txt
===================================================================
--- src/Tests/Expect-a/AsmName.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,11 +1,0 @@
-x: extern signed int 
-fred: function
-    with parameters
-      x: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of y: static signed int 
-        Declaration of z: static pointer to signed int 
-
Index: src/Tests/Expect-a/Attributes.txt
===================================================================
--- src/Tests/Expect-a/Attributes.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Error at line 58 reading token "*"
Index: src/Tests/Expect-a/Cast.txt
===================================================================
--- src/Tests/Expect-a/Cast.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,55 +1,0 @@
-f: char 
-f: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of f: char 
-        Declaration of f: double 
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              signed int 
-
-        Declaration of f: short signed int 
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              signed int 
-
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    void 
-
-
-                  Expression Statement:
-            Cast of:
-              Tuple:
-                                  Name: f
-
-                                  Name: f
-
-                                  Name: f
-
-
-            to:
-              long signed int 
-              long double 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    nothing 
-
-
-
Index: src/Tests/Expect-a/CastError.txt
===================================================================
--- src/Tests/Expect-a/CastError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,28 +1,0 @@
-f: signed int 
-f: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of f: signed int 
-        Declaration of f: double 
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              char 
-
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-
Index: src/Tests/Expect-a/CharStringConstants.txt
===================================================================
--- src/Tests/Expect-a/CharStringConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,131 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-constant expression ' ' char 
-                  Expression Statement:
-constant expression 'a' char 
-                  Expression Statement:
-constant expression '"' char 
-                  Expression Statement:
-constant expression '_' char 
-                  Expression Statement:
-constant expression '\a' char 
-                  Expression Statement:
-constant expression '\b' char 
-                  Expression Statement:
-constant expression '\e' char 
-                  Expression Statement:
-constant expression '\f' char 
-                  Expression Statement:
-constant expression '\n' char 
-                  Expression Statement:
-constant expression '\r' char 
-                  Expression Statement:
-constant expression '\t' char 
-                  Expression Statement:
-constant expression '\v' char 
-                  Expression Statement:
-constant expression '\'' char 
-                  Expression Statement:
-constant expression '\"' char 
-                  Expression Statement:
-constant expression '\?' char 
-                  Expression Statement:
-constant expression '\\' char 
-                  Expression Statement:
-constant expression '\0' char 
-                  Expression Statement:
-constant expression '\377' char 
-                  Expression Statement:
-constant expression '\xf' char 
-                  Expression Statement:
-constant expression '\xff' char 
-                  Expression Statement:
-constant expression '' char 
-                  Expression Statement:
-constant expression 'aa' char 
-                  Expression Statement:
-constant expression 'a\na' char 
-                  Expression Statement:
-constant expression 'a\0a' char 
-                  Expression Statement:
-constant expression '\xfff' char 
-                  Expression Statement:
-constant expression '_\377_' char 
-                  Expression Statement:
-constant expression '_\xff_' char 
-                  Expression Statement:
-constant expression '\xffff' char 
-                  Expression Statement:
-constant expression 'a\xff34w' char 
-                  Expression Statement:
-constant expression '\xff' char 
-                  Expression Statement:
-constant expression '\xffff' char 
-                  Expression Statement:
-constant expression " " array of char with dimension of constant expression 4 unsigned int 
-                  Expression Statement:
-constant expression "a" array of char with dimension of constant expression 4 unsigned int 
-                  Expression Statement:
-constant expression "'" array of char with dimension of constant expression 4 unsigned int 
-                  Expression Statement:
-constant expression '_' char 
-                  Expression Statement:
-constant expression "\a" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\b" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\e" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\f" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\n" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\r" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\t" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\v" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\'" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\"" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\?" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\\" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\0" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\377" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "\xf" array of char with dimension of constant expression 6 unsigned int 
-                  Expression Statement:
-constant expression "\xff" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "" array of char with dimension of constant expression 3 unsigned int 
-                  Expression Statement:
-constant expression "aa" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "a\na" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "a\0a" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "_\377_" array of char with dimension of constant expression 9 unsigned int 
-                  Expression Statement:
-constant expression "_\xff_" array of char with dimension of constant expression 9 unsigned int 
-                  Expression Statement:
-constant expression "\xff" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int 
-                  Expression Statement:
-constant expression "\xfff" array of char with dimension of constant expression 8 unsigned int 
-                  Expression Statement:
-constant expression "a\xff34w" array of char with dimension of constant expression 11 unsigned int 
-                  Expression Statement:
-constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int 
-
Index: src/Tests/Expect-a/CommentMisc.txt
===================================================================
--- src/Tests/Expect-a/CommentMisc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-i: signed int 
-i: signed int 
-i: signed int 
-i: signed int 
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of x: array of signed int with dimension of constant expression 10 signed int 
-
Index: src/Tests/Expect-a/Constant0-1.txt
===================================================================
--- src/Tests/Expect-a/Constant0-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,88 +1,0 @@
-0: signed int 
-0: const signed int 
-0: static const signed int 
-1: signed int 
-1: const signed int 
-1: static const signed int 
-0: signed int 
-1: signed int 
-0: const signed int 
-1: const signed int 
-0: signed int 
-1: signed int 
-0: signed int 
-1: signed int 
-0: static const signed int 
-1: static const signed int 
-struct __anonymous0
-    with members
-      i: signed int 
-
-0: instance of struct __anonymous0 
-struct __anonymous1
-    with members
-      i: signed int 
-
-1: const instance of struct __anonymous1 
-struct __anonymous2
-    with members
-      i: signed int 
-
-1: static const instance of struct __anonymous2 
-0: pointer to signed int 
-1: pointer to signed int 
-0: pointer to signed int 
-1: pointer to signed int 
-0: pointer to signed int 
-1: pointer to signed int 
-0: pointer to signed int 
-1: pointer to signed int 
-0: const pointer to signed int 
-1: const pointer to signed int 
-0: const pointer to signed int 
-1: const pointer to signed int 
-0: const pointer to signed int 
-1: const pointer to signed int 
-struct __anonymous3
-    with members
-      i: signed int 
-
-0: pointer to instance of struct __anonymous3 
-x: pointer to signed int 
-0: pointer to signed int 
-x: const pointer to signed int 
-0: const pointer to signed int 
-x: static const pointer to signed int 
-0: static const pointer to signed int 
-struct __anonymous4
-    with members
-      i: signed int 
-
-0: pointer to instance of struct __anonymous4 
-struct __anonymous5
-    with members
-      i: signed int 
-
-0: const pointer to instance of struct __anonymous5 
-struct __anonymous6
-    with members
-      i: signed int 
-
-0: static const pointer to instance of struct __anonymous6 
-x: static pointer to signed int 
-0: static pointer to signed int 
-x: static const pointer to signed int 
-0: static const pointer to signed int 
-x: const pointer to pointer to signed int 
-0: const pointer to pointer to signed int 
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of 1: signed int 
-        Declaration of 0: pointer to signed int 
-        Declaration of x: pointer to signed int 
-        Declaration of 0: pointer to signed int 
-
Index: src/Tests/Expect-a/Context.txt
===================================================================
--- src/Tests/Expect-a/Context.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,63 +1,0 @@
-context has_q
-    with parameters
-      T: type
-
-    with members
-      q: function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-
-f: forall
-      z: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type z (not function type) 
-                instance of type z (not function type) 
-              returning 
-                instance of type z (not function type) 
-
-          instance of context has_q 
-            with parameters
-              instance of type z (not function type) 
-
-
-    function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of context has_r
-            with parameters
-              T: type
-              U: type
-
-            with members
-              r: function
-                  with parameters
-                    instance of type T (not function type) 
-                    function
-                        with parameters
-                          instance of type T (not function type) 
-                          instance of type U (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-                  returning 
-                    instance of type T (not function type) 
-
-
-        Declaration of x: extern type
-        Declaration of y: extern type
-          with assertions
-            instance of context has_r 
-              with parameters
-                instance of type x (not function type) 
-                instance of type y (not function type) 
-
-
-
Index: src/Tests/Expect-a/DeclarationErrors.txt
===================================================================
--- src/Tests/Expect-a/DeclarationErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous0
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous1
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-a/DeclarationSpecifier.txt
===================================================================
--- src/Tests/Expect-a/DeclarationSpecifier.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous8
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous9
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-a/Enum.txt
===================================================================
--- src/Tests/Expect-a/Enum.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,28 +1,0 @@
-enum Colors
-    with members
-      Red: untyped entity 
-      Yellow: untyped entity 
-      Pink: untyped entity 
-      Blue: untyped entity 
-      Purple: untyped entity 
-      Orange: untyped entity 
-      Green: untyped entity 
-
-f: function
-    with parameters
-      void 
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of enum Fruits
-            with members
-              Apple: untyped entity 
-              Banana: untyped entity 
-              Pear: untyped entity 
-              Mango: untyped entity 
-
-        Declaration of fruit: instance of enum Fruits with initializer 
-          Simple Initializer:             Name: Mango
-
-
Index: src/Tests/Expect-a/Exception.txt
===================================================================
--- src/Tests/Expect-a/Exception.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,60 +1,0 @@
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of x: signed int 
-                  Throw Statement, returning: constant expression 3 signed int 
-
-                  Throw Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: x
-constant expression 5 signed int 
-
-                  Try Statement
-            with block: 
-              CompoundStmt
-            and handlers: 
-              Catch Statement
-              ... catching
-i: signed int 
-
-                  Try Statement
-            with block: 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?/?
-                    ...to: 
-                        Name: x
-constant expression 4 signed int 
-            and handlers: 
-              Catch Statement
-              ... catching
-signed int 
-              Catch Statement
-              ... catching
-x: signed int 
-              Catch Statement
-              ... catching
-struct __anonymous0
-              Catch Statement
-              ... catching
-x: instance of struct __anonymous1 
-              Catch Statement
-              ... catching
-x: pointer to instance of struct __anonymous2 
-              Catch Statement
-              ... catching
-pointer to instance of struct __anonymous3 
-              Catch Statement
-              ... catching
-x: pointer to instance of struct __anonymous4 
-              Catch Statement
-              ... catching
-                  the rest
-
-
Index: src/Tests/Expect-a/Expression.txt
===================================================================
--- src/Tests/Expect-a/Expression.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,336 +1,0 @@
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of struct s
-            with members
-              i: signed int 
-
-        Declaration of p: pointer to instance of struct s 
-        Declaration of i: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: !?
-            ...to: 
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ~?
-            ...to: 
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: +?
-            ...to: 
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: -?
-            ...to: 
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: --?
-            ...to: 
-                Address of:
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?++
-            ...to: 
-                Address of:
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?--
-            ...to: 
-                Address of:
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?-?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?*?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?/?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?%?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?^?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?&?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?|?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?>?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?==?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?!=?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?<<?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?>>?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?<=?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?>=?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Short-circuited operation (and) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: i
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: i
-      Name: 0
-
-to:
-  signed int 
-
-
-                  Expression Statement:
-            Short-circuited operation (or) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: i
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: i
-      Name: 0
-
-to:
-  signed int 
-
-
-                  Expression Statement:
-            Member Expression, with field: i            from aggregate:               Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?-=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?*=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?/=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?%=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?&=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?|=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?^=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?<<=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?>>=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Conditional expression on: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Name: i
-                    Name: 0
-
-              to:
-                signed int 
-            First alternative:
-              Name: i
-            Second alternative:
-              Name: i
-
-
-
Index: src/Tests/Expect-a/Forall.txt
===================================================================
--- src/Tests/Expect-a/Forall.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,603 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-?=?: function
-    with parameters
-      pointer to pointer to function
-          with parameters
-            void 
-          returning 
-            void 
-
-      pointer to function
-          with parameters
-            void 
-          returning 
-            void 
-
-    returning 
-      pointer to function
-          with parameters
-            void 
-          returning 
-            void 
-
-
-g1: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of f: forall
-              T: type
-                with assertions
-                  ?=?: function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        Declaration of f: function
-            with parameters
-              signed int 
-            returning 
-              void 
-
-        Declaration of h: function
-            with parameters
-              p: pointer to function
-                  with parameters
-                    void 
-                  returning 
-                    void 
-
-            returning 
-              void 
-
-        Declaration of x: signed int 
-        Declaration of y: pointer to function
-            with parameters
-              void 
-            returning 
-              void 
-
-        Declaration of z: char 
-        Declaration of w: float 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: y
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: z
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: w
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: h
-            ...to: 
-                Applying untyped: 
-                    Name: f
-                ...to: 
-                    Name: y
-
-
-g2: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of f: forall
-              T: type
-                with assertions
-                  ?=?: function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              void 
-
-        Declaration of f: forall
-              T: type
-                with assertions
-                  ?=?: function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type U (not function type) 
-            returning 
-              void 
-
-        Declaration of x: signed int 
-        Declaration of y: float 
-        Declaration of z: pointer to signed int 
-        Declaration of w: pointer to float 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: x
-                Name: y
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: z
-                Name: w
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: x
-                Name: z
-
-
-f: typedef for pointer to forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-swap: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      left: instance of type T (not function type) 
-      right: instance of type T (not function type) 
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of temp: instance of type T (not function type) with initializer 
-          Simple Initializer:             Name: left
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: left
-                Name: right
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: right
-                Name: temp
-
-
-context sumable
-    with parameters
-      T: type
-
-    with members
-      0: const instance of type T (not function type) 
-      ?+?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-      ?++: function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-      ?+=?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-
-T1: type
-  with assertions
-    0: const instance of type T1 (not function type) 
-    ?+?: function
-        with parameters
-          instance of type T1 (not function type) 
-          instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-    ?++: function
-        with parameters
-          instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-    ?+=?: function
-        with parameters
-          instance of type T1 (not function type) 
-          instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-
-T2: type
-  with parameters
-    P1: type
-    P2: type
-
-T3: type
-  with assertions
-    instance of context sumable 
-      with parameters
-        instance of type T3 (not function type) 
-
-
-struct __anonymous0
-    with members
-      i: instance of type P1 (not function type) 
-      j: instance of type P2 (not function type) 
-
-T2: type for instance of struct __anonymous0 
-  with parameters
-    P1: type
-    P2: type
-
-  with assertions
-    instance of context sumable 
-      with parameters
-        instance of type T2 (not function type) 
-          with parameters
-            instance of type P1 (not function type) 
-            instance of type P2 (not function type) 
-
-
-
-w1: instance of type T2 (not function type) 
-  with parameters
-    signed int 
-    signed int 
-
-w2: typedef for instance of type T2 (not function type) 
-  with parameters
-    signed int 
-    signed int 
-
-g2: instance of type w2 (not function type) 
-w3: type for instance of type T2 (not function type) 
-  with parameters
-    signed int 
-    signed int 
-
-g3: instance of type w3 (not function type) 
-sum: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          instance of context sumable 
-            with parameters
-              instance of type T (not function type) 
-
-
-    function
-    with parameters
-      n: signed int 
-      a: open array of instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of total: instance of type T (not function type) with initializer 
-          Simple Initializer:             Name: 0
-
-        Declaration of i: signed int 
-                  Labels: {}
-          For Statement
-            initialization: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: i
-                    Name: 0
-
-            condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Name: i
-                        Name: n
-                    Name: 0
-
-              to:
-                signed int 
-
-            increment: 
-              Applying untyped: 
-                  Name: ?+=?
-              ...to: 
-                  Address of:
-                    Name: i
-                  Name: 1
-
-            statement block: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: total
-                    Applying untyped: 
-                        Name: ?+?
-                    ...to: 
-                        Name: total
-                        Applying untyped: 
-                            Name: ?[?]
-                        ...to: 
-                            Name: a
-                            Name: i
-
-
-                  Return Statement, returning: Name: total
-
-
-
-twice: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?+?: function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?++: function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?+=?: function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?+?
-...to: 
-    Name: t
-    Name: t
-
-
-
-min: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?!=?: function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-          ?<?: function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-
-    function
-    with parameters
-      t1: instance of type T (not function type) 
-      t2: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Conditional expression on: 
-  Cast of:
-    Applying untyped: 
-        Name: ?!=?
-    ...to: 
-        Applying untyped: 
-            Name: ?<?
-        ...to: 
-            Name: t1
-            Name: t2
-        Name: 0
-
-  to:
-    signed int 
-First alternative:
-  Name: t1
-Second alternative:
-  Name: t2
-
-
-
-
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of x: signed int with initializer 
-          Simple Initializer:             Name: 1
-
-        Declaration of y: signed int with initializer 
-          Simple Initializer: constant expression 2 signed int 
-        Declaration of a: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f: float 
-                  Expression Statement:
-            Applying untyped: 
-                Name: swap
-            ...to: 
-                Name: x
-                Name: y
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: twice
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: f
-                Applying untyped: 
-                    Name: min
-                ...to: 
-constant expression 4.0 double constant expression 3.0 double 
-                  Expression Statement:
-            Applying untyped: 
-                Name: sum
-            ...to: 
-constant expression 10 signed int                 Name: a
-
-
Index: src/Tests/Expect-a/Function.txt
===================================================================
--- src/Tests/Expect-a/Function.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,126 +1,0 @@
-a: signed int 
-a: float 
-f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f: function
-    with parameters
-      float 
-    returning 
-      float 
-
-g: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Cast of:
-                  Name: a
-
-                to:
-                  signed int 
-
-                  Expression Statement:
-            Cast of:
-              Applying untyped: 
-                  Name: f
-              ...to: 
-                  Name: a
-
-            to:
-              signed int 
-
-
-p: tuple of types
-    signed int 
-
-p: tuple of types
-    signed int 
-    double 
-
-p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-q: tuple of types
-    char 
-
-q: tuple of types
-    signed int 
-    signed int 
-
-q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-s: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: r
-            ...to: 
-                Name: p
-                Name: q
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: r
-            ...to: 
-                Tuple:
-                                      Name: q
-
-                                      Name: p
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: r
-            ...to: 
-                Applying untyped: 
-                    Name: r
-                ...to: 
-                    Name: p
-                    Name: q
-                Applying untyped: 
-                    Name: r
-                ...to: 
-                    Name: q
-                    Name: q
-
-
Index: src/Tests/Expect-a/Functions.txt
===================================================================
--- src/Tests/Expect-a/Functions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,690 +1,0 @@
-h: function
-    with parameters
-      void 
-    returning 
-      void 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      function
-          with parameters
-            void 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            void 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      g: function
-          with parameters
-            void 
-          returning 
-            void 
-
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Applying untyped: 
-                    Name: *?
-                ...to: 
-                    Name: g
-            ...to: 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: g
-                Name: h
-
-
-f1: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f2: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f3: function
-      accepting unspecified arguments
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-    with body 
-      CompoundStmt
-
-f4: function
-      accepting unspecified arguments
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-
-f5: function
-      accepting unspecified arguments
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-    with body 
-      CompoundStmt
-
-f6: function
-      accepting unspecified arguments
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-
-f7: function
-      accepting unspecified arguments
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-
-f8: function
-      accepting unspecified arguments
-    returning 
-      pointer to pointer to signed int 
-    with body 
-      CompoundStmt
-
-f9: function
-      accepting unspecified arguments
-    returning 
-      pointer to const pointer to signed int 
-    with body 
-      CompoundStmt
-
-f10: function
-      accepting unspecified arguments
-    returning 
-      pointer to open array of signed int 
-    with body 
-      CompoundStmt
-
-f11: function
-      accepting unspecified arguments
-    returning 
-      pointer to open array of array of signed int with dimension of constant expression 3 signed int 
-    with body 
-      CompoundStmt
-
-f12: function
-      accepting unspecified arguments
-    returning 
-      pointer to open array of array of signed int with dimension of constant expression 3 signed int 
-    with body 
-      CompoundStmt
-
-fII1: function
-    with parameters
-      i: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-fII2: function
-    with parameters
-      i: signed int 
-    returning 
-      const signed int 
-    with body 
-      CompoundStmt
-
-fII3: extern function
-    with parameters
-      i: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-fII4: extern function
-    with parameters
-      i: signed int 
-    returning 
-      const signed int 
-    with body 
-      CompoundStmt
-
-fII5: function
-      accepting unspecified arguments
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-
-fII6: function
-      accepting unspecified arguments
-    returning 
-      const pointer to signed int 
-    with body 
-      CompoundStmt
-
-fII7: function
-      accepting unspecified arguments
-    returning 
-      pointer to const long signed int 
-    with body 
-      CompoundStmt
-
-fII8: static function
-      accepting unspecified arguments
-    returning 
-      pointer to const long signed int 
-    with body 
-      CompoundStmt
-
-fII9: static function
-      accepting unspecified arguments
-    returning 
-      pointer to const long signed int 
-    with body 
-      CompoundStmt
-
-fO1: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-fO2: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-fO3: function
-      accepting unspecified arguments
-    returning 
-      const signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-fO4: extern function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-fO5: extern function
-      accepting unspecified arguments
-    returning 
-      const signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      nothing 
-
-f: function
-    returning 
-      signed int 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      x: signed int 
-
-f: function
-    with parameters
-      x: signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      x: signed int 
-    returning 
-      x: signed int 
-
-f: function
-    returning 
-      x: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      x: signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      x: signed int 
-    returning 
-      x: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-    returning 
-      signed int 
-      x: signed int 
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-    returning 
-      signed int 
-      x: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-      signed int 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      signed int 
-    returning 
-      signed int 
-      x: signed int 
-      signed int 
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-      signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      signed int 
-    returning 
-      signed int 
-      x: signed int 
-      signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    returning 
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    returning 
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    with body 
-      CompoundStmt
-
-f11: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f12: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f: function
-    with parameters
-      function
-          with parameters
-            signed int 
-            p: signed int 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 
-        Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 
-        Declaration of p: pointer to open array of pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-
-f1: static function
-      accepting unspecified arguments
-    returning 
-      pointer to const signed int 
-    with body 
-      CompoundStmt
-
-f2: static function
-    returning 
-      const signed int 
-    with body 
-      CompoundStmt
-
-f3: inline static function
-    returning 
-      const pointer to signed int 
-    with body 
-      CompoundStmt
-
-f4: inline static function
-    returning 
-      const tuple of types
-          pointer to signed int 
-          signed int 
-
-    with body 
-      CompoundStmt
-
-f5: static function
-    returning 
-      const tuple of types
-          pointer to signed int 
-          const signed int 
-
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      function
-            accepting unspecified arguments
-          returning 
-            pointer to signed int 
-
-      function
-            accepting unspecified arguments
-          returning 
-            pointer to pointer to signed int 
-
-      function
-            accepting unspecified arguments
-          returning 
-            pointer to const pointer to signed int 
-
-      function
-            accepting unspecified arguments
-          returning 
-            const pointer to const pointer to signed int 
-
-      open array of signed int 
-      array of signed int with dimension of constant expression 10 signed int 
-      open array of pointer to signed int 
-      array of pointer to signed int with dimension of constant expression 10 signed int 
-      open array of pointer to pointer to signed int 
-      array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-      open array of pointer to const pointer to signed int 
-      array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      open array of const pointer to const pointer to signed int 
-      array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-    returning 
-      signed int 
-
-f: function
-    with parameters
-      function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      function
-            accepting unspecified arguments
-          returning 
-            pointer to signed int 
-
-      function
-            accepting unspecified arguments
-          returning 
-            pointer to pointer to signed int 
-
-      function
-            accepting unspecified arguments
-          returning 
-            pointer to const pointer to signed int 
-
-      function
-            accepting unspecified arguments
-          returning 
-            const pointer to const pointer to signed int 
-
-      open array of signed int 
-      array of signed int with dimension of constant expression 10 signed int 
-      open array of pointer to signed int 
-      array of pointer to signed int with dimension of constant expression 10 signed int 
-      open array of pointer to pointer to signed int 
-      array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-      open array of pointer to const pointer to signed int 
-      array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      open array of const pointer to const pointer to signed int 
-      array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-T: typedef for signed int 
-f: function
-    with parameters
-      f: pointer to instance of type T (not function type) 
-      t: instance of type T (not function type) 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of T: instance of type T (not function type) 
-
Index: src/Tests/Expect-a/GccExtensions.txt
===================================================================
--- src/Tests/Expect-a/GccExtensions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,60 +1,0 @@
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of c1: double _Complex 
-        Declaration of c2: double _Complex 
-        Declaration of i1: const signed int 
-        Declaration of i2: const signed int 
-        Declaration of i3: const signed int 
-        Declaration of ex: const signed int 
-        Declaration of f1: inline function
-              accepting unspecified arguments
-            returning 
-              signed int 
-
-        Declaration of f2: inline function
-              accepting unspecified arguments
-            returning 
-              signed int 
-
-        Declaration of s1: signed int 
-        Declaration of s2: signed int 
-        Declaration of t1: type-of expression           Name: s1
-
-        Declaration of t2: type-of expression           Name: s1
-
-        Declaration of v1: volatile signed int 
-        Declaration of v2: volatile signed int 
-        Declaration of a1: signed int 
-        Declaration of a2: const signed int 
-        Declaration of a3: static const signed int 
-        Declaration of a4: static const signed int 
-        Declaration of a5: static const signed int 
-        Declaration of a6: static const signed int 
-        Declaration of a7: static const signed int 
-        Declaration of p1: pointer to signed int 
-        Declaration of p2: pointer to signed int 
-        Declaration of struct s1
-        Declaration of struct s2
-            with members
-              i: signed int 
-
-        Declaration of struct s3
-            with members
-              i: signed int 
-
-        Declaration of x1: instance of struct s3 
-        Declaration of y1: instance of struct s3 
-        Declaration of struct s4
-            with members
-              i: signed int 
-
-        Declaration of x2: instance of struct s4 
-        Declaration of y2: instance of struct s4 
-        Declaration of m1: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of m2: array of array of signed int with dimension of constant expression 10 signed int with dimension of constant expression 10 signed int 
-        Declaration of m3: array of array of signed int with dimension of constant expression 10 signed int with dimension of constant expression 10 signed int 
-
Index: src/Tests/Expect-a/IdentFuncDeclarator.txt
===================================================================
--- src/Tests/Expect-a/IdentFuncDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,185 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of f1: signed int 
-        Declaration of f2: signed int 
-        Declaration of f3: pointer to signed int 
-        Declaration of f4: pointer to pointer to signed int 
-        Declaration of f5: pointer to const pointer to signed int 
-        Declaration of f6: const pointer to const pointer to signed int 
-        Declaration of f7: pointer to signed int 
-        Declaration of f8: pointer to pointer to signed int 
-        Declaration of f9: pointer to const pointer to signed int 
-        Declaration of f10: const pointer to const pointer to signed int 
-        Declaration of f11: pointer to signed int 
-        Declaration of f12: pointer to pointer to signed int 
-        Declaration of f13: pointer to const pointer to signed int 
-        Declaration of f14: const pointer to const pointer to signed int 
-        Declaration of f15: open array of signed int 
-        Declaration of f16: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f17: open array of signed int 
-        Declaration of f18: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f19: open array of pointer to signed int 
-        Declaration of f20: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f21: open array of pointer to pointer to signed int 
-        Declaration of f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f23: open array of pointer to const pointer to signed int 
-        Declaration of f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f25: open array of const pointer to const pointer to signed int 
-        Declaration of f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f27: open array of pointer to signed int 
-        Declaration of f28: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f29: open array of pointer to pointer to signed int 
-        Declaration of f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f31: open array of pointer to const pointer to signed int 
-        Declaration of f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f33: open array of const pointer to const pointer to signed int 
-        Declaration of f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f35: open array of pointer to signed int 
-        Declaration of f36: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f37: open array of pointer to pointer to signed int 
-        Declaration of f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f39: open array of pointer to const pointer to signed int 
-        Declaration of f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f41: open array of const pointer to const pointer to signed int 
-        Declaration of f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f43: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f45: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f47: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f65: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f66: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f67: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f68: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f69: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f70: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f71: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f72: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f73: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f74: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f75: pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f76: pointer to pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f77: pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f78: const pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f79: pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f80: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f81: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              const pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-
Index: src/Tests/Expect-a/IdentFuncParamDeclarator.txt
===================================================================
--- src/Tests/Expect-a/IdentFuncParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,221 +1,0 @@
-fred: function
-    with parameters
-      f1: signed int 
-      f2: signed int 
-      f3: pointer to signed int 
-      f4: pointer to pointer to signed int 
-      f5: pointer to const pointer to signed int 
-      f6: const pointer to const pointer to signed int 
-      f7: pointer to signed int 
-      f8: pointer to pointer to signed int 
-      f9: pointer to const pointer to signed int 
-      f10: const pointer to const pointer to signed int 
-      f11: pointer to signed int 
-      f12: pointer to pointer to signed int 
-      f13: pointer to const pointer to signed int 
-      f14: const pointer to const pointer to signed int 
-      f15: open array of signed int 
-      f16: array of signed int with dimension of constant expression 10 signed int 
-      f17: open array of signed int 
-      f18: array of signed int with dimension of constant expression 10 signed int 
-      f19: open array of pointer to signed int 
-      f20: array of pointer to signed int with dimension of constant expression 10 signed int 
-      f21: open array of pointer to pointer to signed int 
-      f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-      f23: open array of pointer to const pointer to signed int 
-      f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f25: open array of const pointer to const pointer to signed int 
-      f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f27: open array of pointer to signed int 
-      f28: array of pointer to signed int with dimension of constant expression 10 signed int 
-      f29: open array of pointer to pointer to signed int 
-      f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-      f31: open array of pointer to const pointer to signed int 
-      f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f33: open array of const pointer to const pointer to signed int 
-      f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f35: open array of pointer to signed int 
-      f36: array of pointer to signed int with dimension of constant expression 10 signed int 
-      f37: open array of pointer to pointer to signed int 
-      f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-      f39: open array of pointer to const pointer to signed int 
-      f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f41: open array of const pointer to const pointer to signed int 
-      f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f43: open array of array of signed int with dimension of constant expression 3 signed int 
-      f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f45: open array of array of signed int with dimension of constant expression 3 signed int 
-      f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f47: open array of array of signed int with dimension of constant expression 3 signed int 
-      f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f65: function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f66: function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f67: function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f68: function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      f69: function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      f70: function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f71: function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f72: function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      f73: function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      f74: function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f75: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f76: pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f77: pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f78: const pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f79: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f80: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f81: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f82: const variable length array of signed int 
-      f83: const array of signed int with dimension of constant expression 3 signed int 
-      f84: static array of signed int with dimension of constant expression 3 signed int 
-      f85: const static array of signed int with dimension of constant expression 3 signed int 
-      f86: const variable length array of signed int 
-      f87: const array of signed int with dimension of constant expression 3 signed int 
-      f88: static array of signed int with dimension of constant expression 3 signed int 
-      f89: const static array of signed int with dimension of constant expression 3 signed int 
-      f90: const variable length array of pointer to signed int 
-      f91: const array of pointer to signed int with dimension of constant expression 3 signed int 
-      f92: static array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f93: const static array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f94: const static array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f95: const variable length array of pointer to signed int 
-      f96: const array of pointer to signed int with dimension of constant expression 3 signed int 
-      f97: static array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f98: const static array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f99: const static array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f100: const variable length array of array of signed int with dimension of constant expression 3 signed int 
-      f101: const array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f102: static array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f103: const static array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f104: const variable length array of array of signed int with dimension of constant expression 3 signed int 
-      f105: const array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f106: static array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f107: const static array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f108: const variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f109: const array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f110: static array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f111: const static array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f112: const static array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f113: const variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f114: const array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f115: static array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f116: const static array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f117: const static array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
Index: src/Tests/Expect-a/InferParam.txt
===================================================================
--- src/Tests/Expect-a/InferParam.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,165 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-?=?: function
-    with parameters
-      pointer to double 
-      double 
-    returning 
-      double 
-
-g: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          f: function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      float 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      double 
-
-i: function
-    with parameters
-      float 
-    returning 
-      void 
-
-h: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of a: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: i
-            ...to: 
-                Applying untyped: 
-                    Name: g
-                ...to: 
-                    Name: a
-
-
-context has_f_and_j
-    with parameters
-      T: type
-      U: type
-
-    with members
-      f: function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type U (not function type) 
-
-      j: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type U (not function type) 
-          returning 
-            instance of type U (not function type) 
-
-
-j: function
-    with parameters
-      signed int 
-      float 
-    returning 
-      float 
-
-k: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          instance of context has_f_and_j 
-            with parameters
-              instance of type T (not function type) 
-              instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-l: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of b: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: i
-            ...to: 
-                Applying untyped: 
-                    Name: k
-                ...to: 
-                    Name: b
-
-
Index: src/Tests/Expect-a/Initialization.txt
===================================================================
--- src/Tests/Expect-a/Initialization.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,139 +1,0 @@
-x11: pointer to signed int with initializer 
-  Simple Initializer:     Name: 0
-
-x12: signed int with initializer 
-  Simple Initializer:     Name: 0
-
-x21: pointer to signed int with initializer 
-  Simple Initializer:     Name: 0
-
-x22: signed int with initializer 
-  Simple Initializer:     Name: 0
-
-y1: array of signed int with dimension of constant expression 20 signed int 
-y2: array of signed int with dimension of constant expression 20 signed int 
-struct __anonymous0
-    with members
-      w: tuple of types
-          signed int 
-
-
-a: instance of struct __anonymous0 with initializer 
-  Compound initializer:  
-    Simple Initializer:       Tuple:
-        constant expression 2 signed int 
-
-      designated by:         Name: w
-
-struct __anonymous1
-    with members
-      a: array of signed int with dimension of constant expression 3 signed int 
-      b: signed int 
-
-w: open array of instance of struct __anonymous1 with initializer 
-  Compound initializer:  
-    Compound initializer:        designated by: [        Name: 0
-        Name: a
-      ]
-      Simple Initializer:         Name: 1
-
-    Simple Initializer:       Name: 1
-
-      designated by:         Name: 0
-        Name: b
-
-    Simple Initializer: constant expression 2 signed int 
-      designated by:         Name: 1
-        Name: a
-        Name: 0
-
-struct __anonymous3
-    with members
-      f1: signed int 
-      f2: signed int 
-      f3: signed int 
-      struct __anonymous2
-          with members
-            g1: signed int 
-            g2: signed int 
-            g3: signed int 
-
-      f4: array of instance of struct __anonymous2 with dimension of constant expression 4 signed int 
-
-v7: instance of struct __anonymous3 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 4 signed int 
-      designated by:         Name: f1
-
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: f2
-
-    Compound initializer:        designated by: [        Name: f4
-constant expression 2 signed int       ]
-      Simple Initializer: constant expression 3 signed int 
-        designated by:           Name: g1
-
-      Simple Initializer:         Name: 0
-
-        designated by:           Name: g3
-
-    Simple Initializer: constant expression 7 signed int 
-      designated by:         Name: f4
-constant expression 3 signed int         Name: g3
-
-struct point
-    with members
-      x: signed int 
-      z: signed int 
-      struct __anonymous4
-          with members
-            y1: signed int 
-            y2: signed int 
-            y3: signed int 
-
-      y: instance of struct __anonymous4 
-      w: signed int 
-
-struct quintet
-    with members
-      v: signed int 
-      w: signed int 
-      x: signed int 
-      y: signed int 
-      z: signed int 
-
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of p1: instance of struct point with initializer 
-          Compound initializer:  
-            Simple Initializer: constant expression 3 signed int 
-              designated by:                 Name: x
-
-        Declaration of p2: instance of struct point with initializer 
-          Compound initializer:  
-            Simple Initializer: constant expression 3 signed int 
-            Simple Initializer: constant expression 4 signed int 
-        Declaration of p3: instance of struct point with initializer 
-          Compound initializer:  
-            Simple Initializer: constant expression 5 signed int 
-              designated by:                 Name: x
-                Name: z
-
-            Compound initializer:                designated by: [                Name: y
-              ]
-              Simple Initializer: constant expression 6 signed int 
-                designated by:                   Name: y3
-                  Name: y1
-
-              Simple Initializer: constant expression 17 signed int 
-        Declaration of p4: instance of struct point with initializer 
-          Compound initializer:  
-            Simple Initializer: constant expression 5 signed int 
-              designated by:                 Name: w
-
-            Simple Initializer: constant expression 4 signed int 
-
Index: src/Tests/Expect-a/Initialization2.txt
===================================================================
--- src/Tests/Expect-a/Initialization2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,142 +1,0 @@
-a: signed int with initializer 
-  Simple Initializer: constant expression 3 signed int 
-struct __anonymous0
-    with members
-      x: signed int 
-      y: signed int 
-
-z: instance of struct __anonymous0 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-    Simple Initializer: constant expression 7 signed int 
-struct __anonymous1
-    with members
-      x: signed int 
-      y: signed int 
-
-z1: instance of struct __anonymous1 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: x
-        Name: y
-
-struct __anonymous2
-    with members
-      x: signed int 
-      y: signed int 
-
-z2: instance of struct __anonymous2 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: y
-
-    Simple Initializer: constant expression 4 signed int 
-      designated by:         Name: x
-
-struct __anonymous4
-    with members
-      x: signed int 
-      struct __anonymous3
-          with members
-            y1: signed int 
-            y2: signed int 
-
-      y: instance of struct __anonymous3 
-
-z3: instance of struct __anonymous4 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: x
-
-    Compound initializer:        designated by: [        Name: y
-      ]
-      Simple Initializer: constant expression 4 signed int 
-        designated by:           Name: y1
-
-      Simple Initializer: constant expression 5 signed int 
-        designated by:           Name: y2
-
-struct __anonymous6
-    with members
-      x: signed int 
-      struct __anonymous5
-          with members
-            y1: signed int 
-            y2: signed int 
-
-      y: instance of struct __anonymous5 
-
-z3: instance of struct __anonymous6 with initializer 
-  Compound initializer:  
-    Compound initializer:        designated by: [        Name: y
-      ]
-      Simple Initializer: constant expression 9 signed int 
-        designated by:           Name: y2
-
-      Simple Initializer: constant expression 8 signed int 
-        designated by:           Name: y1
-
-    Simple Initializer: constant expression 7 signed int 
-      designated by:         Name: x
-
-struct __anonymous8
-    with members
-      x: signed int 
-      struct __anonymous7
-          with members
-            y1: signed int 
-            y2: signed int 
-
-      y: instance of struct __anonymous7 
-
-z3: instance of struct __anonymous8 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 7 signed int 
-      designated by:         Name: x
-
-    Compound initializer:  
-      Simple Initializer: constant expression 9 signed int 
-        designated by:           Name: y2
-
-      Simple Initializer: constant expression 8 signed int 
-        designated by:           Name: y1
-
-struct __anonymous10
-    with members
-      x: signed int 
-      struct __anonymous9
-          with members
-            y1: signed int 
-            y2: signed int 
-
-      y: instance of struct __anonymous9 
-
-z3: instance of struct __anonymous10 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-    Compound initializer:  
-      Simple Initializer: constant expression 4 signed int 
-      Simple Initializer: constant expression 5 signed int 
-struct t
-    with members
-      a: signed int 
-      b: signed int 
-
-x: instance of struct t with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 4 signed int 
-      designated by:         Name: b
-
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: a
-
-struct __anonymous11
-    with members
-      x: signed int 
-      y: signed int 
-
-z6: instance of struct __anonymous11 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 5 signed int 
-    Simple Initializer: constant expression 6 signed int 
-    Simple Initializer: constant expression 4 signed int 
Index: src/Tests/Expect-a/LabelledExit.txt
===================================================================
--- src/Tests/Expect-a/LabelledExit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,743 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of i: signed int 
-        Declaration of x: signed int 
-        Declaration of y: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: x
-                Name: 0
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: y
-                Name: 0
-
-                  CompoundStmt
-                          If on condition: 
-                  Cast of:
-                    Applying untyped: 
-                        Name: ?!=?
-                    ...to: 
-                        Applying untyped: 
-                            Name: ?==?
-                        ...to: 
-                            Name: x
-                            Name: y
-                        Name: 0
-
-                  to:
-                    signed int 
-              .... and branches: 
-                  CompoundStmt
-                                          Labels: {}
-                      For Statement
-                        initialization: 
-
-                        condition: 
-                          Cast of:
-                            Applying untyped: 
-                                Name: ?!=?
-                            ...to: 
-                                Applying untyped: 
-                                    Name: ?<?
-                                ...to: 
-                                    Name: i
-                                    Name: y
-                                Name: 0
-
-                          to:
-                            signed int 
-
-                        increment: 
-
-                        statement block: 
-                          CompoundStmt
-                                                          Expression Statement:
-                                Applying untyped: 
-                                    Name: ?+=?
-                                ...to: 
-                                    Address of:
-                                      Name: y
-                                    Name: 1
-
-                                                          If on condition: 
-                                  Cast of:
-                                    Applying untyped: 
-                                        Name: ?!=?
-                                    ...to: 
-                                        Applying untyped: 
-                                            Name: ?<?
-                                        ...to: 
-                                            Name: y
-constant expression 10 signed int                                         Name: 0
-
-                                  to:
-                                    signed int 
-                              .... and branches: 
-                                  Branch (Break)
-
-
-
-
-
-                  While on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?==?
-                    ...to: 
-                        Name: y
-constant expression 10 signed int                     Name: 0
-
-              to:
-                signed int 
-          .... with body: 
-              Null Statement
-
-                  While on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Name: x
-constant expression 10 signed int                     Name: 0
-
-              to:
-                signed int 
-          .... with body: 
-              CompoundStmt
-                                  While on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: y
-constant expression 5 signed int                             Name: 0
-
-                      to:
-                        signed int 
-                  .... with body: 
-                      CompoundStmt
-                                                  If on condition: 
-                              Cast of:
-                                Applying untyped: 
-                                    Name: ?!=?
-                                ...to: 
-                                    Applying untyped: 
-                                        Name: ?==?
-                                    ...to: 
-                                        Name: y
-constant expression 3 signed int                                     Name: 0
-
-                              to:
-                                signed int 
-                          .... and branches: 
-                              Branch (Break)
-
-
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: x
-                        Name: 1
-
-
-                  Labels: {A,}
-          For Statement
-            initialization: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: i
-                    Name: 0
-
-            condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Name: i
-constant expression 10 signed int                     Name: 0
-
-              to:
-                signed int 
-
-            increment: 
-              Applying untyped: 
-                  Name: ?+=?
-              ...to: 
-                  Address of:
-                    Name: i
-                  Name: 1
-
-            statement block: 
-              CompoundStmt
-                                  Labels: {B,}
-                  For Statement
-                    initialization: 
-                      Expression Statement:
-                        Applying untyped: 
-                            Name: ?=?
-                        ...to: 
-                            Address of:
-                              Name: i
-                            Name: 0
-
-                    condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: i
-constant expression 10 signed int                             Name: 0
-
-                      to:
-                        signed int 
-
-                    increment: 
-                      Applying untyped: 
-                          Name: ?+=?
-                      ...to: 
-                          Address of:
-                            Name: i
-                          Name: 1
-
-                    statement block: 
-                      CompoundStmt
-                                                  Labels: {C,}
-                          For Statement
-                            initialization: 
-                              Expression Statement:
-                                Applying untyped: 
-                                    Name: ?=?
-                                ...to: 
-                                    Address of:
-                                      Name: i
-                                    Name: 0
-
-                            condition: 
-                              Cast of:
-                                Applying untyped: 
-                                    Name: ?!=?
-                                ...to: 
-                                    Applying untyped: 
-                                        Name: ?<?
-                                    ...to: 
-                                        Name: i
-constant expression 10 signed int                                     Name: 0
-
-                              to:
-                                signed int 
-
-                            increment: 
-                              Applying untyped: 
-                                  Name: ?+=?
-                              ...to: 
-                                  Address of:
-                                    Name: i
-                                  Name: 1
-
-                            statement block: 
-                              CompoundStmt
-                                                                  Branch (Goto)
-
-                                                                  Branch (Goto)
-
-                                                                  Branch (Goto)
-
-                                                                  Branch (Continue)
-
-                                                                  Branch (Continue)
-
-                                                                  Branch (Continue)
-
-                                                                  Branch (Continue)
-
-                                                                  Branch (Break)
-
-                                                                  Branch (Break)
-
-                                                                  Branch (Break)
-
-                                                                  Branch (Break)
-
-
-
-
-
-
-
-                  Labels: {D,}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              CompoundStmt
-                                  Branch (Break)
-
-                                  Branch (Continue)
-
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: 1
-
-                  Branch (Goto)
-
-                  Labels: {X,Y,}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                                  If on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?>?
-                            ...to: 
-                                Name: i
-constant expression 5 signed int                             Name: 0
-
-                      to:
-                        signed int 
-                  .... and branches: 
-                      Branch (Continue)
-
-                                  If on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: i
-constant expression 5 signed int                             Name: 0
-
-                      to:
-                        signed int 
-                  .... and branches: 
-                      Branch (Break)
-
-                                  If on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: i
-constant expression 5 signed int                             Name: 0
-
-                      to:
-                        signed int 
-                  .... and branches: 
-                      Branch (Break)
-
-                                  Branch (Break)
-
-
-
-                  Labels: {XX,}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              CompoundStmt
-                                  Labels: {YY,}
-                  For Statement
-                    initialization: 
-
-                    condition: 
-
-                    increment: 
-
-                    statement block: 
-                      CompoundStmt
-                                                  Labels: {ZZ,}
-                          For Statement
-                            initialization: 
-
-                            condition: 
-
-                            increment: 
-
-                            statement block: 
-                              CompoundStmt
-                                                                  Expression Statement:
-                                    Applying untyped: 
-                                        Name: ?+=?
-                                    ...to: 
-                                        Address of:
-                                          Name: i
-                                        Name: 1
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?>?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Continue)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?<?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Continue)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?<?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Continue)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?>?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Break)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?<?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Break)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?<?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Break)
-
-                                                                  Branch (Break)
-
-
-
-
-
-
-
-                  Labels: {}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              Null Statement
-
-
-                  Labels: {}
-          For Statement
-            initialization: 
-Declaration of i: signed int with initializer 
-              Simple Initializer:                 Name: 0
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              Null Statement
-
-
-                  Labels: {}
-          For Statement
-            initialization: 
-
-            condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Name: i
-                        Name: 0
-                    Name: 0
-
-              to:
-                signed int 
-
-            increment: 
-
-            statement block: 
-              Null Statement
-
-
-                  Labels: {}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-              Applying untyped: 
-                  Name: ?+=?
-              ...to: 
-                  Address of:
-                    Name: i
-                  Name: 1
-
-            statement block: 
-              Null Statement
-
-
-                  Labels: {L0,L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16,L17,L18,L19,L20,L21,L22,L23,L24,L25,L26,L27,L28,L29,L31,L32,L33,L34,}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              CompoundStmt
-                                  Branch (Break)
-
-
-
-                  Switch on condition: Name: i
-
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-              Case Name: 0
-
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-                  Branch (Break)
-              Case Name: 1
-
-                  Switch on condition: Name: i
-
-                      Case Name: 0
-
-                          Branch (Break)
-                      Default 
-                          Branch (Break)
-
-                  Choose on condition: Name: i
-
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-              Case Name: 0
-
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-                  Branch (Break)
-              Case Name: 1
-
-                  Choose on condition: Name: i
-
-                      Case Name: 0
-
-                          Branch (Break)
-                      Default 
-                          Branch (Break)
-                  Fall-through statement
-              Case constant expression 2 signed int 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  CompoundStmt
-            Declaration of array: static open array of pointer to void with initializer 
-              Compound initializer:  
-                Simple Initializer:                   Applying untyped: 
-                      Name: LabAddress
-                  ...to: 
-                      Name: foo
-
-                Simple Initializer:                   Applying untyped: 
-                      Name: LabAddress
-                  ...to: 
-                      Name: bar
-
-                Simple Initializer:                   Applying untyped: 
-                      Name: LabAddress
-                  ...to: 
-                      Name: hack
-
-                          Branch (Goto)
-
-
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?>?
-                    ...to: 
-                        Name: i
-constant expression 5 signed int                     Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                                  Branch (Break)
-
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?+=?
-                ...to: 
-                    Address of:
-                      Name: i
-                    Name: 1
-
-
Index: src/Tests/Expect-a/Members.txt
===================================================================
--- src/Tests/Expect-a/Members.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,186 +1,0 @@
-?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-*?: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type T (not function type) 
-    returning 
-      lvalue instance of type T (not function type) 
-
-__builtin_memcpy: function
-      accepting unspecified arguments
-    returning 
-      pointer to char 
-
-a: function
-    with parameters
-      char 
-    returning 
-      void 
-
-b: function
-    with parameters
-      signed int 
-    returning 
-      void 
-
-c: function
-    with parameters
-      pointer to signed int 
-    returning 
-      void 
-
-d: function
-    with parameters
-      pointer to float 
-    returning 
-      void 
-
-struct a_struct
-    with members
-      a: signed int 
-      a: char 
-      a: float 
-
-union b_struct
-    with members
-      a: pointer to signed int 
-      a: pointer to char 
-      a: pointer to float 
-
-f: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of the_struct: instance of struct a_struct 
-        Declaration of the_struct: instance of union b_struct 
-                  Expression Statement:
-            Applying untyped: 
-                Name: a
-            ...to: 
-                Member Expression, with field: a                from aggregate:                   Name: the_struct
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: b
-            ...to: 
-                Member Expression, with field: a                from aggregate:                   Name: the_struct
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: c
-            ...to: 
-                Member Expression, with field: a                from aggregate:                   Name: the_struct
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: d
-            ...to: 
-                Member Expression, with field: a                from aggregate:                   Name: the_struct
-
-
-struct c_struct
-    with members
-      signed int 
-      char 
-      float 
-
-union d_struct
-    with members
-      pointer to signed int 
-      pointer to char 
-      pointer to float 
-
-g: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of x: short unsigned int 
-        Declaration of x: instance of struct c_struct 
-        Declaration of x: instance of union d_struct 
-                  Expression Statement:
-            Applying untyped: 
-                Name: a
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: b
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: c
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: d
-            ...to: 
-                Name: x
-
-
-struct forward
-q: pointer to instance of struct forward 
-struct forward
-    with members
-      y: signed int 
-
-h: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Member Expression, with field: y            from aggregate:               Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Name: q
-
-
Index: src/Tests/Expect-a/Misc.txt
===================================================================
--- src/Tests/Expect-a/Misc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,57 +1,0 @@
-a: signed int 
-b: signed int 
-b: float 
-g: function
-    with parameters
-      signed int 
-    returning 
-      void 
-
-g: function
-    with parameters
-      unsigned int 
-    returning 
-      void 
-
-f: function
-    with parameters
-      void 
-    returning 
-      void 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Name: a
-
-                  Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Comma Expression:
-                    Name: a
-
-                    Name: a
-
-                  Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Sizeof Expression on:                   Name: a
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Sizeof Expression on: signed int 
-
-
Index: src/Tests/Expect-a/MiscError.txt
===================================================================
--- src/Tests/Expect-a/MiscError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,54 +1,0 @@
-a: signed int 
-b: signed int 
-b: float 
-g: function
-    with parameters
-      signed int 
-    returning 
-      void 
-
-f: function
-    with parameters
-      void 
-    returning 
-      void 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Name: b
-
-                  Name: a
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Comma Expression:
-                    Name: b
-
-                    Name: a
-
-                  Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Comma Expression:
-                    Name: a
-
-                    Name: b
-
-                  Name: b
-
-                  Expression Statement:
-            Sizeof Expression on:               Name: b
-
-
-
Index: src/Tests/Expect-a/NamedParmArg.txt
===================================================================
--- src/Tests/Expect-a/NamedParmArg.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,94 +1,0 @@
-f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer: constant expression 3 signed int 
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f2: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer: constant expression 3 signed int 
-      j: pointer to signed int 
-    returning 
-      signed int 
-      signed int 
-    with body 
-      CompoundStmt
-
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int                 Name: 0
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int                 Name: 0
-                with designator:                  Name: j
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-                Name: 0
-                with designator:                  Name: j
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int                 with designator:                  Name: i
-                Name: 0
-                with designator:                  Name: j
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-                Name: 0
-                with designator:                  Name: j
-constant expression 3 signed int                 with designator:                  Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-                Applying untyped: 
-                    Name: f2
-                ...to: 
-                with designator:                  Tuple:
-                                          Name: j
-
-                                          Name: i
-
-
-
Index: src/Tests/Expect-a/NumericConstants.txt
===================================================================
--- src/Tests/Expect-a/NumericConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,88 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Name: 1
-
-                  Expression Statement:
-constant expression 21 signed int 
-                  Expression Statement:
-constant expression 2147483647 signed int 
-                  Expression Statement:
-constant expression 37LL long long signed int 
-                  Expression Statement:
-constant expression 45ull long long unsigned int 
-                  Expression Statement:
-constant expression 89llu long long unsigned int 
-                  Expression Statement:
-constant expression 99LLu long long unsigned int 
-                  Expression Statement:
-constant expression 56lu long unsigned int 
-                  Expression Statement:
-constant expression 88LLu long long unsigned int 
-                  Expression Statement:
-constant expression 0u unsigned int 
-                  Expression Statement:
-constant expression 0377 signed int 
-                  Expression Statement:
-constant expression 0377ul long unsigned int 
-                  Expression Statement:
-constant expression 0x1 signed int 
-                  Expression Statement:
-constant expression 0x1u unsigned int 
-                  Expression Statement:
-constant expression 0xabL long signed int 
-                  Expression Statement:
-constant expression 0x80000000 unsigned int 
-                  Expression Statement:
-constant expression 0xfff signed int 
-                  Expression Statement:
-constant expression 0xef3daa5c unsigned int 
-                  Expression Statement:
-constant expression 0x3LL long long signed int 
-                  Expression Statement:
-constant expression 3. double 
-                  Expression Statement:
-constant expression 3100. double 
-                  Expression Statement:
-constant expression 1000000. double 
-                  Expression Statement:
-constant expression 3.1 double 
-                  Expression Statement:
-constant expression 3.141592654L long double 
-                  Expression Statement:
-constant expression 123456.123456 double 
-                  Expression Statement:
-constant expression 3E1 double 
-                  Expression Statement:
-constant expression 3e1f float 
-                  Expression Statement:
-constant expression 3E11F float 
-                  Expression Statement:
-constant expression 3E11 double 
-                  Expression Statement:
-constant expression 3e+11 double 
-                  Expression Statement:
-constant expression 3E-11 double 
-                  Expression Statement:
-constant expression 3.0E1 double 
-                  Expression Statement:
-constant expression 3.0E1L long double 
-                  Expression Statement:
-constant expression 3.0e11 double 
-                  Expression Statement:
-constant expression 3.0E11l long double 
-                  Expression Statement:
-constant expression 3.0e+11l long double 
-                  Expression Statement:
-constant expression 3.0E-11 double 
-                  Expression Statement:
-constant expression 123456.123456E-16 double 
-                  Expression Statement:
-constant expression 0xff.ffp0 double 
-                  Expression Statement:
-constant expression 0x1.ffffffffp128l long double 
-
Index: src/Tests/Expect-a/OccursError.txt
===================================================================
--- src/Tests/Expect-a/OccursError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,54 +1,0 @@
-f: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to function
-          with parameters
-            instance of type T (not function type) 
-            pointer to instance of type T (not function type) 
-          returning 
-            void 
-
-    returning 
-      void 
-
-g: forall
-      U: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type U (not function type) 
-      instance of type U (not function type) 
-    returning 
-      void 
-
-test: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: g
-
-
Index: src/Tests/Expect-a/Operators.txt
===================================================================
--- src/Tests/Expect-a/Operators.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,87 +1,0 @@
-?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-?(): function
-    with parameters
-      number1: signed int 
-      number2: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?*?
-...to: 
-    Name: number1
-    Name: number2
-
-
-
-?+?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-struct accumulator
-    with members
-      total: signed int 
-
-?(): function
-    with parameters
-      a: instance of struct accumulator 
-      number1: char 
-      number2: char 
-    returning 
-      char 
-
-f: function
-    with parameters
-      void 
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of a: char 
-        Declaration of b: char 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?()
-            ...to: 
-                Name: a
-                Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: a
-            ...to: 
-                Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+?
-            ...to: 
-                Name: a
-                Name: b
-
-        Declaration of ?+?: instance of struct accumulator 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+?
-            ...to: 
-                Name: a
-                Name: b
-
-
Index: src/Tests/Expect-a/Quad.txt
===================================================================
--- src/Tests/Expect-a/Quad.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,93 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-square: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?*?: function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?*?
-...to: 
-    Name: t
-    Name: t
-
-
-
-quad: forall
-      U: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          square: function
-              with parameters
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      u: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: square
-...to: 
-    Applying untyped: 
-        Name: square
-    ...to: 
-        Name: u
-
-
-
-f: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: quad
-            ...to: 
-constant expression 7 signed int 
-
Index: src/Tests/Expect-a/Rank2.txt
===================================================================
--- src/Tests/Expect-a/Rank2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,117 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-a: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of f: forall
-              T: type
-                with assertions
-                  ?=?: function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              void 
-
-        Declaration of g: function
-            with parameters
-              p: forall
-                    U: type
-                      with assertions
-                        ?=?: function
-                            with parameters
-                              pointer to instance of type U (not function type) 
-                              instance of type U (not function type) 
-                            returning 
-                              instance of type U (not function type) 
-
-
-                  function
-                  with parameters
-                    instance of type U (not function type) 
-                  returning 
-                    void 
-
-            returning 
-              void 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Name: f
-
-
-g: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of h: function
-            with parameters
-              null: pointer to signed int 
-            returning 
-              void 
-
-        Declaration of id: forall
-              T: type
-                with assertions
-                  ?=?: function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        Declaration of 0: forall
-              T: incomplete type
-            pointer to instance of type T (not function type) 
-        Declaration of 0: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: h
-            ...to: 
-                Applying untyped: 
-                    Name: id
-                ...to: 
-                    Applying untyped: 
-                        Name: id
-                    ...to: 
-                        Applying untyped: 
-                            Name: id
-                        ...to: 
-                            Name: 0
-
-
Index: src/Tests/Expect-a/Scope.txt
===================================================================
--- src/Tests/Expect-a/Scope.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,157 +1,0 @@
-x: signed int 
-y: typedef for double 
-t: typedef for float 
-z: instance of type y (not function type) 
-struct __anonymous0
-    with members
-      a: signed int 
-      b: double 
-
-u: type for instance of struct __anonymous0 
-f: function
-    with parameters
-      y: signed int 
-    returning 
-      signed int 
-
-q: instance of type y (not function type) 
-w: function
-    with parameters
-      y: instance of type y (not function type) 
-      v: instance of type u (not function type) 
-    returning 
-      instance of type y (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of x: type
-          with assertions
-            t: function
-                with parameters
-                  instance of type u (not function type) 
-                returning 
-                  instance of type x (not function type) 
-
-
-        Declaration of u: instance of type u (not function type) with initializer 
-          Simple Initializer:             Name: y
-
-        Declaration of z: instance of type x (not function type) with initializer 
-          Simple Initializer:             Applying untyped: 
-                Name: t
-            ...to: 
-                Name: u
-
-
-p: instance of type y (not function type) 
-context has_u
-    with parameters
-      z: type
-
-    with members
-      u: function
-          with parameters
-            instance of type z (not function type) 
-          returning 
-            instance of type z (not function type) 
-
-
-q: forall
-      t: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type t (not function type) 
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-          instance of context has_u 
-            with parameters
-              instance of type t (not function type) 
-
-
-    function
-    with parameters
-      the_t: instance of type t (not function type) 
-    returning 
-      instance of type y (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of y: instance of type t (not function type) with initializer 
-          Simple Initializer:             Applying untyped: 
-                Name: u
-            ...to: 
-                Name: the_t
-
-
-f: function
-    with parameters
-      p: instance of type y (not function type) 
-    returning 
-      instance of type t (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of y: signed int 
-        Declaration of x: typedef for char 
-                  CompoundStmt
-            Declaration of y: instance of type x (not function type) 
-            Declaration of z: typedef for instance of type x (not function type) 
-                          CompoundStmt
-                Declaration of x: instance of type z (not function type) 
-                Declaration of y: typedef for instance of type z (not function type) 
-                Declaration of z: instance of type y (not function type) with initializer 
-                  Simple Initializer:                     Name: x
-
-
-            Declaration of x: instance of type z (not function type) with initializer 
-              Simple Initializer:                 Name: y
-
-
-        Declaration of q: instance of type x (not function type) with initializer 
-          Simple Initializer:             Name: y
-
-
-g: function
-    with parameters
-      void 
-    returning 
-      instance of type t (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of x: typedef for char 
-                  Try Statement
-            with block: 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: some_func
-                    ...to: 
-
-            and handlers: 
-              Catch Statement
-              ... catching
-x: instance of type x (not function type) 
-
-        Declaration of z: instance of type x (not function type) 
-
-q: function
-      accepting unspecified arguments
-    returning 
-      instance of type y (not function type) 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-                  Switch on condition: Name: i
-
-              Case Name: 0
-
-                  Return Statement, returning: Name: q
-
-              Default 
-                  Return Statement, returning: Name: i
-
-
-
Index: src/Tests/Expect-a/ScopeErrors.txt
===================================================================
--- src/Tests/Expect-a/ScopeErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,48 +1,0 @@
-thisIsAnError: signed int 
-thisIsAnError: signed int 
-thisIsNotAnError: signed int 
-thisIsNotAnError: float 
-thisIsAlsoNotAnError: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of thisIsNotAnError: signed int 
-
-thisIsAlsoNotAnError: function
-    with parameters
-      x: double 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-thisIsStillNotAnError: function
-    with parameters
-      double 
-    returning 
-      double 
-
-thisIsStillNotAnError: function
-    with parameters
-      double 
-    returning 
-      double 
-
-butThisIsAnError: function
-    with parameters
-      double 
-    returning 
-      double 
-    with body 
-      CompoundStmt
-
-butThisIsAnError: function
-    with parameters
-      double 
-    returning 
-      double 
-    with body 
-      CompoundStmt
-
Index: src/Tests/Expect-a/ShortCircuit.txt
===================================================================
--- src/Tests/Expect-a/ShortCircuit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,105 +1,0 @@
-?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-0: signed int 
-g: function
-    with parameters
-      float 
-    returning 
-      void 
-
-g: function
-    with parameters
-      signed int 
-    returning 
-      void 
-
-f: function
-    with parameters
-      a: signed int 
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of b: signed int 
-        Declaration of c: float 
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Conditional expression on: 
-                  Cast of:
-                    Applying untyped: 
-                        Name: ?!=?
-                    ...to: 
-                        Name: a
-                        Name: 0
-
-                  to:
-                    signed int 
-                First alternative:
-                  Name: b
-                Second alternative:
-                  Name: c
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Short-circuited operation (and) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: a
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: c
-      Name: 0
-
-to:
-  signed int 
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Short-circuited operation (or) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: a
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: b
-      Name: 0
-
-to:
-  signed int 
-
-
-
Index: src/Tests/Expect-a/Statement.txt
===================================================================
--- src/Tests/Expect-a/Statement.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,79 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-0: signed int 
-f: function
-      accepting unspecified arguments
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of a: signed int 
-        Declaration of struct __anonymous0
-            with members
-              b: signed int 
-
-        Declaration of a: instance of struct __anonymous0 
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Name: a
-                    Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              CompoundStmt
-                                  While on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Name: a
-                            Name: 0
-
-                      to:
-                        signed int 
-                  .... with body: 
-                      CompoundStmt
-                        Declaration of b: pointer to signed int 
-                                                  Labels: {}
-                          For Statement
-                            initialization: 
-                              Expression Statement:
-                                Name: b
-
-                            condition: 
-                              Cast of:
-                                Applying untyped: 
-                                    Name: ?!=?
-                                ...to: 
-                                    Name: a
-                                    Name: 0
-
-                              to:
-                                signed int 
-
-                            increment: 
-                              Name: b
-
-                            statement block: 
-                              CompoundStmt
-
-
-
-
-
Index: src/Tests/Expect-a/StructMember.txt
===================================================================
--- src/Tests/Expect-a/StructMember.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,71 +1,0 @@
-T: typedef for signed int 
-struct S
-    with members
-      m1: signed int with bitfield width constant expression 3 signed int 
-      m2: signed int with bitfield width constant expression 4 signed int 
-      signed int with bitfield width constant expression 2 signed int 
-      signed int with bitfield width constant expression 3 signed int 
-      signed int with bitfield width constant expression 4 signed int 
-      m3: signed int 
-      m4: signed int 
-      m5: signed int 
-      m6: signed int 
-      m7: pointer to signed int 
-      m8: pointer to signed int 
-      m9: pointer to signed int 
-      m10: pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      m11: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      T: instance of type T (not function type) 
-      T: instance of type T (not function type) 
-      m12: pointer to signed int 
-      m13: pointer to signed int 
-      m14: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-      pointer to signed int 
-      signed int 
-      signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      instance of type T (not function type) 
-
-s: instance of struct S 
-union U
-    with members
-      m1: array of signed int with dimension of constant expression 5 signed int 
-      m2: array of signed int with dimension of constant expression 5 signed int 
-      m3: pointer to signed int 
-      m4: pointer to signed int 
-
-u: instance of union U 
Index: src/Tests/Expect-a/Subrange.txt
===================================================================
--- src/Tests/Expect-a/Subrange.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,365 +1,0 @@
-context ordered
-    with parameters
-      T: type
-
-    with members
-      ?<?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            signed int 
-
-      ?<=?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            signed int 
-
-
-subrange: type for instance of type base_t (not function type) 
-  with parameters
-    base_t: type
-      with assertions
-        instance of context ordered 
-          with parameters
-            instance of type base_t (not function type) 
-
-
-
-day_of_month: instance of type subrange (not function type) 
-  with parameters
-    unsigned int 
-          Name: 1
-
-    constant expression 31 signed int 
-
-lcase: instance of type subrange (not function type) 
-  with parameters
-    char 
-    constant expression 'a' char 
-    constant expression 'z' char 
-
-foo: instance of type subrange (not function type) 
-  with parameters
-    signed int 
-          Name: 0
-
-          Applying untyped: 
-          Name: ?&?
-      ...to: 
-          Applying untyped: 
-              Name: rand
-          ...to: 
-constant expression 0xF signed int 
-
-lbound: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      v: instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Name: low
-
-
-
-hbound: forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      v: instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Name: high
-
-
-
-lday: unsigned int with initializer 
-  Simple Initializer:     Applying untyped: 
-        Name: lbound
-    ...to: 
-        Name: day_of_month
-
-?=?: inline forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          instance of context ordered 
-            with parameters
-              instance of type T (not function type) 
-
-
-    function
-    with parameters
-      target: pointer to instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-      source: instance of type T (not function type) 
-    returning 
-      instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-    with body 
-      CompoundStmt
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Short-circuited operation (and) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: low
-          Name: source
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: source
-          Name: high
-      Name: 0
-
-to:
-  signed int 
-
-                    Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Applying untyped: 
-                          Name: *?
-                      ...to: 
-                          Cast of:
-                            Name: target
-
-                          to:
-                            pointer to instance of type T (not function type) 
-                    Name: source
-              Expression Statement:
-                Applying untyped: 
-                    Name: abort
-                ...to: 
-
-                  Return Statement, returning: Name: target
-
-
-
-?=?: inline forall
-      T: type
-        with assertions
-          ?=?: function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          instance of context ordered 
-            with parameters
-              instance of type T (not function type) 
-
-
-    function
-    with parameters
-      target: pointer to instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: t_low
-
-                      Name: t_high
-
-
-      source: instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: s_low
-
-                      Name: s_high
-
-
-    returning 
-      instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: t_low
-
-                      Name: t_high
-
-
-    with body 
-      CompoundStmt
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Short-circuited operation (and) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Short-circuited operation (or) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: t_low
-          Name: s_low
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: t_low
-          Name: source
-      Name: 0
-
-to:
-  signed int 
-
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Short-circuited operation (or) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: s_high
-          Name: t_high
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: source
-          Name: t_high
-      Name: 0
-
-to:
-  signed int 
-
-      Name: 0
-
-to:
-  signed int 
-
-                    Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Applying untyped: 
-                          Name: *?
-                      ...to: 
-                          Cast of:
-                            Name: target
-
-                          to:
-                            pointer to instance of type T (not function type) 
-                    Name: source
-              Expression Statement:
-                Applying untyped: 
-                    Name: abort
-                ...to: 
-
-                  Return Statement, returning: Name: target
-
-
-
Index: src/Tests/Expect-a/Switch.txt
===================================================================
--- src/Tests/Expect-a/Switch.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,131 +1,0 @@
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of i: signed int 
-                  Switch on condition: Name: i
-
-              Case constant expression 3 signed int 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  Switch on condition: Name: i
-
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  Switch on condition: constant expression 3 signed int 
-              Default 
-              Case constant expression 2 signed int 
-              Case constant expression 3 signed int 
-                  Expression Statement:
-constant expression 3 signed int 
-                  Switch on condition: Name: i
-
-
-                  Switch on condition: Name: i
-
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 8 signed int constant expression 10 signed int 
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-constant expression 3 signed int               Case constant expression 3 signed int 
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 'A' char constant expression 'Z' char 
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 5 signed int constant expression 6 signed int 
-              Case Tuple:
-  constant expression 2 signed int 
-  constant expression 4 signed int 
-
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-constant expression 3 signed int                   Branch (Break)
-
-                  Choose on condition: Name: i
-
-              Case constant expression 3 signed int 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  Choose on condition: Name: i
-
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  Choose on condition: Name: i
-
-              Case constant expression 3 signed int 
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 'A' char constant expression 'Z' char 
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 5 signed int constant expression 6 signed int 
-              Case Tuple:
-  constant expression 2 signed int 
-  constant expression 4 signed int 
-  constant expression 7 signed int 
-
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-constant expression 3 signed int                   Fall-through statement
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-constant expression 3 signed int               Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 8 signed int constant expression 10 signed int 
-                  Fall-through statement
-
-
Index: src/Tests/Expect-a/Tuple.txt
===================================================================
--- src/Tests/Expect-a/Tuple.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,561 +1,0 @@
-f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-g: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-h: static function
-    with parameters
-      a: signed int 
-      b: signed int 
-      c: pointer to signed int 
-      d: open array of char 
-    returning 
-      signed int 
-      pointer to signed int 
-      pointer to signed int 
-      signed int 
-
-struct inner
-    with members
-      f2: signed int 
-      f3: signed int 
-
-struct outer
-    with members
-      f1: signed int 
-      i: instance of struct inner 
-      f4: double 
-
-s: instance of struct outer 
-sp: pointer to instance of struct outer 
-t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-t2: static const tuple of types
-    signed int 
-    const signed int 
-
-t3: static const tuple of types
-    signed int 
-    const signed int 
-
-printf: function
-    with parameters
-      fmt: pointer to char 
-      and a variable number of other arguments
-    returning 
-      rc: signed int 
-
-printf: function
-    with parameters
-      fmt: pointer to char 
-      and a variable number of other arguments
-    returning 
-      signed int 
-
-f1: function
-    with parameters
-      w: signed int 
-    returning 
-      x: short signed int 
-      y: unsigned int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: y
-
-                                          Name: x
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                                                  Name: x
-
-                                                  Name: y
-
-                    Tuple:
-                                              Name: w
-
-                      constant expression 23 signed int 
-
-
-g1: function
-    returning 
-      r: tuple of types
-          signed int 
-          char 
-          long signed int 
-          signed int 
-
-    with body 
-      CompoundStmt
-        Declaration of x: short signed int 
-        Declaration of p: short signed int 
-        Declaration of y: unsigned int 
-        Declaration of z: tuple of types
-            signed int 
-            signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: x
-
-                                          Name: y
-
-                                          Name: z
-
-                Tuple:
-                                      Name: p
-
-                                      Applying untyped: 
-                        Name: f
-                    ...to: 
-constant expression 17 signed int 
-                  constant expression 3 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: x
-
-                                          Name: y
-
-                                          Name: z
-
-                Cast of:
-                  Tuple:
-                                          Name: p
-
-                                          Applying untyped: 
-                          Name: f
-                      ...to: 
-constant expression 17 signed int 
-                    constant expression 3 signed int 
-
-                to:
-                  short signed int 
-                  unsigned int 
-                  tuple of types
-                      signed int 
-                      signed int 
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: r
-                Tuple:
-                                      Name: x
-
-                                      Name: y
-
-                                      Name: z
-
-
-
-main: C function
-    with parameters
-      argc: signed int 
-      argv: pointer to pointer to char 
-    returning 
-      rc: signed int 
-    with body 
-      CompoundStmt
-        Declaration of a: signed int 
-        Declaration of b: signed int 
-        Declaration of c: signed int 
-        Declaration of d: signed int 
-        Declaration of t: instance of struct outer with initializer 
-          Compound initializer:  
-            Simple Initializer:               Tuple:
-                                  Name: 1
-
-                constant expression 7.0 double 
-
-              designated by:                 Name: f1
-                Name: f4
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Tuple:
-                  constant expression 3 signed int 
-                  constant expression 5 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Tuple:
-                  constant expression 3 signed int 
-                  constant expression 5 signed int 
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: t1
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Name: t1
-constant expression 3 signed int 
-                  Expression Statement:
-            Tuple:
-
-                  Expression Statement:
-            Tuple:
-              constant expression 3 signed int 
-              constant expression 5 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Tuple:
-                  constant expression 4.6 double 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                                                  Name: c
-
-                                                  Name: d
-
-                    Tuple:
-                      constant expression 3 signed int 
-                      constant expression 5 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                                          Tuple:
-                                                  Name: c
-
-
-                Tuple:
-                  constant expression 2 signed int 
-                                      Tuple:
-                                              Name: a
-
-                                              Name: b
-
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Conditional expression on: 
-                  Cast of:
-                    Applying untyped: 
-                        Name: ?!=?
-                    ...to: 
-                        Applying untyped: 
-                            Name: ?>?
-                        ...to: 
-constant expression 3 signed int constant expression 4 signed int                         Name: 0
-
-                  to:
-                    signed int 
-                First alternative:
-                  Tuple:
-                                          Name: b
-
-                    constant expression 6 signed int 
-                Second alternative:
-                  Tuple:
-                    constant expression 7 signed int 
-                    constant expression 8 signed int 
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: t1
-                Tuple:
-                                      Name: a
-
-                                      Name: b
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: t1
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: t2
-                    Tuple:
-                                              Name: a
-
-                                              Name: b
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                                                  Name: c
-
-                                                  Name: d
-
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: d
-                        Applying untyped: 
-                            Name: ?+=?
-                        ...to: 
-                            Address of:
-                              Name: c
-                            Name: 1
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                                                  Name: c
-
-                                                  Name: d
-
-                    Name: t1
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: t1
-                    Tuple:
-                                              Name: c
-
-                                              Name: d
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: t1
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: t2
-                        Tuple:
-                                                      Name: c
-
-                                                      Name: d
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: t1
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                        constant expression 3 signed int 
-                        constant expression 4 signed int 
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Tuple:
-                            constant expression 3 signed int 
-                            constant expression 4 signed int 
-                        Applying untyped: 
-                            Name: ?=?
-                        ...to: 
-                            Address of:
-                              Name: t1
-                            Tuple:
-                              constant expression 3 signed int 
-                              constant expression 4 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: s
-                Tuple:
-                  constant expression 11 signed int 
-                  constant expression 12 signed int 
-                  constant expression 13 signed int 
-                  constant expression 3.14159 double 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: s
-                Applying untyped: 
-                    Name: h
-                ...to: 
-constant expression 3 signed int constant expression 3 signed int                     Name: 0
-constant expression "abc" array of char with dimension of constant expression 6 unsigned int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: h
-                ...to: 
-constant expression 3 signed int constant expression 3 signed int                     Name: 0
-constant expression "abc" array of char with dimension of constant expression 6 unsigned int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: sp
-                Name: sp
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: printf
-            ...to: 
-constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int                 Name: s
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: rc
-                Name: 0
-
-
Index: src/Tests/Expect-a/TypeGenerator.txt
===================================================================
--- src/Tests/Expect-a/TypeGenerator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,155 +1,0 @@
-context addable
-    with parameters
-      T: type
-
-    with members
-      ?+?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-      ?=?: function
-          with parameters
-            pointer to instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-
-struct __anonymous0
-    with members
-      data: instance of type T (not function type) 
-      next: pointer to instance of type List1 (not function type) 
-        with parameters
-          instance of type T (not function type) 
-
-
-List1: type for pointer to instance of struct __anonymous0 
-  with parameters
-    T: type
-      with assertions
-        instance of context addable 
-          with parameters
-            instance of type T (not function type) 
-
-
-
-ListOfIntegers: typedef for instance of type List1 (not function type) 
-  with parameters
-    signed int 
-
-li: instance of type ListOfIntegers (not function type) 
-f: function
-    with parameters
-      g: pointer to function
-          with parameters
-            signed int 
-          returning 
-            instance of type List1 (not function type) 
-              with parameters
-                signed int 
-
-
-    returning 
-      signed int 
-
-h: function
-    with parameters
-      p: pointer to instance of type List1 (not function type) 
-        with parameters
-          signed int 
-
-    returning 
-      signed int 
-
-struct S2
-    with parameters
-      T: type
-
-    with members
-      i: instance of type T (not function type) 
-
-v1: instance of struct S3 
-  with parameters
-    signed int 
-
-p: pointer to instance of struct S3 
-  with parameters
-    signed int 
-
-struct S24
-    with parameters
-      T: type
-
-    with members
-      i: instance of type T (not function type) 
-
-v2: instance of struct S24 
-  with parameters
-    signed int 
-
-struct __anonymous1
-    with parameters
-      T: type
-
-    with members
-      i: instance of type T (not function type) 
-
-v2: instance of struct __anonymous1 
-  with parameters
-    signed int 
-
-struct node
-    with parameters
-      T: type
-        with assertions
-          instance of context addable 
-            with parameters
-              instance of type T (not function type) 
-
-
-
-    with members
-      data: instance of type T (not function type) 
-      next: pointer to instance of struct node 
-        with parameters
-          instance of type T (not function type) 
-
-
-List: type for pointer to instance of struct node 
-  with parameters
-    instance of type T (not function type) 
-
-  with parameters
-    T: type
-
-my_list: instance of type List (not function type) 
-  with parameters
-    signed int 
-
-Complex: type
-  with assertions
-    instance of context addable 
-      with parameters
-        instance of type Complex (not function type) 
-
-
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Cast of:
-              Name: my_list
-
-            to:
-              instance of struct node 
-                with parameters
-                  signed int 
-
-
-
Index: src/Tests/Expect-a/Typedef.txt
===================================================================
--- src/Tests/Expect-a/Typedef.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,104 +1,0 @@
-T: typedef for signed int 
-f: function
-    with parameters
-      void 
-    returning 
-      void 
-    with body 
-      CompoundStmt
-        Declaration of T: function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: T
-            ...to: 
-constant expression 3 signed int 
-
-struct __anonymous0
-    with members
-      T: instance of type T (not function type) 
-
-fred: instance of struct __anonymous0 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-a: typedef for pointer to function
-    with parameters
-      signed int 
-      char 
-    returning 
-      signed int 
-
-b: instance of type a (not function type) 
-g: function
-    with parameters
-      void 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of a: double 
-
-c: instance of type a (not function type) 
-x: typedef for type-of expression constant expression 3 signed int 
-y: typedef for type-of expression constant expression 3 signed int 
-p: instance of type x (not function type) 
-q: instance of type y (not function type) 
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of z: typedef for type-of expression constant expression 3 signed int 
-        Declaration of p: typedef for type-of expression constant expression 3 signed int 
-        Declaration of w: instance of type z (not function type) 
-        Declaration of x: instance of type p (not function type) 
-
-arrayOf10Pointers: typedef for array of pointer to signed int with dimension of constant expression 10 signed int 
-array: instance of type arrayOf10Pointers (not function type) 
-constantPointer: typedef for const pointer to signed int 
-funcPtr: typedef for pointer to function
-    with parameters
-      open array of signed int 
-    returning 
-      signed int 
-
-funcProto: typedef for function
-    with parameters
-      open array of signed int 
-    returning 
-      signed int 
-
-tupleType: typedef for tuple of types
-    signed int 
-    signed int 
-
-tupleTypePtr: typedef for pointer to tuple of types
-    signed int 
-    signed int 
-
-a: typedef for pointer to signed int 
-b: typedef for pointer to signed int 
-f: typedef for function
-    with parameters
-      pointer to signed int 
-    returning 
-      signed int 
-
-g: typedef for function
-    with parameters
-      pointer to signed int 
-    returning 
-      signed int 
-
-t: typedef for tuple of types
-    pointer to static array of signed int with dimension of constant expression 10 signed int 
-
-f: typedef for function
-    returning 
-      x: pointer to static array of signed int with dimension of constant expression 10 signed int 
-
Index: src/Tests/Expect-a/TypedefDeclarator.txt
===================================================================
--- src/Tests/Expect-a/TypedefDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,275 +1,0 @@
-f0: typedef for signed int 
-f1: typedef for signed int 
-f2: typedef for signed int 
-f3: typedef for signed int 
-f4: typedef for signed int 
-f5: typedef for signed int 
-f6: typedef for signed int 
-f7: typedef for signed int 
-f8: typedef for signed int 
-f9: typedef for signed int 
-f10: typedef for signed int 
-f11: typedef for signed int 
-f12: typedef for signed int 
-f13: typedef for signed int 
-f14: typedef for signed int 
-f15: typedef for signed int 
-f16: typedef for signed int 
-f17: typedef for signed int 
-f18: typedef for signed int 
-f19: typedef for signed int 
-f20: typedef for signed int 
-f21: typedef for signed int 
-f22: typedef for signed int 
-f23: typedef for signed int 
-f24: typedef for signed int 
-f25: typedef for signed int 
-f26: typedef for signed int 
-f27: typedef for signed int 
-f28: typedef for signed int 
-f29: typedef for signed int 
-f30: typedef for signed int 
-f31: typedef for signed int 
-f32: typedef for signed int 
-f33: typedef for signed int 
-f34: typedef for signed int 
-f35: typedef for signed int 
-f36: typedef for signed int 
-f37: typedef for signed int 
-f38: typedef for signed int 
-f39: typedef for signed int 
-f40: typedef for signed int 
-f41: typedef for signed int 
-f42: typedef for signed int 
-f43: typedef for signed int 
-f44: typedef for signed int 
-f45: typedef for signed int 
-f46: typedef for signed int 
-f47: typedef for signed int 
-f48: typedef for signed int 
-f49: typedef for signed int 
-f50: typedef for signed int 
-f51: typedef for signed int 
-f52: typedef for signed int 
-f53: typedef for signed int 
-f54: typedef for signed int 
-f55: typedef for signed int 
-f56: typedef for signed int 
-f57: typedef for signed int 
-f58: typedef for signed int 
-f59: typedef for signed int 
-f60: typedef for signed int 
-f61: typedef for signed int 
-f62: typedef for signed int 
-f63: typedef for signed int 
-f64: typedef for signed int 
-f65: typedef for signed int 
-f66: typedef for signed int 
-f67: typedef for signed int 
-f68: typedef for signed int 
-f69: typedef for signed int 
-f70: typedef for signed int 
-f71: typedef for signed int 
-f72: typedef for signed int 
-f73: typedef for signed int 
-f74: typedef for signed int 
-f75: typedef for signed int 
-f76: typedef for signed int 
-f77: typedef for signed int 
-f78: typedef for signed int 
-f79: typedef for signed int 
-f80: typedef for signed int 
-f81: typedef for signed int 
-f82: typedef for signed int 
-f83: typedef for signed int 
-f84: typedef for signed int 
-f85: typedef for signed int 
-f86: typedef for signed int 
-f87: typedef for signed int 
-f88: typedef for signed int 
-f89: typedef for signed int 
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of f1: signed int 
-        Declaration of f2: signed int 
-        Declaration of f3: pointer to signed int 
-        Declaration of f4: pointer to pointer to signed int 
-        Declaration of f5: pointer to const pointer to signed int 
-        Declaration of f6: const pointer to const pointer to signed int 
-        Declaration of f7: pointer to signed int 
-        Declaration of f8: pointer to pointer to signed int 
-        Declaration of f9: pointer to const pointer to signed int 
-        Declaration of f10: const pointer to const pointer to signed int 
-        Declaration of f11: pointer to signed int 
-        Declaration of f12: pointer to pointer to signed int 
-        Declaration of f13: pointer to const pointer to signed int 
-        Declaration of f14: const pointer to const pointer to signed int 
-        Declaration of f15: open array of signed int 
-        Declaration of f16: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f17: open array of signed int 
-        Declaration of f18: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f19: open array of pointer to signed int 
-        Declaration of f20: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f21: open array of pointer to pointer to signed int 
-        Declaration of f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f23: open array of pointer to const pointer to signed int 
-        Declaration of f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f25: open array of const pointer to const pointer to signed int 
-        Declaration of f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f27: open array of pointer to signed int 
-        Declaration of f28: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f29: open array of pointer to pointer to signed int 
-        Declaration of f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f31: open array of pointer to const pointer to signed int 
-        Declaration of f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f33: open array of const pointer to const pointer to signed int 
-        Declaration of f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f35: open array of pointer to signed int 
-        Declaration of f36: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f37: open array of pointer to pointer to signed int 
-        Declaration of f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f39: open array of pointer to const pointer to signed int 
-        Declaration of f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f41: open array of const pointer to const pointer to signed int 
-        Declaration of f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f43: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f45: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f47: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f65: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f66: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f67: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f68: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f69: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f70: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f71: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f72: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f73: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f74: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f75: pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f76: pointer to pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f77: pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f78: const pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f79: pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f80: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f81: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              const pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-
Index: src/Tests/Expect-a/TypedefParamDeclarator.txt
===================================================================
--- src/Tests/Expect-a/TypedefParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,382 +1,0 @@
-f0: typedef for signed int 
-f1: typedef for signed int 
-f2: typedef for signed int 
-f3: typedef for signed int 
-f4: typedef for signed int 
-f5: typedef for signed int 
-f6: typedef for signed int 
-f7: typedef for signed int 
-f8: typedef for signed int 
-f9: typedef for signed int 
-f10: typedef for signed int 
-f11: typedef for signed int 
-f12: typedef for signed int 
-f13: typedef for signed int 
-f14: typedef for signed int 
-f15: typedef for signed int 
-f16: typedef for signed int 
-f17: typedef for signed int 
-f18: typedef for signed int 
-f19: typedef for signed int 
-f20: typedef for signed int 
-f21: typedef for signed int 
-f22: typedef for signed int 
-f23: typedef for signed int 
-f24: typedef for signed int 
-f25: typedef for signed int 
-f26: typedef for signed int 
-f27: typedef for signed int 
-f28: typedef for signed int 
-f29: typedef for signed int 
-f30: typedef for signed int 
-f31: typedef for signed int 
-f32: typedef for signed int 
-f33: typedef for signed int 
-f34: typedef for signed int 
-f35: typedef for signed int 
-f36: typedef for signed int 
-f37: typedef for signed int 
-f38: typedef for signed int 
-f39: typedef for signed int 
-f40: typedef for signed int 
-f41: typedef for signed int 
-f42: typedef for signed int 
-f43: typedef for signed int 
-f44: typedef for signed int 
-f45: typedef for signed int 
-f46: typedef for signed int 
-f47: typedef for signed int 
-f48: typedef for signed int 
-f49: typedef for signed int 
-f50: typedef for signed int 
-f51: typedef for signed int 
-f52: typedef for signed int 
-f53: typedef for signed int 
-f54: typedef for signed int 
-f55: typedef for signed int 
-f56: typedef for signed int 
-f57: typedef for signed int 
-f58: typedef for signed int 
-f59: typedef for signed int 
-f60: typedef for signed int 
-f61: typedef for signed int 
-f62: typedef for signed int 
-f63: typedef for signed int 
-f64: typedef for signed int 
-f65: typedef for signed int 
-f66: typedef for signed int 
-f67: typedef for signed int 
-f68: typedef for signed int 
-f69: typedef for signed int 
-f70: typedef for signed int 
-f71: typedef for signed int 
-f72: typedef for signed int 
-f73: typedef for signed int 
-f74: typedef for signed int 
-f75: typedef for signed int 
-f76: typedef for signed int 
-f77: typedef for signed int 
-f78: typedef for signed int 
-f79: typedef for signed int 
-f80: typedef for signed int 
-f81: typedef for signed int 
-f82: typedef for signed int 
-f83: typedef for signed int 
-f84: typedef for signed int 
-f85: typedef for signed int 
-f86: typedef for signed int 
-f87: typedef for signed int 
-f88: typedef for signed int 
-f89: typedef for signed int 
-f90: typedef for signed int 
-f91: typedef for signed int 
-f92: typedef for signed int 
-f93: typedef for signed int 
-f94: typedef for signed int 
-f95: typedef for signed int 
-f96: typedef for signed int 
-f97: typedef for signed int 
-f98: typedef for signed int 
-f99: typedef for signed int 
-f100: typedef for signed int 
-f101: typedef for signed int 
-f102: typedef for signed int 
-f103: typedef for signed int 
-f104: typedef for signed int 
-f105: typedef for signed int 
-f106: typedef for signed int 
-f107: typedef for signed int 
-f108: typedef for signed int 
-f109: typedef for signed int 
-f110: typedef for signed int 
-f111: typedef for signed int 
-f112: typedef for signed int 
-f113: typedef for signed int 
-f114: typedef for signed int 
-f115: typedef for signed int 
-f116: typedef for signed int 
-f117: typedef for signed int 
-f118: typedef for signed int 
-f119: typedef for signed int 
-fred: function
-    with parameters
-      f1: signed int 
-      f3: pointer to signed int 
-      f4: pointer to pointer to signed int 
-      f5: pointer to const pointer to signed int 
-      f6: const pointer to const pointer to signed int 
-      f11: pointer to signed int 
-      f12: pointer to pointer to signed int 
-      f13: pointer to const pointer to signed int 
-      f14: const pointer to const pointer to signed int 
-      f15: open array of signed int 
-      f16: array of signed int with dimension of constant expression 10 signed int 
-      f19: open array of pointer to signed int 
-      f20: array of pointer to signed int with dimension of constant expression 10 signed int 
-      f21: open array of pointer to pointer to signed int 
-      f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-      f23: open array of pointer to const pointer to signed int 
-      f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f25: open array of const pointer to const pointer to signed int 
-      f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f35: open array of pointer to signed int 
-      f36: array of pointer to signed int with dimension of constant expression 10 signed int 
-      f37: open array of pointer to pointer to signed int 
-      f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-      f39: open array of pointer to const pointer to signed int 
-      f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f41: open array of const pointer to const pointer to signed int 
-      f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-      f43: open array of array of signed int with dimension of constant expression 3 signed int 
-      f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f65: function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f67: function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f68: function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      f69: function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      f70: function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f75: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f76: pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f77: pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f78: const pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f79: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f80: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f81: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f82: const variable length array of signed int 
-      f83: const array of signed int with dimension of constant expression 3 signed int 
-      f84: static array of signed int with dimension of constant expression 3 signed int 
-      f85: const static array of signed int with dimension of constant expression 3 signed int 
-      function
-          with parameters
-            const variable length array of instance of type f86 (not function type) 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            const array of instance of type f87 (not function type) with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            static array of instance of type f88 (not function type) with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            const static array of instance of type f89 (not function type) with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      f90: const variable length array of pointer to signed int 
-      f91: const array of pointer to signed int with dimension of constant expression 3 signed int 
-      f92: static array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f93: const static array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f94: const static array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      function
-          with parameters
-            const variable length array of instance of type f95 (not function type) 
-          returning 
-            pointer to signed int 
-
-      function
-          with parameters
-            const array of instance of type f96 (not function type) with dimension of constant expression 3 signed int 
-          returning 
-            pointer to signed int 
-
-      function
-          with parameters
-            static array of instance of type f97 (not function type) with dimension of constant expression 3 signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      function
-          with parameters
-            const static array of instance of type f98 (not function type) with dimension of constant expression 3 signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      function
-          with parameters
-            const static array of instance of type f99 (not function type) with dimension of constant expression 3 signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f100: const variable length array of array of signed int with dimension of constant expression 3 signed int 
-      f101: const array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f102: static array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f103: const static array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      function
-          with parameters
-            const variable length array of array of instance of type f104 (not function type) with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            const array of array of instance of type f105 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            static array of array of instance of type f106 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      function
-          with parameters
-            const static array of array of instance of type f107 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      f108: const variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f109: const array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f110: static array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f111: const static array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      f112: const static array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-      function
-          with parameters
-            const variable length array of array of instance of type f113 (not function type) with dimension of constant expression 3 signed int 
-          returning 
-            pointer to signed int 
-
-      function
-          with parameters
-            const array of array of instance of type f114 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to signed int 
-
-      function
-          with parameters
-            static array of array of instance of type f115 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      function
-          with parameters
-            const static array of array of instance of type f116 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      function
-          with parameters
-            const static array of array of instance of type f117 (not function type) with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
Index: src/Tests/Expect-a/Typeof.txt
===================================================================
--- src/Tests/Expect-a/Typeof.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,32 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of v1: pointer to signed int 
-        Declaration of v2: type-of expression           Name: v1
-
-        Declaration of v3: array of type-of expression           Applying untyped: 
-              Name: *?
-          ...to: 
-              Name: v1
-with dimension of constant expression 4 signed int 
-        Declaration of v4: array of pointer to char with dimension of constant expression 4 signed int 
-        Declaration of v5: array of pointer to char with dimension of constant expression 4 signed int 
-        Declaration of v6: pointer to signed int 
-        Declaration of v7: pointer to function
-            with parameters
-              signed int 
-              p: signed int 
-            returning 
-              signed int 
-
-        Declaration of v8: pointer to function
-            with parameters
-              signed int 
-              p: signed int 
-            returning 
-              signed int 
-
-
Index: src/Tests/Expect-a/VariableDeclarator.txt
===================================================================
--- src/Tests/Expect-a/VariableDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,253 +1,0 @@
-f1: signed int 
-f2: signed int 
-f3: pointer to signed int 
-f4: pointer to pointer to signed int 
-f5: pointer to const pointer to signed int 
-f6: const pointer to const pointer to signed int 
-f7: pointer to signed int 
-f8: pointer to pointer to signed int 
-f9: pointer to const pointer to signed int 
-f10: const pointer to const pointer to signed int 
-f11: pointer to signed int 
-f12: pointer to pointer to signed int 
-f13: pointer to const pointer to signed int 
-f14: const pointer to const pointer to signed int 
-f15: open array of signed int 
-f16: array of signed int with dimension of constant expression 10 signed int 
-f17: open array of signed int 
-f18: array of signed int with dimension of constant expression 10 signed int 
-f19: open array of pointer to signed int 
-f20: array of pointer to signed int with dimension of constant expression 10 signed int 
-f21: open array of pointer to pointer to signed int 
-f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-f23: open array of pointer to const pointer to signed int 
-f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-f25: open array of const pointer to const pointer to signed int 
-f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-f27: open array of pointer to signed int 
-f28: array of pointer to signed int with dimension of constant expression 10 signed int 
-f29: open array of pointer to pointer to signed int 
-f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-f31: open array of pointer to const pointer to signed int 
-f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-f33: open array of const pointer to const pointer to signed int 
-f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-f35: pointer to open array of signed int 
-f36: pointer to array of signed int with dimension of constant expression 10 signed int 
-f37: pointer to pointer to open array of signed int 
-f38: pointer to pointer to array of signed int with dimension of constant expression 10 signed int 
-f39: pointer to const pointer to open array of signed int 
-f40: pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-f41: const pointer to const pointer to open array of signed int 
-f42: const pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-f43: open array of array of signed int with dimension of constant expression 3 signed int 
-f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f45: open array of array of signed int with dimension of constant expression 3 signed int 
-f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f47: open array of array of signed int with dimension of constant expression 3 signed int 
-f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f65: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f66: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f67: function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-f68: function
-    with parameters
-      signed int 
-    returning 
-      pointer to pointer to signed int 
-
-f69: function
-    with parameters
-      signed int 
-    returning 
-      pointer to const pointer to signed int 
-
-f70: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to const pointer to signed int 
-
-f71: function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-f72: function
-    with parameters
-      signed int 
-    returning 
-      pointer to pointer to signed int 
-
-f73: function
-    with parameters
-      signed int 
-    returning 
-      pointer to const pointer to signed int 
-
-f74: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to const pointer to signed int 
-
-f75: pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f76: pointer to pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f77: pointer to const pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f78: const pointer to const pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f79: pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-
-f80: const pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-
-f81: const pointer to function
-    with parameters
-      signed int 
-    returning 
-      const pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-
-cf3: pointer to signed int 
-cf4: pointer to pointer to signed int 
-cf5: pointer to const pointer to signed int 
-cf6: const pointer to const pointer to signed int 
-cf15: open array of signed int 
-cf16: array of signed int with dimension of constant expression 10 signed int 
-cf19: open array of pointer to signed int 
-cf20: array of pointer to signed int with dimension of constant expression 10 signed int 
-cf21: open array of pointer to pointer to signed int 
-cf22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-cf23: open array of pointer to const pointer to signed int 
-cf24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-cf25: open array of const pointer to const pointer to signed int 
-cf26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-cf35: pointer to open array of signed int 
-cf36: pointer to array of signed int with dimension of constant expression 10 signed int 
-cf37: pointer to pointer to open array of signed int 
-cf38: pointer to pointer to array of signed int with dimension of constant expression 10 signed int 
-cf39: pointer to const pointer to open array of signed int 
-cf40: pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-cf41: const pointer to const pointer to open array of signed int 
-cf42: const pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-cf43: open array of array of signed int with dimension of constant expression 3 signed int 
-cf44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-cf50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-cf52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf53: open array of array of const pointer to signed int with dimension of constant expression 3 signed int 
-cf54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-cf56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf65: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-cf66: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-cf67: function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-cf68: function
-    with parameters
-      signed int 
-    returning 
-      pointer to pointer to signed int 
-
-cf69: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to pointer to signed int 
-
-cf70: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to const pointer to signed int 
-
-v3: pointer to open array of pointer to open array of pointer to function
-    with parameters
-      pointer to open array of pointer to open array of signed int 
-      pointer to open array of pointer to open array of signed int 
-    returning 
-      pointer to open array of pointer to open array of signed int 
-
Index: src/Tests/Expect-a/gcc900407-1.txt
===================================================================
--- src/Tests/Expect-a/gcc900407-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,71 +1,0 @@
-foo: function
-    with parameters
-      a: signed int 
-      b: signed int 
-      p: pointer to signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of c: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Applying untyped: 
-                      Name: ?[?]
-                  ...to: 
-                      Name: p
-constant expression 2 signed int                 Applying untyped: 
-                    Name: ?+?
-                ...to: 
-                    Name: a
-constant expression 0x1000 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: c
-                Applying untyped: 
-                    Name: ?+?
-                ...to: 
-                    Name: b
-constant expression 0xffff0000 unsigned int 
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?==?
-                    ...to: 
-                        Applying untyped: 
-                            Name: ?+?
-                        ...to: 
-                            Name: b
-constant expression 0xffff0000 unsigned int constant expression 2 signed int                     Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?++
-                ...to: 
-                    Address of:
-                      Name: c
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Applying untyped: 
-                      Name: ?[?]
-                  ...to: 
-                      Name: p
-constant expression 2 signed int                 Name: c
-
-
Index: src/Tests/Expect-a/gcc900516-1.txt
===================================================================
--- src/Tests/Expect-a/gcc900516-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,26 +1,0 @@
-f: function
-    with parameters
-      c: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: !?
-...to: 
-    Conditional expression on: 
-      Cast of:
-        Applying untyped: 
-            Name: ?!=?
-        ...to: 
-            Name: c
-            Name: 0
-
-      to:
-        signed int 
-    First alternative:
-constant expression 2.0 double     Second alternative:
-constant expression 1.0 double 
-
-
-
Index: src/Tests/Expect-a/gcc920301-1.txt
===================================================================
--- src/Tests/Expect-a/gcc920301-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,18 +1,0 @@
-f: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of t: static open array of pointer to void 
-                  Null Statement
-
-
-g: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of p: static array of unsigned int with dimension of constant expression 5 signed int 
-
Index: src/Tests/Expect-a/gcc920409-1.txt
===================================================================
--- src/Tests/Expect-a/gcc920409-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,32 +1,0 @@
-x: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of y: signed int 
-                  Expression Statement:
-            Conditional expression on: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?>?
-                    ...to: 
-                        Name: y
-constant expression 0.0 double                     Name: 0
-
-              to:
-                signed int 
-            First alternative:
-              Name: y
-            Second alternative:
-              Applying untyped: 
-                  Name: ?-?
-              ...to: 
-                  Name: y
-                  Name: 1
-
-
-
Index: src/Tests/Expect-a/gcc920409-2.txt
===================================================================
--- src/Tests/Expect-a/gcc920409-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,90 +1,0 @@
-x: function
-      accepting unspecified arguments
-    returning 
-      double 
-    with body 
-      CompoundStmt
-        Declaration of x1: signed int 
-        Declaration of x2: signed int 
-        Declaration of v: double 
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Cast of:
-                          Applying untyped: 
-                              Name: ?-?
-                          ...to: 
-                              Name: x1
-                              Name: x2
-
-                        to:
-                          long signed int 
-                        Name: 1
-                    Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              Return Statement, returning: Applying untyped: 
-    Name: -?
-...to: 
-constant expression 1.0 double 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: v
-                Applying untyped: 
-                    Name: t
-                ...to: 
-                    Name: v
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: v
-                Applying untyped: 
-                    Name: y
-                ...to: 
-                    Name: 1
-                    Conditional expression on: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?>?
-                            ...to: 
-                                Name: v
-constant expression 0.0 double                             Name: 0
-
-                      to:
-                        signed int 
-                    First alternative:
-                      Cast of:
-                        Name: v
-
-                      to:
-                        signed int 
-                    Second alternative:
-                      Applying untyped: 
-                          Name: ?-?
-                      ...to: 
-                          Cast of:
-                            Name: v
-
-                          to:
-                            signed int 
-                          Name: 1
-
-
-
Index: src/Tests/Expect-a/gcc920410-2.txt
===================================================================
--- src/Tests/Expect-a/gcc920410-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,93 +1,0 @@
-joe: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of j: signed int 
-                  While on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Name: 1
-                    Name: 0
-
-              to:
-                signed int 
-          .... with body: 
-              CompoundStmt
-                                  Labels: {}
-                  For Statement
-                    initialization: 
-                      Expression Statement:
-                        Applying untyped: 
-                            Name: ?=?
-                        ...to: 
-                            Address of:
-                              Name: j
-                            Name: 0
-
-                    condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: j
-constant expression 4 signed int                             Name: 0
-
-                      to:
-                        signed int 
-
-                    increment: 
-                      Applying untyped: 
-                          Name: ?++
-                      ...to: 
-                          Address of:
-                            Name: j
-
-                    statement block: 
-                      Null Statement
-
-
-                                  Labels: {}
-                  For Statement
-                    initialization: 
-                      Expression Statement:
-                        Applying untyped: 
-                            Name: ?=?
-                        ...to: 
-                            Address of:
-                              Name: j
-                            Name: 0
-
-                    condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: j
-constant expression 4 signed int                             Name: 0
-
-                      to:
-                        signed int 
-
-                    increment: 
-                      Applying untyped: 
-                          Name: ?++
-                      ...to: 
-                          Address of:
-                            Name: j
-
-                    statement block: 
-                      Null Statement
-
-
-
-
Index: src/Tests/Expect-a/gcc920501-1.txt
===================================================================
--- src/Tests/Expect-a/gcc920501-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,16 +1,0 @@
-a: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of b: open array of pointer to pointer to signed int with initializer 
-          Compound initializer:  
-            Simple Initializer:               Applying untyped: 
-                  Name: LabAddress
-              ...to: 
-                  Name: c
-
-                  Null Statement
-
-
Index: src/Tests/Expect-a/gcc920501-11.txt
===================================================================
--- src/Tests/Expect-a/gcc920501-11.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-cfa-cpp: Parser/ExpressionNode.cc:456: virtual Expression* CompositeExprNode::build() const: Assertion `args.size() == 1' failed.
-Aborted (core dumped)
Index: src/Tests/Expect-a/gcc920501-19.txt
===================================================================
--- src/Tests/Expect-a/gcc920501-19.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,18 +1,0 @@
-x: long long signed int with initializer 
-  Simple Initializer:     Name: 0
-
-y: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: x
-                Name: 0
-
-
Index: src/Tests/Expect-e/Abstype.txt
===================================================================
--- src/Tests/Expect-e/Abstype.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,6 +1,0 @@
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type U (not function type) 
-
-to:
-  pointer to pointer to signed int 
-
Index: src/Tests/Expect-e/Array.txt
===================================================================
--- src/Tests/Expect-e/Array.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,96 +1,0 @@
-a1: open array of signed int 
-a2: variable length array of signed int 
-a4: array of double with dimension of   Cast of:
-constant expression 3.0 double 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-m1: open array of array of signed int with dimension of constant expression 3 signed int 
-m2: variable length array of variable length array of signed int 
-m4: array of array of signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of a1: open array of signed int 
-        Declaration of a2: variable length array of signed int 
-        Declaration of a4: array of signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of T: array of signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-
-mary: function
-    with parameters
-      T: pointer to array of constant expression 3 signed int signed int 
-      p1: const pointer to array of constant expression 3 signed int signed int 
-      p2: pointer to static array of constant expression 3 signed int signed int 
-      p3: const pointer to static array of constant expression 3 signed int signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-tom: function
-      accepting unspecified arguments
-    returning 
-      pointer to array of signed int with dimension of constant expression 3 signed int 
-    with body 
-      CompoundStmt
-
-jane: function
-      accepting unspecified arguments
-    returning 
-      pointer to function
-          with parameters
-            T: pointer to array of constant expression 3 signed int signed int 
-            p1: const pointer to array of constant expression 3 signed int signed int 
-            p2: pointer to static array of constant expression 3 signed int signed int 
-            p3: const pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            signed int 
-
-    with body 
-      CompoundStmt
-
-int __a1__A0i[];
-int __a2__A0i[*];
-double __a4__A0d[((long unsigned int )3.0)];
-int __m1__A0A0i[][3];
-int __m2__A0A0i[*][*];
-int __m4__A0A0i[((long unsigned int )3)][3];
-int __fred__Fi__(){
-    int __a1__A0i[];
-    int __a2__A0i[*];
-    int __a4__A0i[((long unsigned int )3)];
-    int __T__A0i[((long unsigned int )3)];
-}
-int __mary__Fi_PiCPiPiCPi_(int __T__Pi[3], int __p1__CPi[const 3], int __p2__Pi[static 3], int __p3__CPi[static const 3]){
-}
-int (*__tom__FPA0i__())[3]{
-}
-int (*__jane__FPFi_PiCPiPiCPi___())(int __T__Pi[3], int __p1__CPi[const 3], int __p2__Pi[static 3], int __p3__CPi[static const 3]){
-}
Index: src/Tests/Expect-e/AsmName.txt
===================================================================
--- src/Tests/Expect-e/AsmName.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,16 +1,0 @@
-x: extern signed int 
-fred: function
-    with parameters
-      x: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of y: static signed int 
-        Declaration of z: static pointer to signed int 
-
-extern int __x__i;
-int __fred__Fi_i_(int __x__i){
-    static int __y__i;
-    static int *__z__Pi;
-}
Index: src/Tests/Expect-e/Attributes.txt
===================================================================
--- src/Tests/Expect-e/Attributes.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Error at line 58 reading token "*"
Index: src/Tests/Expect-e/Cast.txt
===================================================================
--- src/Tests/Expect-e/Cast.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,85 +1,0 @@
-f: char 
-f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of f: char 
-        Declaration of f: double 
-                  Expression Statement:
-            Cast of:
-              Variable Expression: f: char 
-
-            to:
-              signed int 
-            with environment:
-              Types:
-              Non-types:
-
-        Declaration of f: short signed int 
-                  Expression Statement:
-            Cast of:
-              Variable Expression: f: short signed int 
-
-            to:
-              signed int 
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Cast of:
-              Variable Expression: f: function
-                    accepting unspecified arguments
-                  returning 
-                    nothing 
-
-
-            to:
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    nothing 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Cast of:
-              Tuple:
-                                  Variable Expression: f: short signed int 
-
-                                  Variable Expression: f: double 
-
-                                  Variable Expression: f: function
-                        accepting unspecified arguments
-                      returning 
-                        nothing 
-
-
-
-            to:
-              long signed int 
-              long double 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    nothing 
-
-            with environment:
-              Types:
-              Non-types:
-
-
-char __f__c;
-void __f__F__(){
-    char __f__c;
-    double __f__d;
-    ((int )__f__c);
-    short __f__s;
-    ((int )__f__s);
-    ((void (*)())__f__F__);
-    ((long int ));
-}
Index: src/Tests/Expect-e/CastError.txt
===================================================================
--- src/Tests/Expect-e/CastError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,36 +1,0 @@
-Error: Can't choose between alternatives for expression Cast of:
-  Name: f
-
-to:
-  char 
-Alternatives are:        Cost ( 1, 0, 0 ):         Cast of:
-          Variable Expression: f: signed int 
-
-        to:
-          char 
-(types:
-            char 
-)
-        Environment: 
-
-        Cost ( 1, 0, 0 ):         Cast of:
-          Variable Expression: f: double 
-
-        to:
-          char 
-(types:
-            char 
-)
-        Environment: 
-
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: f
-
-to:
-  pointer to function
-        accepting unspecified arguments
-      returning 
-        signed int 
-
-
Index: src/Tests/Expect-e/CharStringConstants.txt
===================================================================
--- src/Tests/Expect-e/CharStringConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,381 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-constant expression ' ' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression 'a' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '"' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '_' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\a' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\b' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\e' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\f' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\n' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\r' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\t' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\v' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\'' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\"' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\?' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\\' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\0' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\377' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\xf' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\xff' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression 'aa' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression 'a\na' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression 'a\0a' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\xfff' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '_\377_' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '_\xff_' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\xffff' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression 'a\xff34w' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\xff' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '\xffff' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression " " array of char with dimension of constant expression 4 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "a" array of char with dimension of constant expression 4 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "'" array of char with dimension of constant expression 4 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression '_' char             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\a" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\b" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\e" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\f" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\n" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\r" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\t" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\v" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\'" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\"" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\?" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\\" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\0" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\377" array of char with dimension of constant expression 7 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\xf" array of char with dimension of constant expression 6 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\xff" array of char with dimension of constant expression 7 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "" array of char with dimension of constant expression 3 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "aa" array of char with dimension of constant expression 5 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "a\na" array of char with dimension of constant expression 7 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "a\0a" array of char with dimension of constant expression 7 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "_\377_" array of char with dimension of constant expression 9 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "_\xff_" array of char with dimension of constant expression 9 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\xff" array of char with dimension of constant expression 7 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\xfff" array of char with dimension of constant expression 8 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "a\xff34w" array of char with dimension of constant expression 11 unsigned int             with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int             with environment:
-              Types:
-              Non-types:
-
-
-int main(){
-    ' ';
-    'a';
-    '"';
-    '_';
-    '\a';
-    '\b';
-    '\e';
-    '\f';
-    '\n';
-    '\r';
-    '\t';
-    '\v';
-    '\'';
-    '\"';
-    '\?';
-    '\\';
-    '\0';
-    '\377';
-    '\xf';
-    '\xff';
-    '';
-    'aa';
-    'a\na';
-    'a\0a';
-    '\xfff';
-    '_\377_';
-    '_\xff_';
-    '\xffff';
-    'a\xff34w';
-    '\xff';
-    '\xffff';
-    " ";
-    "a";
-    "'";
-    '_';
-    "\a";
-    "\b";
-    "\e";
-    "\f";
-    "\n";
-    "\r";
-    "\t";
-    "\v";
-    "\'";
-    "\"";
-    "\?";
-    "\\";
-    "\0";
-    "\377";
-    "\xf";
-    "\xff";
-    "";
-    "aa";
-    "a\na";
-    "a\0a";
-    "_\377_";
-    "_\xff_";
-    "\xff";
-    "\xffff";
-    "\xfff";
-    "a\xff34w";
-    "\xffff";
-}
Index: src/Tests/Expect-e/CommentMisc.txt
===================================================================
--- src/Tests/Expect-e/CommentMisc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,26 +1,0 @@
-i: signed int 
-i: signed int 
-i: signed int 
-i: signed int 
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of x: array of signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-
-int __i__i;
-int __i__i;
-int __i__i;
-int __i__i;
-int main(){
-    int __x__A0i[((long unsigned int )10)];
-}
Index: src/Tests/Expect-e/Constant0-1.txt
===================================================================
--- src/Tests/Expect-e/Constant0-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,112 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous5 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous5 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous6 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous6 
-
Index: src/Tests/Expect-e/Context.txt
===================================================================
--- src/Tests/Expect-e/Context.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,87 +1,0 @@
-context has_q
-    with parameters
-      T: type
-
-    with members
-      q: function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-
-f: forall
-      z: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type z (not function type) 
-                instance of type z (not function type) 
-              returning 
-                instance of type z (not function type) 
-
-          q: pointer to function
-              with parameters
-                instance of type z (not function type) 
-              returning 
-                instance of type z (not function type) 
-
-
-    function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of context has_r
-            with parameters
-              T: type
-              U: type
-
-            with members
-              r: function
-                  with parameters
-                    instance of type T (not function type) 
-                    pointer to function
-                        with parameters
-                          instance of type T (not function type) 
-                          instance of type U (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-                  returning 
-                    instance of type T (not function type) 
-
-
-        Declaration of x: extern type
-        Declaration of ?=?: automatically generated function
-            with parameters
-              _dst: pointer to instance of type x (not function type) 
-              _src: instance of type x (not function type) 
-            returning 
-              instance of type x (not function type) 
-
-        Declaration of y: extern type
-          with assertions
-            instance of context has_r 
-              with parameters
-                instance of type x (not function type) 
-                instance of type y (not function type) 
-
-
-        Declaration of ?=?: automatically generated function
-            with parameters
-              _dst: pointer to instance of type y (not function type) 
-              _src: instance of type y (not function type) 
-            returning 
-              instance of type y (not function type) 
-
-
-;
-void __f__A1_0_0____operator_assign__PFt0_Pt0t0___q__PFt0_t0__F__(void (*_adapterF2tz_2tz_)(void (*)(), void *, void *), void (*_adapterF2tz_P2tz2tz_)(void (*)(), void *, void *, void *), long unsigned int z, void (*___operator_assign__PF2tz_P2tz2tz_)(), void (*__q__PF2tz_2tz_)(), ...){
-    ;
-    extern unsigned long x;
-    void *___operator_assign__F2tx_P2tx2tx_(void *___dst__P2tx, void *___src__2tx);
-    extern unsigned long y;
-    void *___operator_assign__F2ty_P2ty2ty_(void *___dst__P2ty, void *___src__2ty);
-}
Index: src/Tests/Expect-e/DeclarationErrors.txt
===================================================================
--- src/Tests/Expect-e/DeclarationErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous0
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous1
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-e/DeclarationSpecifier.txt
===================================================================
--- src/Tests/Expect-e/DeclarationSpecifier.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous8
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous9
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-e/Enum.txt
===================================================================
--- src/Tests/Expect-e/Enum.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,55 +1,0 @@
-enum Colors
-    with members
-      Red: const instance of enum Colors 
-      Yellow: const instance of enum Colors 
-      Pink: const instance of enum Colors 
-      Blue: const instance of enum Colors 
-      Purple: const instance of enum Colors 
-      Orange: const instance of enum Colors 
-      Green: const instance of enum Colors 
-
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of enum Fruits
-            with members
-              Apple: const instance of enum Fruits 
-              Banana: const instance of enum Fruits 
-              Pear: const instance of enum Fruits 
-              Mango: const instance of enum Fruits 
-
-        Declaration of fruit: instance of enum Fruits with initializer 
-          Simple Initializer:             Cast of:
-              Variable Expression: Mango: const instance of enum Fruits 
-
-            to:
-              instance of enum Fruits 
-            with environment:
-              Types:
-              Non-types:
-
-
-enum Colors
-{
-    __Red__C7eColors,
-    __Yellow__C7eColors,
-    __Pink__C7eColors,
-    __Blue__C7eColors,
-    __Purple__C7eColors,
-    __Orange__C7eColors,
-    __Green__C7eColors,
-}
-;
-void __f__F__(void){
-    enum Fruits
-{
-        __Apple__C7eFruits,
-        __Banana__C7eFruits,
-        __Pear__C7eFruits,
-        __Mango__C7eFruits,
-}
-;
-    enum Fruits __fruit__7eFruits = ((enum Fruits )__Mango__C7eFruits);
-}
Index: src/Tests/Expect-e/Exception.txt
===================================================================
--- src/Tests/Expect-e/Exception.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,4 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?/?
-
Index: src/Tests/Expect-e/Expression.txt
===================================================================
--- src/Tests/Expect-e/Expression.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,101 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s 
-
-Error: No reasonable alternatives for expression Name: !?
-
-Error: No reasonable alternatives for expression Name: ~?
-
-Error: No reasonable alternatives for expression Name: +?
-
-Error: No reasonable alternatives for expression Name: -?
-
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: ++?
-
-Error: No reasonable alternatives for expression Name: --?
-
-Error: No reasonable alternatives for expression Name: ?++
-
-Error: No reasonable alternatives for expression Name: ?--
-
-Error: No reasonable alternatives for expression Name: ?+?
-
-Error: No reasonable alternatives for expression Name: ?-?
-
-Error: No reasonable alternatives for expression Name: ?*?
-
-Error: No reasonable alternatives for expression Name: ?/?
-
-Error: No reasonable alternatives for expression Name: ?%?
-
-Error: No reasonable alternatives for expression Name: ?^?
-
-Error: No reasonable alternatives for expression Name: ?&?
-
-Error: No reasonable alternatives for expression Name: ?|?
-
-Error: No reasonable alternatives for expression Name: ?<?
-
-Error: No reasonable alternatives for expression Name: ?>?
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: i
-    Name: i
-
-Error: No reasonable alternatives for expression Name: ?==?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?<<?
-
-Error: No reasonable alternatives for expression Name: ?>>?
-
-Error: No reasonable alternatives for expression Name: ?<=?
-
-Error: No reasonable alternatives for expression Name: ?>=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?-=?
-
-Error: No reasonable alternatives for expression Name: ?*=?
-
-Error: No reasonable alternatives for expression Name: ?/=?
-
-Error: No reasonable alternatives for expression Name: ?%=?
-
-Error: No reasonable alternatives for expression Name: ?&=?
-
-Error: No reasonable alternatives for expression Name: ?|=?
-
-Error: No reasonable alternatives for expression Name: ?^=?
-
-Error: No reasonable alternatives for expression Name: ?<<=?
-
-Error: No reasonable alternatives for expression Name: ?>>=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
Index: src/Tests/Expect-e/Forall.txt
===================================================================
--- src/Tests/Expect-e/Forall.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,75 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type P1 (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      i: instance of type P1 (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        j: instance of type P2 (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      j: instance of type P2 (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-
-to:
-  pointer to instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type w3 (not function type) 
-
-to:
-  pointer to instance of type T2 (not function type) 
-    with parameters
-      signed int 
-      signed int 
-
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: i
-    Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?!=?
-...to: 
-    Applying untyped: 
-        Name: ?<?
-    ...to: 
-        Name: t1
-        Name: t2
-    Name: 0
-
-Error: No reasonable alternatives for expression Name: 1
-
-Error: No reasonable alternatives for expression Name: x
-
-Error: No reasonable alternatives for expression Name: x
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: min
-...to: 
-constant expression 4.0 double constant expression 3.0 double 
Index: src/Tests/Expect-e/Function.txt
===================================================================
--- src/Tests/Expect-e/Function.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,248 +1,0 @@
-a: signed int 
-a: float 
-f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f: function
-    with parameters
-      float 
-    returning 
-      float 
-
-g: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: f: function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Cast of:
-                  Variable Expression: a: signed int 
-
-                to:
-                  signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Cast of:
-              Application of
-                Variable Expression: f: function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-              to arguments
-                                  Variable Expression: a: signed int 
-
-
-            to:
-              signed int 
-            with environment:
-              Types:
-              Non-types:
-
-
-p: tuple of types
-    signed int 
-
-p: tuple of types
-    signed int 
-    double 
-
-p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-q: tuple of types
-    char 
-
-q: tuple of types
-    signed int 
-    signed int 
-
-q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-s: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: r: function
-                  with parameters
-                    signed int 
-                    signed int 
-                    signed int 
-                    signed int 
-                  returning 
-                    signed int 
-                    signed int 
-
-            to arguments
-                              Variable Expression: p: tuple of types
-                    signed int 
-                    signed int 
-                    signed int 
-
-
-                              Cast of:
-                  Variable Expression: q: tuple of types
-                      char 
-
-
-                to:
-                  signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: r: function
-                  with parameters
-                    signed int 
-                    signed int 
-                    signed int 
-                    signed int 
-                  returning 
-                    signed int 
-                    signed int 
-
-            to arguments
-                              Cast of:
-                  Tuple:
-                                          Variable Expression: q: tuple of types
-                          char 
-
-
-                                          Variable Expression: p: tuple of types
-                          signed int 
-                          signed int 
-                          signed int 
-
-
-
-                to:
-                  signed int 
-                  signed int 
-                  signed int 
-                  signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: r: function
-                  with parameters
-                    signed int 
-                    signed int 
-                    signed int 
-                    signed int 
-                  returning 
-                    signed int 
-                    signed int 
-
-            to arguments
-                              Application of
-                  Variable Expression: r: function
-                      with parameters
-                        signed int 
-                        signed int 
-                        signed int 
-                        signed int 
-                      returning 
-                        signed int 
-                        signed int 
-
-                to arguments
-                                      Variable Expression: p: tuple of types
-                        signed int 
-                        signed int 
-                        signed int 
-
-
-                                      Cast of:
-                      Variable Expression: q: tuple of types
-                          char 
-
-
-                    to:
-                      signed int 
-
-
-                              Application of
-                  Variable Expression: r: function
-                      with parameters
-                        signed int 
-                        signed int 
-                        signed int 
-                        signed int 
-                      returning 
-                        signed int 
-                        signed int 
-
-                to arguments
-                                      Variable Expression: q: tuple of types
-                        signed int 
-                        signed int 
-
-
-                                      Variable Expression: q: tuple of types
-                        signed int 
-                        signed int 
-
-
-
-            with environment:
-              Types:
-              Non-types:
-
-
-cfa-cpp: GenPoly/Box.cc:401: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed.
-Aborted (core dumped)
Index: src/Tests/Expect-e/Functions.txt
===================================================================
--- src/Tests/Expect-e/Functions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,4 +1,0 @@
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-e/GccExtensions.txt
===================================================================
--- src/Tests/Expect-e/GccExtensions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,48 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s2 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s3 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s4 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s4 
-
Index: src/Tests/Expect-e/IdentFuncDeclarator.txt
===================================================================
--- src/Tests/Expect-e/IdentFuncDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,443 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of f1: signed int 
-        Declaration of f2: signed int 
-        Declaration of f3: pointer to signed int 
-        Declaration of f4: pointer to pointer to signed int 
-        Declaration of f5: pointer to const pointer to signed int 
-        Declaration of f6: const pointer to const pointer to signed int 
-        Declaration of f7: pointer to signed int 
-        Declaration of f8: pointer to pointer to signed int 
-        Declaration of f9: pointer to const pointer to signed int 
-        Declaration of f10: const pointer to const pointer to signed int 
-        Declaration of f11: pointer to signed int 
-        Declaration of f12: pointer to pointer to signed int 
-        Declaration of f13: pointer to const pointer to signed int 
-        Declaration of f14: const pointer to const pointer to signed int 
-        Declaration of f15: open array of signed int 
-        Declaration of f16: array of signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f17: open array of signed int 
-        Declaration of f18: array of signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f19: open array of pointer to signed int 
-        Declaration of f20: array of pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f21: open array of pointer to pointer to signed int 
-        Declaration of f22: array of pointer to pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f23: open array of pointer to const pointer to signed int 
-        Declaration of f24: array of pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f25: open array of const pointer to const pointer to signed int 
-        Declaration of f26: array of const pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f27: open array of pointer to signed int 
-        Declaration of f28: array of pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f29: open array of pointer to pointer to signed int 
-        Declaration of f30: array of pointer to pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f31: open array of pointer to const pointer to signed int 
-        Declaration of f32: array of pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f33: open array of const pointer to const pointer to signed int 
-        Declaration of f34: array of const pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f35: open array of pointer to signed int 
-        Declaration of f36: array of pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f37: open array of pointer to pointer to signed int 
-        Declaration of f38: array of pointer to pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f39: open array of pointer to const pointer to signed int 
-        Declaration of f40: array of pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f41: open array of const pointer to const pointer to signed int 
-        Declaration of f42: array of const pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f43: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f45: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f47: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f65: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f66: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f67: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f68: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f69: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f70: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f71: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f72: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f73: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f74: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f75: pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f76: pointer to pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f77: pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f78: const pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f79: pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f80: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f81: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              const pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-
-int main(){
-    int __f1__i;
-    int __f2__i;
-    int *__f3__Pi;
-    int **__f4__PPi;
-    int *const *__f5__PCPi;
-    int *const *const __f6__CPCPi;
-    int *__f7__Pi;
-    int **__f8__PPi;
-    int *const *__f9__PCPi;
-    int *const *const __f10__CPCPi;
-    int *__f11__Pi;
-    int **__f12__PPi;
-    int *const *__f13__PCPi;
-    int *const *const __f14__CPCPi;
-    int __f15__A0i[];
-    int __f16__A0i[((long unsigned int )10)];
-    int __f17__A0i[];
-    int __f18__A0i[((long unsigned int )10)];
-    int *__f19__A0Pi[];
-    int *__f20__A0Pi[((long unsigned int )10)];
-    int **__f21__A0PPi[];
-    int **__f22__A0PPi[((long unsigned int )10)];
-    int *const *__f23__A0PCPi[];
-    int *const *__f24__A0PCPi[((long unsigned int )10)];
-    int *const *const __f25__A0CPCPi[];
-    int *const *const __f26__A0CPCPi[((long unsigned int )10)];
-    int *__f27__A0Pi[];
-    int *__f28__A0Pi[((long unsigned int )10)];
-    int **__f29__A0PPi[];
-    int **__f30__A0PPi[((long unsigned int )10)];
-    int *const *__f31__A0PCPi[];
-    int *const *__f32__A0PCPi[((long unsigned int )10)];
-    int *const *const __f33__A0CPCPi[];
-    int *const *const __f34__A0CPCPi[((long unsigned int )10)];
-    int *__f35__A0Pi[];
-    int *__f36__A0Pi[((long unsigned int )10)];
-    int **__f37__A0PPi[];
-    int **__f38__A0PPi[((long unsigned int )10)];
-    int *const *__f39__A0PCPi[];
-    int *const *__f40__A0PCPi[((long unsigned int )10)];
-    int *const *const __f41__A0CPCPi[];
-    int *const *const __f42__A0CPCPi[((long unsigned int )10)];
-    int __f43__A0A0i[][3];
-    int __f44__A0A0i[((long unsigned int )3)][3];
-    int __f45__A0A0i[][3];
-    int __f46__A0A0i[((long unsigned int )3)][3];
-    int __f47__A0A0i[][3];
-    int __f48__A0A0i[((long unsigned int )3)][3];
-    int *__f49__A0A0Pi[][3];
-    int *__f50__A0A0Pi[((long unsigned int )3)][3];
-    int **__f51__A0A0PPi[][3];
-    int **__f52__A0A0PPi[((long unsigned int )3)][3];
-    int *const *__f53__A0A0PCPi[][3];
-    int *const *__f54__A0A0PCPi[((long unsigned int )3)][3];
-    int *const *const __f55__A0A0CPCPi[][3];
-    int *const *const __f56__A0A0CPCPi[((long unsigned int )3)][3];
-    int *__f57__A0A0Pi[][3];
-    int *__f58__A0A0Pi[((long unsigned int )3)][3];
-    int **__f59__A0A0PPi[][3];
-    int **__f60__A0A0PPi[((long unsigned int )3)][3];
-    int *const *__f61__A0A0PCPi[][3];
-    int *const *__f62__A0A0PCPi[((long unsigned int )3)][3];
-    int *const *const __f63__A0A0CPCPi[][3];
-    int *const *const __f64__A0A0CPCPi[((long unsigned int )3)][3];
-    int __f65__Fi_i_(int );
-    int __f66__Fi_i_(int );
-    int *__f67__FPi_i_(int );
-    int **__f68__FPPi_i_(int );
-    int *const *__f69__FPCPi_i_(int );
-    int *const *const __f70__FCPCPi_i_(int );
-    int *__f71__FPi_i_(int );
-    int **__f72__FPPi_i_(int );
-    int *const *__f73__FPCPi_i_(int );
-    int *const *const __f74__FCPCPi_i_(int );
-    int (*__f75__PFi_i_)(int );
-    int (**__f76__PPFi_i_)(int );
-    int (*const *__f77__PCPFi_i_)(int );
-    int (*const *const __f78__CPCPFi_i_)(int );
-    int (*(*__f79__PFPFi___i_)(int ))();
-    int (*(*const __f80__CPFPFi___i_)(int ))();
-    int (*const (*const __f81__CPFCPFi___i_)(int ))();
-}
Index: src/Tests/Expect-e/IdentFuncParamDeclarator.txt
===================================================================
--- src/Tests/Expect-e/IdentFuncParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,223 +1,0 @@
-fred: function
-    with parameters
-      f1: signed int 
-      f2: signed int 
-      f3: pointer to signed int 
-      f4: pointer to pointer to signed int 
-      f5: pointer to const pointer to signed int 
-      f6: const pointer to const pointer to signed int 
-      f7: pointer to signed int 
-      f8: pointer to pointer to signed int 
-      f9: pointer to const pointer to signed int 
-      f10: const pointer to const pointer to signed int 
-      f11: pointer to signed int 
-      f12: pointer to pointer to signed int 
-      f13: pointer to const pointer to signed int 
-      f14: const pointer to const pointer to signed int 
-      f15: pointer to signed int 
-      f16: pointer to array of constant expression 10 signed int signed int 
-      f17: pointer to signed int 
-      f18: pointer to array of constant expression 10 signed int signed int 
-      f19: pointer to pointer to signed int 
-      f20: pointer to array of constant expression 10 signed int pointer to signed int 
-      f21: pointer to pointer to pointer to signed int 
-      f22: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f23: pointer to pointer to const pointer to signed int 
-      f24: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f25: pointer to const pointer to const pointer to signed int 
-      f26: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f27: pointer to pointer to signed int 
-      f28: pointer to array of constant expression 10 signed int pointer to signed int 
-      f29: pointer to pointer to pointer to signed int 
-      f30: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f31: pointer to pointer to const pointer to signed int 
-      f32: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f33: pointer to const pointer to const pointer to signed int 
-      f34: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f35: pointer to pointer to signed int 
-      f36: pointer to array of constant expression 10 signed int pointer to signed int 
-      f37: pointer to pointer to pointer to signed int 
-      f38: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f39: pointer to pointer to const pointer to signed int 
-      f40: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f41: pointer to const pointer to const pointer to signed int 
-      f42: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f43: pointer to array of signed int with dimension of constant expression 3 signed int 
-      f44: pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f45: pointer to array of signed int with dimension of constant expression 3 signed int 
-      f46: pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f47: pointer to array of signed int with dimension of constant expression 3 signed int 
-      f48: pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f49: pointer to array of pointer to signed int with dimension of constant expression 3 signed int 
-      f50: pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f51: pointer to array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f52: pointer to array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f53: pointer to array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f54: pointer to array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f55: pointer to array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f56: pointer to array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f57: pointer to array of pointer to signed int with dimension of constant expression 3 signed int 
-      f58: pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f59: pointer to array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f60: pointer to array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f61: pointer to array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f62: pointer to array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f63: pointer to array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f64: pointer to array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f65: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f66: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f67: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f68: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      f69: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      f70: pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f71: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f72: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      f73: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      f74: pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f75: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f76: pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f77: pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f78: const pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f79: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f80: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f81: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f82: const pointer to variable length array of signed int 
-      f83: const pointer to array of constant expression 3 signed int signed int 
-      f84: pointer to static array of constant expression 3 signed int signed int 
-      f85: const pointer to static array of constant expression 3 signed int signed int 
-      f86: const pointer to variable length array of signed int 
-      f87: const pointer to array of constant expression 3 signed int signed int 
-      f88: pointer to static array of constant expression 3 signed int signed int 
-      f89: const pointer to static array of constant expression 3 signed int signed int 
-      f90: const pointer to variable length array of pointer to signed int 
-      f91: const pointer to array of constant expression 3 signed int pointer to signed int 
-      f92: pointer to static array of constant expression 3 signed int pointer to pointer to signed int 
-      f93: const pointer to static array of constant expression 3 signed int pointer to const pointer to signed int 
-      f94: const pointer to static array of constant expression 3 signed int const pointer to const pointer to signed int 
-      f95: const pointer to variable length array of pointer to signed int 
-      f96: const pointer to array of constant expression 3 signed int pointer to signed int 
-      f97: pointer to static array of constant expression 3 signed int pointer to pointer to signed int 
-      f98: const pointer to static array of constant expression 3 signed int pointer to const pointer to signed int 
-      f99: const pointer to static array of constant expression 3 signed int const pointer to const pointer to signed int 
-      f100: const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-      f101: const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f102: pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f103: const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f104: const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-      f105: const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f106: pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f107: const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f108: const pointer to variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f109: const pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f110: pointer to static array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f111: const pointer to static array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f112: const pointer to static array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f113: const pointer to variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f114: const pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f115: pointer to static array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f116: const pointer to static array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f117: const pointer to static array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-int __fred__Fi_iiPiPPiPCPiCPCPiPiPPiPCPiCPCPiPiPPiPCPiCPCPiPiPiPiPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPA0iPA0iPA0iPA0iPA0iPA0iPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPFi_i_PFi_i_PFPi_i_PFPPi_i_PFPCPi_i_PFCPCPi_i_PFPi_i_PFPPi_i_PFPCPi_i_PFCPCPi_i_PFi_i_PPFi_i_PCPFi_i_CPCPFi_i_PFPFi___i_CPFPFi___i_CPFCPFi___i_CPiCPiPiCPiCPiCPiPiCPiCPPiCPPiPPPiCPPCPiCPCPCPiCPPiCPPiPPPiCPPCPiCPCPCPiCPA0iCPA0iPA0iCPA0iCPA0iCPA0iPA0iCPA0iCPA0PiCPA0PiPA0PPiCPA0PCPiCPA0CPCPiCPA0PiCPA0PiPA0PPiCPA0PCPiCPA0CPCPi_(int __f1__i, int __f2__i, int *__f3__Pi, int **__f4__PPi, int *const *__f5__PCPi, int *const *const __f6__CPCPi, int *__f7__Pi, int **__f8__PPi, int *const *__f9__PCPi, int *const *const __f10__CPCPi, int *__f11__Pi, int **__f12__PPi, int *const *__f13__PCPi, int *const *const __f14__CPCPi, int *__f15__Pi, int __f16__Pi[10], int *__f17__Pi, int __f18__Pi[10], int **__f19__PPi, int *__f20__PPi[10], int ***__f21__PPPi, int **__f22__PPPi[10], int *const **__f23__PPCPi, int *const *__f24__PPCPi[10], int *const *const *__f25__PCPCPi, int *const *const __f26__PCPCPi[10], int **__f27__PPi, int *__f28__PPi[10], int ***__f29__PPPi, int **__f30__PPPi[10], int *const **__f31__PPCPi, int *const *__f32__PPCPi[10], int *const *const *__f33__PCPCPi, int *const *const __f34__PCPCPi[10], int **__f35__PPi, int *__f36__PPi[10], int ***__f37__PPPi, int **__f38__PPPi[10], int *const **__f39__PPCPi, int *const *__f40__PPCPi[10], int *const *const *__f41__PCPCPi, int *const *const __f42__PCPCPi[10], int (*__f43__PA0i)[3], int __f44__PA0i[3][3], int (*__f45__PA0i)[3], int __f46__PA0i[3][3], int (*__f47__PA0i)[3], int __f48__PA0i[3][3], int *(*__f49__PA0Pi)[3], int *__f50__PA0Pi[3][3], int **(*__f51__PA0PPi)[3], int **__f52__PA0PPi[3][3], int *const *(*__f53__PA0PCPi)[3], int *const *__f54__PA0PCPi[3][3], int *const *const (*__f55__PA0CPCPi)[3], int *const *const __f56__PA0CPCPi[3][3], int *(*__f57__PA0Pi)[3], int *__f58__PA0Pi[3][3], int **(*__f59__PA0PPi)[3], int **__f60__PA0PPi[3][3], int *const *(*__f61__PA0PCPi)[3], int *const *__f62__PA0PCPi[3][3], int *const *const (*__f63__PA0CPCPi)[3], int *const *const __f64__PA0CPCPi[3][3], int (*__f65__PFi_i_)(int ), int (*__f66__PFi_i_)(int ), int *(*__f67__PFPi_i_)(int ), int **(*__f68__PFPPi_i_)(int ), int *const *(*__f69__PFPCPi_i_)(int ), int *const *const (*__f70__PFCPCPi_i_)(int ), int *(*__f71__PFPi_i_)(int ), int **(*__f72__PFPPi_i_)(int ), int *const *(*__f73__PFPCPi_i_)(int ), int *const *const (*__f74__PFCPCPi_i_)(int ), int (*__f75__PFi_i_)(int ), int (**__f76__PPFi_i_)(int ), int (*const *__f77__PCPFi_i_)(int ), int (*const *const __f78__CPCPFi_i_)(int ), int (*(*__f79__PFPFi___i_)(int ))(), int (*(*const __f80__CPFPFi___i_)(int ))(), int (*const (*const __f81__CPFCPFi___i_)(int ))(), int __f82__CPi[const *], int __f83__CPi[const 3], int __f84__Pi[static 3], int __f85__CPi[static const 3], int __f86__CPi[const *], int __f87__CPi[const 3], int __f88__Pi[static 3], int __f89__CPi[static const 3], int *__f90__CPPi[const *], int *__f91__CPPi[const 3], int **__f92__PPPi[static 3], int *const *__f93__CPPCPi[static const 3], int *const *const __f94__CPCPCPi[static const 3], int *__f95__CPPi[const *], int *__f96__CPPi[const 3], int **__f97__PPPi[static 3], int *const *__f98__CPPCPi[static const 3], int *const *const __f99__CPCPCPi[static const 3], int __f100__CPA0i[const *][3], int __f101__CPA0i[const 3][3], int __f102__PA0i[static 3][3], int __f103__CPA0i[static const 3][3], int __f104__CPA0i[const *][3], int __f105__CPA0i[const 3][3], int __f106__PA0i[static 3][3], int __f107__CPA0i[static const 3][3], int *__f108__CPA0Pi[const *][3], int *__f109__CPA0Pi[const 3][3], int **__f110__PA0PPi[static 3][3], int *const *__f111__CPA0PCPi[static const 3][3], int *const *const __f112__CPA0CPCPi[static const 3][3], int *__f113__CPA0Pi[const *][3], int *__f114__CPA0Pi[const 3][3], int **__f115__PA0PPi[static 3][3], int *const *__f116__CPA0PCPi[static const 3][3], int *const *const __f117__CPA0CPCPi[static const 3][3]){
-}
Index: src/Tests/Expect-e/InferParam.txt
===================================================================
--- src/Tests/Expect-e/InferParam.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,358 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-?=?: function
-    with parameters
-      pointer to double 
-      double 
-    returning 
-      double 
-
-g: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          f: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      float 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      double 
-
-i: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-h: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of a: signed int 
-                  Expression Statement:
-            Application of
-              Variable Expression: i: function
-                  with parameters
-                    float 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Application of
-                  Variable Expression: g: forall
-                        T: type
-                          with assertions
-                            ?=?: pointer to function
-                                with parameters
-                                  pointer to instance of type T (not function type) 
-                                  instance of type T (not function type) 
-                                returning 
-                                  instance of type T (not function type) 
-
-
-                        U: type
-                          with assertions
-                            ?=?: pointer to function
-                                with parameters
-                                  pointer to instance of type U (not function type) 
-                                  instance of type U (not function type) 
-                                returning 
-                                  instance of type U (not function type) 
-
-                            f: pointer to function
-                                with parameters
-                                  instance of type T (not function type) 
-                                returning 
-                                  instance of type U (not function type) 
-
-
-                      function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                to arguments
-                                      Variable Expression: a: signed int 
-
-                with inferred parameters:
-                  ?=?: function
-                    with parameters
-                      pointer to signed int 
-                      signed int 
-                    returning 
-                      signed int 
-
-                  ?=?: function
-                    with parameters
-                      pointer to float 
-                      float 
-                    returning 
-                      float 
-
-                  f: function
-                    with parameters
-                      signed int 
-                    returning 
-                      float 
-
-
-            with environment:
-              Types:
-                _0_T -> signed int 
-                _1_U -> float 
-              Non-types:
-
-
-context has_f_and_j
-    with parameters
-      T: type
-      U: type
-
-    with members
-      f: function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type U (not function type) 
-
-      j: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type U (not function type) 
-          returning 
-            instance of type U (not function type) 
-
-
-j: function
-    with parameters
-      signed int 
-      float 
-    returning 
-      float 
-
-k: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          f: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          j: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-l: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of b: signed int 
-                  Expression Statement:
-            Application of
-              Variable Expression: i: function
-                  with parameters
-                    float 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Application of
-                  Variable Expression: k: forall
-                        T: type
-                          with assertions
-                            ?=?: pointer to function
-                                with parameters
-                                  pointer to instance of type T (not function type) 
-                                  instance of type T (not function type) 
-                                returning 
-                                  instance of type T (not function type) 
-
-
-                        U: type
-                          with assertions
-                            ?=?: pointer to function
-                                with parameters
-                                  pointer to instance of type U (not function type) 
-                                  instance of type U (not function type) 
-                                returning 
-                                  instance of type U (not function type) 
-
-                            f: pointer to function
-                                with parameters
-                                  instance of type T (not function type) 
-                                returning 
-                                  instance of type U (not function type) 
-
-                            j: pointer to function
-                                with parameters
-                                  instance of type T (not function type) 
-                                  instance of type U (not function type) 
-                                returning 
-                                  instance of type U (not function type) 
-
-
-                      function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                to arguments
-                                      Variable Expression: b: signed int 
-
-                with inferred parameters:
-                  ?=?: function
-                    with parameters
-                      pointer to signed int 
-                      signed int 
-                    returning 
-                      signed int 
-
-                  ?=?: function
-                    with parameters
-                      pointer to float 
-                      float 
-                    returning 
-                      float 
-
-                  f: function
-                    with parameters
-                      signed int 
-                    returning 
-                      float 
-
-                  j: function
-                    with parameters
-                      signed int 
-                      float 
-                    returning 
-                      float 
-
-
-            with environment:
-              Types:
-                _0_T -> signed int 
-                _1_U -> float 
-              Non-types:
-
-
-int ___operator_assign__Fi_Pii_(int *, int );
-float ___operator_assign__Ff_Pff_(float *, float );
-double ___operator_assign__Fd_Pdd_(double *, double );
-void __g__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0__Ft1_t0_(void (*_adapterF2tU_2tT_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, long unsigned int U, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__f__PF2tU_2tT_)(), void *, void *);
-float __f__Ff_i_(int );
-double __f__Fd_i_(int );
-void __i__F_f_(float );
-void __h__F__(){
-    int __a__i;
-    float _temp0;
-    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
-    }
-    void _adapterFf_Pff_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((float *)_ret))=((float (*)(float *, float ))_adaptee)(_p0, (*((float *)_p1))));
-    }
-    void _adapterFf_i_(void (*_adaptee)(), void *_ret, void *_p0){
-        ((*((float *)_ret))=((float (*)(int ))_adaptee)((*((int *)_p0))));
-    }
-    __i__F_f_((__g__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0__Ft1_t0_(_adapterFf_i_, _adapterFf_Pff_, _adapterFi_Pii_, sizeof(int ), sizeof(float ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_assign__Ff_Pff_), ((void (*)())__f__Ff_i_), (&_temp0), (&__a__i)) , _temp0));
-}
-;
-float __j__Ff_if_(int , float );
-void __k__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0___j__PFt1_t0t1__Ft1_t0_(void (*_adapterF2tU_2tT2tU_)(void (*)(), void *, void *, void *), void (*_adapterF2tU_2tT_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, long unsigned int U, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__f__PF2tU_2tT_)(), void (*__j__PF2tU_2tT2tU_)(), void *, void *);
-void __l__F__(){
-    int __b__i;
-    float _temp1;
-    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
-    }
-    void _adapterFf_Pff_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((float *)_ret))=((float (*)(float *, float ))_adaptee)(_p0, (*((float *)_p1))));
-    }
-    void _adapterFf_i_(void (*_adaptee)(), void *_ret, void *_p0){
-        ((*((float *)_ret))=((float (*)(int ))_adaptee)((*((int *)_p0))));
-    }
-    void _adapterFf_if_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((float *)_ret))=((float (*)(int , float ))_adaptee)((*((int *)_p0)), (*((float *)_p1))));
-    }
-    __i__F_f_((__k__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0___j__PFt1_t0t1__Ft1_t0_(_adapterFf_if_, _adapterFf_i_, _adapterFf_Pff_, _adapterFi_Pii_, sizeof(int ), sizeof(float ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_assign__Ff_Pff_), ((void (*)())__f__Ff_i_), ((void (*)())__j__Ff_if_), (&_temp1), (&__b__i)) , _temp1));
-}
Index: src/Tests/Expect-e/Initialization.txt
===================================================================
--- src/Tests/Expect-e/Initialization.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,398 +1,0 @@
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        w: tuple of types
-          signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      w: tuple of types
-        signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Tuple:
-    constant expression 2 signed int 
-
-to:
-  instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        b: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      b: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Name: 1
-
-Error: No reasonable alternatives for expression Name: 1
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 2 signed int 
-to:
-  pointer to instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        g1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      g1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        g2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      g2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        g3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      g3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      f1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      f2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      f3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 7 signed int 
-to:
-  instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      y3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        z: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-    Member Expression, with field: 
-      z: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        w: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-    Member Expression, with field: 
-      w: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        v: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      v: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        w: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      w: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        z: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      z: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 6 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 17 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct point 
-
Index: src/Tests/Expect-e/Initialization2.txt
===================================================================
--- src/Tests/Expect-e/Initialization2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,462 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 7 signed int 
-to:
-  instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous5 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous5 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous5 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous5 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous6 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous6 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 9 signed int 
-to:
-  instance of struct __anonymous6 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 8 signed int 
-to:
-  instance of struct __anonymous6 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 7 signed int 
-to:
-  instance of struct __anonymous6 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous7 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous7 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous7 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous7 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous8 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous8 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 7 signed int 
-to:
-  instance of struct __anonymous8 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 9 signed int 
-to:
-  instance of struct __anonymous8 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 8 signed int 
-to:
-  instance of struct __anonymous8 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous9 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous9 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous9 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous9 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous10 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous10 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous10 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous10 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct __anonymous10 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct t 
-    Member Expression, with field: 
-      a: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct t 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        b: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct t 
-    Member Expression, with field: 
-      b: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct t 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct t 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct t 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous11 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous11 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous11 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous11 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct __anonymous11 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 6 signed int 
-to:
-  instance of struct __anonymous11 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous11 
-
Index: src/Tests/Expect-e/LabelledExit.txt
===================================================================
--- src/Tests/Expect-e/LabelledExit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Error: 'continue' target label must be an enclosing loop: 
Index: src/Tests/Expect-e/Members.txt
===================================================================
--- src/Tests/Expect-e/Members.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,674 +1,0 @@
-?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-*?: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type T (not function type) 
-    returning 
-      lvalue instance of type T (not function type) 
-
-__builtin_memcpy: function
-      accepting unspecified arguments
-    returning 
-      pointer to char 
-
-a: function
-    with parameters
-      char 
-    returning 
-      nothing 
-
-b: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-c: function
-    with parameters
-      pointer to signed int 
-    returning 
-      nothing 
-
-d: function
-    with parameters
-      pointer to float 
-    returning 
-      nothing 
-
-struct a_struct
-    with members
-      a: signed int 
-      a: char 
-      a: float 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: ?=?: function
-                  with parameters
-                    pointer to signed int 
-                    signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Address of:
-                  Member Expression, with field: 
-                    a: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                              Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct a_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: ?=?: function
-                  with parameters
-                    pointer to char 
-                    char 
-                  returning 
-                    char 
-
-            to arguments
-                              Address of:
-                  Member Expression, with field: 
-                    a: char 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                              Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct a_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: ?=?: function
-                  with parameters
-                    pointer to float 
-                    float 
-                  returning 
-                    float 
-
-            to arguments
-                              Address of:
-                  Member Expression, with field: 
-                    a: float 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                              Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct a_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct a_struct 
-
-to:
-  instance of struct a_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-union b_struct
-    with members
-      a: pointer to signed int 
-      a: pointer to char 
-      a: pointer to float 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: __builtin_memcpy: function
-                    accepting unspecified arguments
-                  returning 
-                    pointer to char 
-
-            to arguments
-                              Variable Expression: _dst: pointer to instance of union b_struct 
-
-                              Address of:
-                  Variable Expression: _src: instance of union b_struct 
-
-                              Sizeof Expression on: instance of union b_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of union b_struct 
-
-to:
-  instance of union b_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of the_struct: instance of struct a_struct 
-        Declaration of the_struct: instance of union b_struct 
-                  Expression Statement:
-            Application of
-              Variable Expression: a: function
-                  with parameters
-                    char 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Variable Expression: the_struct: instance of struct a_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: b: function
-                  with parameters
-                    signed int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Variable Expression: the_struct: instance of struct a_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: c: function
-                  with parameters
-                    pointer to signed int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Member Expression, with field: 
-                  a: pointer to signed int 
-                from aggregate: 
-                  Variable Expression: the_struct: instance of union b_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: d: function
-                  with parameters
-                    pointer to float 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Member Expression, with field: 
-                  a: pointer to float 
-                from aggregate: 
-                  Variable Expression: the_struct: instance of union b_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-
-struct c_struct
-    with members
-      signed int 
-      char 
-      float 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: ?=?: function
-                  with parameters
-                    pointer to signed int 
-                    signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Address of:
-                  Member Expression, with field: 
-                    signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                              Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct c_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: ?=?: function
-                  with parameters
-                    pointer to char 
-                    char 
-                  returning 
-                    char 
-
-            to arguments
-                              Address of:
-                  Member Expression, with field: 
-                    char 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                              Member Expression, with field: 
-                  char 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct c_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: ?=?: function
-                  with parameters
-                    pointer to float 
-                    float 
-                  returning 
-                    float 
-
-            to arguments
-                              Address of:
-                  Member Expression, with field: 
-                    float 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                              Member Expression, with field: 
-                  float 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct c_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct c_struct 
-
-to:
-  instance of struct c_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-union d_struct
-    with members
-      pointer to signed int 
-      pointer to char 
-      pointer to float 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of union d_struct 
-      _src: instance of union d_struct 
-    returning 
-      instance of union d_struct 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: __builtin_memcpy: function
-                    accepting unspecified arguments
-                  returning 
-                    pointer to char 
-
-            to arguments
-                              Variable Expression: _dst: pointer to instance of union d_struct 
-
-                              Address of:
-                  Variable Expression: _src: instance of union d_struct 
-
-                              Sizeof Expression on: instance of union d_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of union d_struct 
-
-to:
-  instance of union d_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-g: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of x: short unsigned int 
-        Declaration of x: instance of struct c_struct 
-        Declaration of x: instance of union d_struct 
-                  Expression Statement:
-            Application of
-              Variable Expression: a: function
-                  with parameters
-                    char 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Cast of:
-                  Variable Expression: x: short unsigned int 
-
-                to:
-                  char 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: b: function
-                  with parameters
-                    signed int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Cast of:
-                  Variable Expression: x: short unsigned int 
-
-                to:
-                  signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: c: function
-                  with parameters
-                    pointer to signed int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Variable Expression: x: instance of union d_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: d: function
-                  with parameters
-                    pointer to float 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Member Expression, with field: 
-                  pointer to float 
-                from aggregate: 
-                  Variable Expression: x: instance of union d_struct 
-
-            with environment:
-              Types:
-              Non-types:
-
-
-struct forward
-q: pointer to instance of struct forward 
-struct forward
-    with members
-      y: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct forward 
-      _src: instance of struct forward 
-    returning 
-      instance of struct forward 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: ?=?: function
-                  with parameters
-                    pointer to signed int 
-                    signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Address of:
-                  Member Expression, with field: 
-                    y: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct forward 
-
-                              Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct forward 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct forward 
-
-to:
-  instance of struct forward 
-with environment:
-  Types:
-  Non-types:
-
-
-
-h: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Member Expression, with field: 
-              y: signed int 
-            from aggregate: 
-              Application of
-                Variable Expression: *?: forall
-                      T: type
-                        with assertions
-                          ?=?: pointer to function
-                              with parameters
-                                pointer to instance of type T (not function type) 
-                                instance of type T (not function type) 
-                              returning 
-                                instance of type T (not function type) 
-
-
-                    function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                    returning 
-                      lvalue instance of type T (not function type) 
-
-              to arguments
-                                  Variable Expression: q: pointer to instance of struct forward 
-
-              with inferred parameters:
-                ?=?: inline static function
-                  with parameters
-                    _dst: pointer to instance of struct forward 
-                    _src: instance of struct forward 
-                  returning 
-                    instance of struct forward 
-
-            with environment:
-              Types:
-              Non-types:
-
-
-Error: unbound type variable in application Application of
-  Variable Expression: *?: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        pointer to instance of type T (not function type) 
-      returning 
-        pointer to instance of type T (not function type) 
-
-to arguments
-      Variable Expression: q: pointer to instance of struct forward 
-
-with inferred parameters:
-  ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct forward 
-      _src: instance of struct forward 
-    returning 
-      instance of struct forward 
-
-
Index: src/Tests/Expect-e/Misc.txt
===================================================================
--- src/Tests/Expect-e/Misc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,102 +1,0 @@
-a: signed int 
-b: signed int 
-b: float 
-g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: g: function
-                  with parameters
-                    signed int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Comma Expression:
-                  Variable Expression: a: signed int 
-
-                  Variable Expression: b: signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: g: function
-                  with parameters
-                    signed int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Comma Expression:
-                  Comma Expression:
-                    Variable Expression: a: signed int 
-
-                    Variable Expression: a: signed int 
-
-                  Variable Expression: b: signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: g: function
-                  with parameters
-                    unsigned int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Sizeof Expression on:                   Variable Expression: a: signed int 
-
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: g: function
-                  with parameters
-                    unsigned int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Sizeof Expression on: signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-
-int __a__i;
-int __b__i;
-float __b__f;
-void __g__F_i_(int );
-void __g__F_Ui_(unsigned int );
-void __f__F__(void){
-    __g__F_i_((__a__i , __b__i));
-    __g__F_i_(((__a__i , __a__i) , __b__i));
-    __g__F_Ui_(sizeof(__a__i));
-    __g__F_Ui_(sizeof(int ));
-}
Index: src/Tests/Expect-e/MiscError.txt
===================================================================
--- src/Tests/Expect-e/MiscError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,83 +1,0 @@
-Error: Can't choose between alternatives for expression Cast of:
-  Name: b
-
-to:
-  nothing
-Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: signed int 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: float 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-
-Error: Can't choose between alternatives for expression Cast of:
-  Name: b
-
-to:
-  nothing
-Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: signed int 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: float 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-
-Error: Can't choose between alternatives for expression Cast of:
-  Comma Expression:
-    Name: a
-
-    Name: b
-
-to:
-  nothing
-Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: b: signed int 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-        Cost ( 0, 0, 1 ):         Cast of:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: b: float 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-
-Error: Ambiguous expression in sizeof operand: Name: b
-
Index: src/Tests/Expect-e/NamedParmArg.txt
===================================================================
--- src/Tests/Expect-e/NamedParmArg.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,37 +1,0 @@
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f1
-...to: 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f1
-...to: 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f1
-...to: 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f2
-...to: 
-with designator:  Tuple:
-          Name: j
-
-          Name: i
-
-
Index: src/Tests/Expect-e/NumericConstants.txt
===================================================================
--- src/Tests/Expect-e/NumericConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Error: No reasonable alternatives for expression Name: 1
-
Index: src/Tests/Expect-e/OccursError.txt
===================================================================
--- src/Tests/Expect-e/OccursError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,5 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f
-...to: 
-    Name: g
-
Index: src/Tests/Expect-e/Operators.txt
===================================================================
--- src/Tests/Expect-e/Operators.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,243 +1,0 @@
-?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-?(): function
-    with parameters
-      number1: signed int 
-      number2: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?*?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: number1: signed int 
-
-          Variable Expression: number2: signed int 
-
-
-to:
-  signed int 
-with environment:
-  Types:
-  Non-types:
-
-
-
-?+?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-struct accumulator
-    with members
-      total: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct accumulator 
-      _src: instance of struct accumulator 
-    returning 
-      instance of struct accumulator 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: ?=?: function
-                  with parameters
-                    pointer to signed int 
-                    signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Address of:
-                  Member Expression, with field: 
-                    total: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct accumulator 
-
-                              Member Expression, with field: 
-                  total: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct accumulator 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct accumulator 
-
-to:
-  instance of struct accumulator 
-with environment:
-  Types:
-  Non-types:
-
-
-
-?(): function
-    with parameters
-      a: instance of struct accumulator 
-      number1: char 
-      number2: char 
-    returning 
-      char 
-
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of a: char 
-        Declaration of b: char 
-                  Expression Statement:
-            Application of
-              Variable Expression: ?(): function
-                  with parameters
-                    number1: signed int 
-                    number2: signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Cast of:
-                  Variable Expression: a: char 
-
-                to:
-                  signed int 
-
-                              Cast of:
-                  Variable Expression: b: char 
-
-                to:
-                  signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: ?(): function
-                  with parameters
-                    number1: signed int 
-                    number2: signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Cast of:
-                  Variable Expression: a: char 
-
-                to:
-                  signed int 
-
-                              Cast of:
-                  Variable Expression: b: char 
-
-                to:
-                  signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: ?+?: function
-                  with parameters
-                    signed int 
-                    signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Cast of:
-                  Variable Expression: a: char 
-
-                to:
-                  signed int 
-
-                              Cast of:
-                  Variable Expression: b: char 
-
-                to:
-                  signed int 
-
-            with environment:
-              Types:
-              Non-types:
-
-        Declaration of ?+?: instance of struct accumulator 
-                  Expression Statement:
-            Application of
-              Variable Expression: ?(): function
-                  with parameters
-                    a: instance of struct accumulator 
-                    number1: char 
-                    number2: char 
-                  returning 
-                    char 
-
-            to arguments
-                              Variable Expression: ?+?: instance of struct accumulator 
-
-                              Variable Expression: a: char 
-
-                              Variable Expression: b: char 
-
-            with environment:
-              Types:
-              Non-types:
-
-
-int ___operator_multiply__Fi_ii_(int , int );
-int ___operator_call__Fi_ii_(int __number1__i, int __number2__i){
-    return ___operator_multiply__Fi_ii_(__number1__i, __number2__i);
-}
-int ___operator_add__Fi_ii_(int , int );
-int ___operator_assign__Fi_Pii_(int *, int );
-struct accumulator
-{
-    int __total__i;
-};
-static inline struct accumulator ___operator_assign__F12saccumulator_P12saccumulator12saccumulator_(struct accumulator *___dst__P12saccumulator, struct accumulator ___src__12saccumulator){
-    ___operator_assign__Fi_Pii_((&(*___dst__P12saccumulator).__total__i), ___src__12saccumulator.__total__i);
-    return ___src__12saccumulator;
-}
-char ___operator_call__Fc_12saccumulatorcc_(struct accumulator __a__12saccumulator, char __number1__c, char __number2__c);
-void __f__F__(void){
-    char __a__c;
-    char __b__c;
-    ___operator_call__Fi_ii_(((int )__a__c), ((int )__b__c));
-    ___operator_call__Fi_ii_(((int )__a__c), ((int )__b__c));
-    ___operator_add__Fi_ii_(((int )__a__c), ((int )__b__c));
-    struct accumulator ___operator_add__12saccumulator;
-    ___operator_call__Fc_12saccumulatorcc_(___operator_add__12saccumulator, __a__c, __b__c);
-}
Index: src/Tests/Expect-e/Quad.txt
===================================================================
--- src/Tests/Expect-e/Quad.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,235 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-square: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?*?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?*?: pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: t: instance of type T (not function type) 
-
-          Variable Expression: t: instance of type T (not function type) 
-
-
-to:
-  instance of type T (not function type) 
-with environment:
-  Types:
-  Non-types:
-
-
-
-quad: forall
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          square: pointer to function
-              with parameters
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      u: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: square: pointer to function
-        with parameters
-          instance of type U (not function type) 
-        returning 
-          instance of type U (not function type) 
-
-  to arguments
-          Application of
-        Variable Expression: square: pointer to function
-            with parameters
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-      to arguments
-                  Variable Expression: u: instance of type U (not function type) 
-
-
-
-to:
-  instance of type U (not function type) 
-with environment:
-  Types:
-  Non-types:
-
-
-
-f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Application of
-              Variable Expression: quad: forall
-                    U: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type U (not function type) 
-                              instance of type U (not function type) 
-                            returning 
-                              instance of type U (not function type) 
-
-                        square: pointer to function
-                            with parameters
-                              instance of type U (not function type) 
-                            returning 
-                              instance of type U (not function type) 
-
-
-                  function
-                  with parameters
-                    u: instance of type U (not function type) 
-                  returning 
-                    instance of type U (not function type) 
-
-            to arguments
-              constant expression 7 signed int 
-            with inferred parameters:
-              ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-              ?*?: function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-              ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-              square: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-                      ?*?: pointer to function
-                          with parameters
-                            instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                function
-                with parameters
-                  t: instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-            with environment:
-              Types:
-                _0_U -> signed int 
-                _1_T -> signed int 
-              Non-types:
-
-
-int ___operator_assign__Fi_Pii_(int *, int );
-int ___operator_multiply__Fi_ii_(int , int );
-void __square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(void (*_adapterF2tT_2tT2tT_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_multiply__PF2tT_2tT2tT_)(), void *_retparm, void *__t__2tT){
-    _adapterF2tT_2tT2tT_(___operator_multiply__PF2tT_2tT2tT_, _retparm, __t__2tT, __t__2tT);
-    return ;
-}
-void __quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(void (*_adapterF2tU_2tU_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), long unsigned int U, void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__square__PF2tU_2tU_)(), void *_retparm, void *__u__2tU){
-    void *_temp0;
-    (_temp0=__builtin_alloca(U));
-    _adapterF2tU_2tU_(__square__PF2tU_2tU_, _retparm, (_adapterF2tU_2tU_(__square__PF2tU_2tU_, _temp0, __u__2tU) , _temp0));
-    return ;
-}
-void __f__F__(){
-    int _thunk0(int _p0){
-        int _temp1;
-        void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-            ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
-        }
-        void _adapterFi_ii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-            ((*((int *)_ret))=((int (*)(int , int ))_adaptee)((*((int *)_p0)), (*((int *)_p1))));
-        }
-        return (__square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(_adapterFi_ii_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_multiply__Fi_ii_), (&_temp1), (&_p0)) , _temp1);
-    }
-    int _temp2;
-    int _temp3;
-    (_temp3=7);
-    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
-    }
-    void _adapterFi_i_(void (*_adaptee)(), void *_ret, void *_p0){
-        ((*((int *)_ret))=((int (*)(int ))_adaptee)((*((int *)_p0))));
-    }
-    (__quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(_adapterFi_i_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())(&_thunk0)), (&_temp2), (&_temp3)) , _temp2);
-}
Index: src/Tests/Expect-e/Rank2.txt
===================================================================
--- src/Tests/Expect-e/Rank2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,301 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-a: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              nothing 
-
-        Declaration of g: function
-            with parameters
-              p: pointer to forall
-                    U: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type U (not function type) 
-                              instance of type U (not function type) 
-                            returning 
-                              instance of type U (not function type) 
-
-
-                  function
-                  with parameters
-                    instance of type U (not function type) 
-                  returning 
-                    nothing 
-
-            returning 
-              nothing 
-
-                  Expression Statement:
-            Application of
-              Variable Expression: g: function
-                  with parameters
-                    p: pointer to forall
-                          U: type
-                            with assertions
-                              ?=?: pointer to function
-                                  with parameters
-                                    pointer to instance of type U (not function type) 
-                                    instance of type U (not function type) 
-                                  returning 
-                                    instance of type U (not function type) 
-
-
-                        function
-                        with parameters
-                          instance of type U (not function type) 
-                        returning 
-                          nothing 
-
-                  returning 
-                    nothing 
-
-            to arguments
-                              Variable Expression: f: forall
-                      T: type
-                        with assertions
-                          ?=?: pointer to function
-                              with parameters
-                                pointer to instance of type T (not function type) 
-                                instance of type T (not function type) 
-                              returning 
-                                instance of type T (not function type) 
-
-
-                    function
-                    with parameters
-                      instance of type T (not function type) 
-                    returning 
-                      nothing 
-
-
-            with inferred parameters:
-              ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            with environment:
-              Types:
-                _1_T -> instance of type _0_U (not function type) 
-              Non-types:
-
-
-g: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of h: function
-            with parameters
-              null: pointer to signed int 
-            returning 
-              nothing 
-
-        Declaration of id: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        Declaration of 0: forall
-              T: incomplete type
-            pointer to instance of type T (not function type) 
-        Declaration of 0: signed int 
-                  Expression Statement:
-            Application of
-              Variable Expression: h: function
-                  with parameters
-                    null: pointer to signed int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Application of
-                  Variable Expression: id: forall
-                        T: type
-                          with assertions
-                            ?=?: pointer to function
-                                with parameters
-                                  pointer to instance of type T (not function type) 
-                                  instance of type T (not function type) 
-                                returning 
-                                  instance of type T (not function type) 
-
-
-                      function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-                to arguments
-                                      Application of
-                      Variable Expression: id: forall
-                            T: type
-                              with assertions
-                                ?=?: pointer to function
-                                    with parameters
-                                      pointer to instance of type T (not function type) 
-                                      instance of type T (not function type) 
-                                    returning 
-                                      instance of type T (not function type) 
-
-
-                          function
-                          with parameters
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-                    to arguments
-                                              Application of
-                          Variable Expression: id: forall
-                                T: type
-                                  with assertions
-                                    ?=?: pointer to function
-                                        with parameters
-                                          pointer to instance of type T (not function type) 
-                                          instance of type T (not function type) 
-                                        returning 
-                                          instance of type T (not function type) 
-
-
-                              function
-                              with parameters
-                                instance of type T (not function type) 
-                              returning 
-                                instance of type T (not function type) 
-
-                        to arguments
-                                                      Variable Expression: 0: forall
-                                  T: incomplete type
-                                pointer to instance of type T (not function type) 
-
-                        with inferred parameters:
-                          ?=?: forall
-                              DT: incomplete type
-                            function
-                            with parameters
-                              pointer to pointer to instance of type DT (not function type) 
-                              pointer to instance of type DT (not function type) 
-                            returning 
-                              pointer to instance of type DT (not function type) 
-
-
-                    with inferred parameters:
-                      ?=?: forall
-                          DT: incomplete type
-                        function
-                        with parameters
-                          pointer to pointer to instance of type DT (not function type) 
-                          pointer to instance of type DT (not function type) 
-                        returning 
-                          pointer to instance of type DT (not function type) 
-
-
-                with inferred parameters:
-                  ?=?: forall
-                      DT: incomplete type
-                    function
-                    with parameters
-                      pointer to pointer to instance of type DT (not function type) 
-                      pointer to instance of type DT (not function type) 
-                    returning 
-                      pointer to instance of type DT (not function type) 
-
-
-            with environment:
-              Types:
-                _0_T -> forall
-                      _3_T: incomplete type
-                    pointer to instance of type _3_T (not function type) 
-                _1_T -> forall
-                      _3_T: incomplete type
-                    pointer to instance of type _3_T (not function type) 
-                _2_T -> forall
-                      _3_T: incomplete type
-                    pointer to instance of type _3_T (not function type) 
-                _3_T -> signed int 
-                _5_DT -> signed int 
-                _7_DT -> signed int 
-                _9_DT -> signed int 
-              Non-types:
-
-
-int ___operator_assign__Fi_Pii_(int *, int );
-void *___operator_assign__A0_1_0__FPd0_PPd0Pd0_(void **, void *);
-void __a__F__(){
-    void __f__A1_0_0____operator_assign__PFt0_Pt0t0__F_t0_(void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void *);
-    void __g__F_PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0__(void (*__p__PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0_)(void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), long unsigned int U, void (*___operator_assign__PF2tU_P2tU2tU_)(), void *));
-    __g__F_PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0__(__f__A1_0_0____operator_assign__PFt0_Pt0t0__F_t0_);
-}
-void __g__F__(){
-    void __h__F_Pi_(int *__null__Pi);
-    void __id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void *, void *);
-    void *___constant_zero__A0_1_0__Pd0;
-    int ___constant_zero__i;
-    void *_thunk0(void **_p0, void *_p1){
-        return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
-    }
-    void *_thunk1(void **_p0, void *_p1){
-        return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
-    }
-    void *_thunk2(void **_p0, void *_p1){
-        return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
-    }
-    void *_temp0;
-    void _adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((_3_T **)_ret))=((void *(*)(void **, void *))_adaptee)(_p0, (*((_3_T **)_p1))));
-    }
-    void *_temp1;
-    void *_temp2;
-    __h__F_Pi_((__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk2)), (&_temp2), (&(__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk1)), (&_temp1), (&(__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk0)), (&_temp0), (&___constant_zero__A0_1_0__Pd0)) , _temp0))) , _temp1))) , _temp2));
-}
Index: src/Tests/Expect-e/Scope.txt
===================================================================
--- src/Tests/Expect-e/Scope.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,73 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      a: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        b: double 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      b: double 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-to:
-  pointer to instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: y
-
-to:
-  instance of type u (not function type) 
-
-Error: No reasonable alternatives for expression Name: u
-
-Error: No reasonable alternatives for expression Name: u
-
-Error: No reasonable alternatives for expression Name: u
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: z
-    Name: x
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: x
-    Name: y
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: q
-    Name: y
-
-Error: No reasonable alternatives for expression Name: some_func
-
Index: src/Tests/Expect-e/ScopeErrors.txt
===================================================================
--- src/Tests/Expect-e/ScopeErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Error: duplicate function definition for butThisIsAnError: function
-  with parameters
-    double 
-  returning 
-    double 
-  with body 
-    CompoundStmt
-
Index: src/Tests/Expect-e/ShortCircuit.txt
===================================================================
--- src/Tests/Expect-e/ShortCircuit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,188 +1,0 @@
-?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-0: signed int 
-g: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      a: signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of b: signed int 
-        Declaration of c: float 
-                  Expression Statement:
-            Application of
-              Variable Expression: g: function
-                  with parameters
-                    float 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Conditional expression on: 
-                  Cast of:
-                    Application of
-                      Variable Expression: ?!=?: function
-                          with parameters
-                            signed int 
-                            signed int 
-                          returning 
-                            signed int 
-
-                    to arguments
-                                              Variable Expression: a: signed int 
-
-                                              Variable Expression: 0: signed int 
-
-
-                  to:
-                    signed int 
-                First alternative:
-                  Variable Expression: b: signed int 
-                Second alternative:
-                  Variable Expression: c: float 
-
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: g: function
-                  with parameters
-                    signed int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
-
-            with environment:
-              Types:
-              Non-types:
-
-                  Expression Statement:
-            Application of
-              Variable Expression: g: function
-                  with parameters
-                    signed int 
-                  returning 
-                    nothing 
-
-            to arguments
-                              Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
-
-            with environment:
-              Types:
-              Non-types:
-
-
-int ___operator_notequal__Fi_ii_(int , int );
-int ___operator_notequal__Fi_ff_(float , float );
-int ___constant_zero__i;
-void __g__F_f_(float );
-void __g__F_i_(int );
-void __f__F_i_(int __a__i){
-    int __b__i;
-    float __c__f;
-    __g__F_f_((((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i)) ? __b__i : __c__f));
-    __g__F_i_((((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i)) && ((int )___operator_notequal__Fi_ff_(__c__f, ((float )___constant_zero__i)))));
-    __g__F_i_((((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i)) || ((int )___operator_notequal__Fi_ii_(__b__i, ___constant_zero__i))));
-}
Index: src/Tests/Expect-e/Statement.txt
===================================================================
--- src/Tests/Expect-e/Statement.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,190 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-0: signed int 
-f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of a: signed int 
-        Declaration of struct __anonymous0
-            with members
-              b: signed int 
-
-        Declaration of ?=?: automatically generated inline function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-            with body 
-              CompoundStmt
-                                  Expression Statement:
-                    Application of
-                      Variable Expression: ?=?: function
-                          with parameters
-                            pointer to signed int 
-                            signed int 
-                          returning 
-                            signed int 
-
-                    to arguments
-                                              Address of:
-                          Member Expression, with field: 
-                            b: signed int 
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous0 
-
-                                              Member Expression, with field: 
-                          b: signed int 
-                        from aggregate: 
-                          Variable Expression: _src: instance of struct __anonymous0 
-
-                    with environment:
-                      Types:
-                      Non-types:
-
-                                  Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-        Declaration of a: instance of struct __anonymous0 
-                  If on condition: 
-              Cast of:
-                Application of
-                  Variable Expression: ?!=?: function
-                      with parameters
-                        signed int 
-                        signed int 
-                      returning 
-                        signed int 
-
-                to arguments
-                                      Variable Expression: a: signed int 
-
-                                      Variable Expression: 0: signed int 
-
-
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-          .... and branches: 
-              CompoundStmt
-                                  While on condition: 
-                      Cast of:
-                        Application of
-                          Variable Expression: ?!=?: function
-                              with parameters
-                                signed int 
-                                signed int 
-                              returning 
-                                signed int 
-
-                        to arguments
-                                                      Variable Expression: a: signed int 
-
-                                                      Variable Expression: 0: signed int 
-
-
-                      to:
-                        signed int 
-                      with environment:
-                        Types:
-                        Non-types:
-                  .... with body: 
-                      CompoundStmt
-                        Declaration of b: pointer to signed int 
-                                                  Labels: {}
-                          For Statement
-                            initialization: 
-                              Expression Statement:
-                                Variable Expression: b: pointer to signed int 
-                                with environment:
-                                  Types:
-                                  Non-types:
-
-                            condition: 
-                              Cast of:
-                                Application of
-                                  Variable Expression: ?!=?: function
-                                      with parameters
-                                        signed int 
-                                        signed int 
-                                      returning 
-                                        signed int 
-
-                                to arguments
-                                                                      Variable Expression: a: signed int 
-
-                                                                      Variable Expression: 0: signed int 
-
-
-                              to:
-                                signed int 
-                              with environment:
-                                Types:
-                                Non-types:
-
-                            increment: 
-                              Variable Expression: b: pointer to signed int 
-                              with environment:
-                                Types:
-                                Non-types:
-
-                            statement block: 
-                              CompoundStmt
-
-
-
-
-
-int ___operator_assign__Fi_Pii_(int *, int );
-int ___operator_notequal__Fi_ii_(int , int );
-int ___constant_zero__i;
-void __f__F__(){
-    int __a__i;
-    struct __anonymous0
-    {
-        int __b__i;
-    };
-    inline struct __anonymous0 ___operator_assign__F13s__anonymous0_P13s__anonymous013s__anonymous0_(struct __anonymous0 *___dst__P13s__anonymous0, struct __anonymous0 ___src__13s__anonymous0){
-        ___operator_assign__Fi_Pii_((&(*___dst__P13s__anonymous0).__b__i), ___src__13s__anonymous0.__b__i);
-        return ___src__13s__anonymous0;
-    }
-    struct __anonymous0 __a__13s__anonymous0;
-    if (((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i))) {
-        while (((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i))) {
-            int *__b__Pi;
-            for (__b__Pi;((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i));__b__Pi) {
-            }
-
-        }        
-
-    }
-
-}
Index: src/Tests/Expect-e/StructMember.txt
===================================================================
--- src/Tests/Expect-e/StructMember.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,560 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m1: signed int with bitfield width constant expression 3 signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m1: signed int with bitfield width constant expression 3 signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m2: signed int with bitfield width constant expression 4 signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m2: signed int with bitfield width constant expression 4 signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m4: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m4: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m5: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m5: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m6: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m6: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m7: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m7: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m8: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m8: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m9: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m9: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m10: pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m10: pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m11: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m11: pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        T: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      T: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        T: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      T: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m12: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m12: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m13: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m13: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m14: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m14: pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Name: __builtin_memcpy
-
Index: src/Tests/Expect-e/Subrange.txt
===================================================================
--- src/Tests/Expect-e/Subrange.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,49 +1,0 @@
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type subrange (not function type) 
-
-to:
-  pointer to instance of type base_t (not function type) 
-
-Error: No reasonable alternatives for expression Name: low
-
-Error: No reasonable alternatives for expression Name: high
-
-Error: No reasonable alternatives for expression Cast of:
-  Applying untyped: 
-      Name: lbound
-  ...to: 
-      Name: day_of_month
-
-to:
-  unsigned int 
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: target
-
-to:
-  instance of type subrange (not function type) 
-    with parameters
-      instance of type T (not function type) 
-              Name: low
-
-              Name: high
-
-
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: target
-
-to:
-  instance of type subrange (not function type) 
-    with parameters
-      instance of type T (not function type) 
-              Name: t_low
-
-              Name: t_high
-
-
-
Index: src/Tests/Expect-e/Switch.txt
===================================================================
--- src/Tests/Expect-e/Switch.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,16 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-e/Tuple.txt
===================================================================
--- src/Tests/Expect-e/Tuple.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,228 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct inner 
-    Member Expression, with field: 
-      f2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct inner 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct inner 
-    Member Expression, with field: 
-      f3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct inner 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct outer 
-    Member Expression, with field: 
-      f1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct outer 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f4: double 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct outer 
-    Member Expression, with field: 
-      f4: double 
-    from aggregate: 
-      Variable Expression: _src: instance of struct outer 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Variable Expression: x: short signed int 
-    Variable Expression: w: signed int 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f
-...to: 
-constant expression 17 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f
-...to: 
-constant expression 17 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: r
-    Tuple:
-              Name: x
-
-              Name: y
-
-              Name: z
-
-
-Error: No reasonable alternatives for expression Name: 1
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Variable Expression: a: signed int 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Tuple:
-                  Name: a
-
-                  Name: b
-
-    Tuple:
-      constant expression 4.6 double 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Variable Expression: c: signed int 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Tuple:
-                  Name: a
-
-                  Name: b
-
-                  Tuple:
-                          Name: c
-
-
-    Tuple:
-      constant expression 2 signed int 
-              Tuple:
-                      Name: a
-
-                      Name: b
-
-
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t1
-    Tuple:
-              Name: a
-
-              Name: b
-
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t2
-    Tuple:
-              Name: a
-
-              Name: b
-
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Tuple:
-                  Name: c
-
-                  Name: d
-
-    Name: t1
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t1
-    Tuple:
-              Name: c
-
-              Name: d
-
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t2
-    Tuple:
-              Name: c
-
-              Name: d
-
-
-Error: No reasonable alternatives for expression Address of:
-  Tuple:
-    constant expression 3 signed int 
-    constant expression 4 signed int 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: s
-    Tuple:
-      constant expression 11 signed int 
-      constant expression 12 signed int 
-      constant expression 13 signed int 
-      constant expression 3.14159 double 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: sp
-    Name: sp
-
-Error: No reasonable alternatives for expression Name: 0
-
Index: src/Tests/Expect-e/TypeGenerator.txt
===================================================================
--- src/Tests/Expect-e/TypeGenerator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,148 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        data: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      data: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        next: pointer to instance of type List1 (not function type) 
-        with parameters
-          instance of type T (not function type) 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      next: pointer to instance of type List1 (not function type) 
-      with parameters
-        instance of type T (not function type) 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-to:
-  pointer to pointer to instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S2 
-    Member Expression, with field: 
-      i: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S24 
-    Member Expression, with field: 
-      i: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S24 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      i: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        data: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct node 
-    Member Expression, with field: 
-      data: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct node 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        next: pointer to instance of struct node 
-        with parameters
-          instance of type T (not function type) 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct node 
-    Member Expression, with field: 
-      next: pointer to instance of struct node 
-      with parameters
-        instance of type T (not function type) 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct node 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type List (not function type) 
-
-to:
-  pointer to pointer to instance of struct node 
-    with parameters
-      instance of type T (not function type) 
-
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: my_list
-
-to:
-  instance of struct node 
-    with parameters
-      signed int 
-
-
Index: src/Tests/Expect-e/Typedef.txt
===================================================================
--- src/Tests/Expect-e/Typedef.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,21 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        T: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      T: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous0 
-
Index: src/Tests/Expect-e/TypedefDeclarator.txt
===================================================================
--- src/Tests/Expect-e/TypedefDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,443 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of f1: signed int 
-        Declaration of f2: signed int 
-        Declaration of f3: pointer to signed int 
-        Declaration of f4: pointer to pointer to signed int 
-        Declaration of f5: pointer to const pointer to signed int 
-        Declaration of f6: const pointer to const pointer to signed int 
-        Declaration of f7: pointer to signed int 
-        Declaration of f8: pointer to pointer to signed int 
-        Declaration of f9: pointer to const pointer to signed int 
-        Declaration of f10: const pointer to const pointer to signed int 
-        Declaration of f11: pointer to signed int 
-        Declaration of f12: pointer to pointer to signed int 
-        Declaration of f13: pointer to const pointer to signed int 
-        Declaration of f14: const pointer to const pointer to signed int 
-        Declaration of f15: open array of signed int 
-        Declaration of f16: array of signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f17: open array of signed int 
-        Declaration of f18: array of signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f19: open array of pointer to signed int 
-        Declaration of f20: array of pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f21: open array of pointer to pointer to signed int 
-        Declaration of f22: array of pointer to pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f23: open array of pointer to const pointer to signed int 
-        Declaration of f24: array of pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f25: open array of const pointer to const pointer to signed int 
-        Declaration of f26: array of const pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f27: open array of pointer to signed int 
-        Declaration of f28: array of pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f29: open array of pointer to pointer to signed int 
-        Declaration of f30: array of pointer to pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f31: open array of pointer to const pointer to signed int 
-        Declaration of f32: array of pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f33: open array of const pointer to const pointer to signed int 
-        Declaration of f34: array of const pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f35: open array of pointer to signed int 
-        Declaration of f36: array of pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f37: open array of pointer to pointer to signed int 
-        Declaration of f38: array of pointer to pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f39: open array of pointer to const pointer to signed int 
-        Declaration of f40: array of pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f41: open array of const pointer to const pointer to signed int 
-        Declaration of f42: array of const pointer to const pointer to signed int with dimension of           Cast of:
-constant expression 10 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f43: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f45: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f47: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of           Cast of:
-constant expression 3 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-        Declaration of f65: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f66: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f67: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f68: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f69: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f70: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f71: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f72: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f73: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f74: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f75: pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f76: pointer to pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f77: pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f78: const pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f79: pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f80: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f81: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              const pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-
-int main(){
-    int __f1__i;
-    int __f2__i;
-    int *__f3__Pi;
-    int **__f4__PPi;
-    int *const *__f5__PCPi;
-    int *const *const __f6__CPCPi;
-    int *__f7__Pi;
-    int **__f8__PPi;
-    int *const *__f9__PCPi;
-    int *const *const __f10__CPCPi;
-    int *__f11__Pi;
-    int **__f12__PPi;
-    int *const *__f13__PCPi;
-    int *const *const __f14__CPCPi;
-    int __f15__A0i[];
-    int __f16__A0i[((long unsigned int )10)];
-    int __f17__A0i[];
-    int __f18__A0i[((long unsigned int )10)];
-    int *__f19__A0Pi[];
-    int *__f20__A0Pi[((long unsigned int )10)];
-    int **__f21__A0PPi[];
-    int **__f22__A0PPi[((long unsigned int )10)];
-    int *const *__f23__A0PCPi[];
-    int *const *__f24__A0PCPi[((long unsigned int )10)];
-    int *const *const __f25__A0CPCPi[];
-    int *const *const __f26__A0CPCPi[((long unsigned int )10)];
-    int *__f27__A0Pi[];
-    int *__f28__A0Pi[((long unsigned int )10)];
-    int **__f29__A0PPi[];
-    int **__f30__A0PPi[((long unsigned int )10)];
-    int *const *__f31__A0PCPi[];
-    int *const *__f32__A0PCPi[((long unsigned int )10)];
-    int *const *const __f33__A0CPCPi[];
-    int *const *const __f34__A0CPCPi[((long unsigned int )10)];
-    int *__f35__A0Pi[];
-    int *__f36__A0Pi[((long unsigned int )10)];
-    int **__f37__A0PPi[];
-    int **__f38__A0PPi[((long unsigned int )10)];
-    int *const *__f39__A0PCPi[];
-    int *const *__f40__A0PCPi[((long unsigned int )10)];
-    int *const *const __f41__A0CPCPi[];
-    int *const *const __f42__A0CPCPi[((long unsigned int )10)];
-    int __f43__A0A0i[][3];
-    int __f44__A0A0i[((long unsigned int )3)][3];
-    int __f45__A0A0i[][3];
-    int __f46__A0A0i[((long unsigned int )3)][3];
-    int __f47__A0A0i[][3];
-    int __f48__A0A0i[((long unsigned int )3)][3];
-    int *__f49__A0A0Pi[][3];
-    int *__f50__A0A0Pi[((long unsigned int )3)][3];
-    int **__f51__A0A0PPi[][3];
-    int **__f52__A0A0PPi[((long unsigned int )3)][3];
-    int *const *__f53__A0A0PCPi[][3];
-    int *const *__f54__A0A0PCPi[((long unsigned int )3)][3];
-    int *const *const __f55__A0A0CPCPi[][3];
-    int *const *const __f56__A0A0CPCPi[((long unsigned int )3)][3];
-    int *__f57__A0A0Pi[][3];
-    int *__f58__A0A0Pi[((long unsigned int )3)][3];
-    int **__f59__A0A0PPi[][3];
-    int **__f60__A0A0PPi[((long unsigned int )3)][3];
-    int *const *__f61__A0A0PCPi[][3];
-    int *const *__f62__A0A0PCPi[((long unsigned int )3)][3];
-    int *const *const __f63__A0A0CPCPi[][3];
-    int *const *const __f64__A0A0CPCPi[((long unsigned int )3)][3];
-    int __f65__Fi_i_(int );
-    int __f66__Fi_i_(int );
-    int *__f67__FPi_i_(int );
-    int **__f68__FPPi_i_(int );
-    int *const *__f69__FPCPi_i_(int );
-    int *const *const __f70__FCPCPi_i_(int );
-    int *__f71__FPi_i_(int );
-    int **__f72__FPPi_i_(int );
-    int *const *__f73__FPCPi_i_(int );
-    int *const *const __f74__FCPCPi_i_(int );
-    int (*__f75__PFi_i_)(int );
-    int (**__f76__PPFi_i_)(int );
-    int (*const *__f77__PCPFi_i_)(int );
-    int (*const *const __f78__CPCPFi_i_)(int );
-    int (*(*__f79__PFPFi___i_)(int ))();
-    int (*(*const __f80__CPFPFi___i_)(int ))();
-    int (*const (*const __f81__CPFCPFi___i_)(int ))();
-}
Index: src/Tests/Expect-e/TypedefParamDeclarator.txt
===================================================================
--- src/Tests/Expect-e/TypedefParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,264 +1,0 @@
-fred: function
-    with parameters
-      f1: signed int 
-      f3: pointer to signed int 
-      f4: pointer to pointer to signed int 
-      f5: pointer to const pointer to signed int 
-      f6: const pointer to const pointer to signed int 
-      f11: pointer to signed int 
-      f12: pointer to pointer to signed int 
-      f13: pointer to const pointer to signed int 
-      f14: const pointer to const pointer to signed int 
-      f15: pointer to signed int 
-      f16: pointer to array of constant expression 10 signed int signed int 
-      f19: pointer to pointer to signed int 
-      f20: pointer to array of constant expression 10 signed int pointer to signed int 
-      f21: pointer to pointer to pointer to signed int 
-      f22: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f23: pointer to pointer to const pointer to signed int 
-      f24: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f25: pointer to const pointer to const pointer to signed int 
-      f26: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f35: pointer to pointer to signed int 
-      f36: pointer to array of constant expression 10 signed int pointer to signed int 
-      f37: pointer to pointer to pointer to signed int 
-      f38: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f39: pointer to pointer to const pointer to signed int 
-      f40: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f41: pointer to const pointer to const pointer to signed int 
-      f42: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f43: pointer to array of signed int with dimension of constant expression 3 signed int 
-      f44: pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f49: pointer to array of pointer to signed int with dimension of constant expression 3 signed int 
-      f50: pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f51: pointer to array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f52: pointer to array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f53: pointer to array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f54: pointer to array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f55: pointer to array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f56: pointer to array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f57: pointer to array of pointer to signed int with dimension of constant expression 3 signed int 
-      f58: pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f59: pointer to array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f60: pointer to array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f61: pointer to array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f62: pointer to array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f63: pointer to array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f64: pointer to array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f65: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f67: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f68: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      f69: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      f70: pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f75: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f76: pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f77: pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f78: const pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f79: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f80: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f81: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f82: const pointer to variable length array of signed int 
-      f83: const pointer to array of constant expression 3 signed int signed int 
-      f84: pointer to static array of constant expression 3 signed int signed int 
-      f85: const pointer to static array of constant expression 3 signed int signed int 
-      pointer to function
-          with parameters
-            const pointer to variable length array of signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            const pointer to array of constant expression 3 signed int signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            signed int 
-
-      f90: const pointer to variable length array of pointer to signed int 
-      f91: const pointer to array of constant expression 3 signed int pointer to signed int 
-      f92: pointer to static array of constant expression 3 signed int pointer to pointer to signed int 
-      f93: const pointer to static array of constant expression 3 signed int pointer to const pointer to signed int 
-      f94: const pointer to static array of constant expression 3 signed int const pointer to const pointer to signed int 
-      pointer to function
-          with parameters
-            const pointer to variable length array of signed int 
-          returning 
-            pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to array of constant expression 3 signed int signed int 
-          returning 
-            pointer to signed int 
-
-      pointer to function
-          with parameters
-            pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f100: const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-      f101: const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f102: pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f103: const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      pointer to function
-          with parameters
-            const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      f108: const pointer to variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f109: const pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f110: pointer to static array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f111: const pointer to static array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f112: const pointer to static array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      pointer to function
-          with parameters
-            const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to signed int 
-
-      pointer to function
-          with parameters
-            pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-int __fred__Fi_iPiPPiPCPiCPCPiPiPPiPCPiCPCPiPiPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPA0iPA0iPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPFi_i_PFPi_i_PFPPi_i_PFPCPi_i_PFCPCPi_i_PFi_i_PPFi_i_PCPFi_i_CPCPFi_i_PFPFi___i_CPFPFi___i_CPFCPFi___i_CPiCPiPiCPiPFi_CPi_PFi_CPi_PFi_Pi_PFi_CPi_CPPiCPPiPPPiCPPCPiCPCPCPiPFPi_CPi_PFPi_CPi_PFPPi_Pi_PFPCPi_CPi_PFCPCPi_CPi_CPA0iCPA0iPA0iCPA0iPFi_CPA0i_PFi_CPA0i_PFi_PA0i_PFi_CPA0i_CPA0PiCPA0PiPA0PPiCPA0PCPiCPA0CPCPiPFPi_CPA0i_PFPi_CPA0i_PFPPi_PA0i_PFPCPi_CPA0i_PFCPCPi_CPA0i__(int __f1__i, int *__f3__Pi, int **__f4__PPi, int *const *__f5__PCPi, int *const *const __f6__CPCPi, int *__f11__Pi, int **__f12__PPi, int *const *__f13__PCPi, int *const *const __f14__CPCPi, int *__f15__Pi, int __f16__Pi[10], int **__f19__PPi, int *__f20__PPi[10], int ***__f21__PPPi, int **__f22__PPPi[10], int *const **__f23__PPCPi, int *const *__f24__PPCPi[10], int *const *const *__f25__PCPCPi, int *const *const __f26__PCPCPi[10], int **__f35__PPi, int *__f36__PPi[10], int ***__f37__PPPi, int **__f38__PPPi[10], int *const **__f39__PPCPi, int *const *__f40__PPCPi[10], int *const *const *__f41__PCPCPi, int *const *const __f42__PCPCPi[10], int (*__f43__PA0i)[3], int __f44__PA0i[3][3], int *(*__f49__PA0Pi)[3], int *__f50__PA0Pi[3][3], int **(*__f51__PA0PPi)[3], int **__f52__PA0PPi[3][3], int *const *(*__f53__PA0PCPi)[3], int *const *__f54__PA0PCPi[3][3], int *const *const (*__f55__PA0CPCPi)[3], int *const *const __f56__PA0CPCPi[3][3], int *(*__f57__PA0Pi)[3], int *__f58__PA0Pi[3][3], int **(*__f59__PA0PPi)[3], int **__f60__PA0PPi[3][3], int *const *(*__f61__PA0PCPi)[3], int *const *__f62__PA0PCPi[3][3], int *const *const (*__f63__PA0CPCPi)[3], int *const *const __f64__PA0CPCPi[3][3], int (*__f65__PFi_i_)(int ), int *(*__f67__PFPi_i_)(int ), int **(*__f68__PFPPi_i_)(int ), int *const *(*__f69__PFPCPi_i_)(int ), int *const *const (*__f70__PFCPCPi_i_)(int ), int (*__f75__PFi_i_)(int ), int (**__f76__PPFi_i_)(int ), int (*const *__f77__PCPFi_i_)(int ), int (*const *const __f78__CPCPFi_i_)(int ), int (*(*__f79__PFPFi___i_)(int ))(), int (*(*const __f80__CPFPFi___i_)(int ))(), int (*const (*const __f81__CPFCPFi___i_)(int ))(), int __f82__CPi[const *], int __f83__CPi[const 3], int __f84__Pi[static 3], int __f85__CPi[static const 3], int (*)(int [const *]), int (*)(int [const 3]), int (*)(int [static 3]), int (*)(int [static const 3]), int *__f90__CPPi[const *], int *__f91__CPPi[const 3], int **__f92__PPPi[static 3], int *const *__f93__CPPCPi[static const 3], int *const *const __f94__CPCPCPi[static const 3], int *(*)(int [const *]), int *(*)(int [const 3]), int **(*)(int [static 3]), int *const *(*)(int [static const 3]), int *const *const (*)(int [static const 3]), int __f100__CPA0i[const *][3], int __f101__CPA0i[const 3][3], int __f102__PA0i[static 3][3], int __f103__CPA0i[static const 3][3], int (*)(int [const *][3]), int (*)(int [const 3][3]), int (*)(int [static 3][3]), int (*)(int [static const 3][3]), int *__f108__CPA0Pi[const *][3], int *__f109__CPA0Pi[const 3][3], int **__f110__PA0PPi[static 3][3], int *const *__f111__CPA0PCPi[static const 3][3], int *const *const __f112__CPA0CPCPi[static const 3][3], int *(*)(int [const *][3]), int *(*)(int [const 3][3]), int **(*)(int [static 3][3]), int *const *(*)(int [static const 3][3]), int *const *const (*)(int [static const 3][3])){
-}
Index: src/Tests/Expect-e/Typeof.txt
===================================================================
--- src/Tests/Expect-e/Typeof.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Error: No reasonable alternatives for expression Name: *?
-
Index: src/Tests/Expect-e/VariableDeclarator.txt
===================================================================
--- src/Tests/Expect-e/VariableDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,590 +1,0 @@
-f1: signed int 
-f2: signed int 
-f3: pointer to signed int 
-f4: pointer to pointer to signed int 
-f5: pointer to const pointer to signed int 
-f6: const pointer to const pointer to signed int 
-f7: pointer to signed int 
-f8: pointer to pointer to signed int 
-f9: pointer to const pointer to signed int 
-f10: const pointer to const pointer to signed int 
-f11: pointer to signed int 
-f12: pointer to pointer to signed int 
-f13: pointer to const pointer to signed int 
-f14: const pointer to const pointer to signed int 
-f15: open array of signed int 
-f16: array of signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f17: open array of signed int 
-f18: array of signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f19: open array of pointer to signed int 
-f20: array of pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f21: open array of pointer to pointer to signed int 
-f22: array of pointer to pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f23: open array of pointer to const pointer to signed int 
-f24: array of pointer to const pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f25: open array of const pointer to const pointer to signed int 
-f26: array of const pointer to const pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f27: open array of pointer to signed int 
-f28: array of pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f29: open array of pointer to pointer to signed int 
-f30: array of pointer to pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f31: open array of pointer to const pointer to signed int 
-f32: array of pointer to const pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f33: open array of const pointer to const pointer to signed int 
-f34: array of const pointer to const pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f35: pointer to open array of signed int 
-f36: pointer to array of signed int with dimension of constant expression 10 signed int 
-f37: pointer to pointer to open array of signed int 
-f38: pointer to pointer to array of signed int with dimension of constant expression 10 signed int 
-f39: pointer to const pointer to open array of signed int 
-f40: pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-f41: const pointer to const pointer to open array of signed int 
-f42: const pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-f43: open array of array of signed int with dimension of constant expression 3 signed int 
-f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f45: open array of array of signed int with dimension of constant expression 3 signed int 
-f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f47: open array of array of signed int with dimension of constant expression 3 signed int 
-f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-f65: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f66: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f67: function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-f68: function
-    with parameters
-      signed int 
-    returning 
-      pointer to pointer to signed int 
-
-f69: function
-    with parameters
-      signed int 
-    returning 
-      pointer to const pointer to signed int 
-
-f70: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to const pointer to signed int 
-
-f71: function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-f72: function
-    with parameters
-      signed int 
-    returning 
-      pointer to pointer to signed int 
-
-f73: function
-    with parameters
-      signed int 
-    returning 
-      pointer to const pointer to signed int 
-
-f74: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to const pointer to signed int 
-
-f75: pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f76: pointer to pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f77: pointer to const pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f78: const pointer to const pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f79: pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-
-f80: const pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-
-f81: const pointer to function
-    with parameters
-      signed int 
-    returning 
-      const pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-
-cf3: pointer to signed int 
-cf4: pointer to pointer to signed int 
-cf5: pointer to const pointer to signed int 
-cf6: const pointer to const pointer to signed int 
-cf15: open array of signed int 
-cf16: array of signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf19: open array of pointer to signed int 
-cf20: array of pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf21: open array of pointer to pointer to signed int 
-cf22: array of pointer to pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf23: open array of pointer to const pointer to signed int 
-cf24: array of pointer to const pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf25: open array of const pointer to const pointer to signed int 
-cf26: array of const pointer to const pointer to signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf35: pointer to open array of signed int 
-cf36: pointer to array of signed int with dimension of constant expression 10 signed int 
-cf37: pointer to pointer to open array of signed int 
-cf38: pointer to pointer to array of signed int with dimension of constant expression 10 signed int 
-cf39: pointer to const pointer to open array of signed int 
-cf40: pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-cf41: const pointer to const pointer to open array of signed int 
-cf42: const pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-cf43: open array of array of signed int with dimension of constant expression 3 signed int 
-cf44: array of array of signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-cf50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-cf52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf53: open array of array of const pointer to signed int with dimension of constant expression 3 signed int 
-cf54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-cf56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of   Cast of:
-constant expression 3 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-cf65: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-cf66: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-cf67: function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-cf68: function
-    with parameters
-      signed int 
-    returning 
-      pointer to pointer to signed int 
-
-cf69: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to pointer to signed int 
-
-cf70: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to const pointer to signed int 
-
-v3: pointer to open array of pointer to open array of pointer to function
-    with parameters
-      pointer to open array of pointer to open array of signed int 
-      pointer to open array of pointer to open array of signed int 
-    returning 
-      pointer to open array of pointer to open array of signed int 
-
-int __f1__i;
-int __f2__i;
-int *__f3__Pi;
-int **__f4__PPi;
-int *const *__f5__PCPi;
-int *const *const __f6__CPCPi;
-int *__f7__Pi;
-int **__f8__PPi;
-int *const *__f9__PCPi;
-int *const *const __f10__CPCPi;
-int *__f11__Pi;
-int **__f12__PPi;
-int *const *__f13__PCPi;
-int *const *const __f14__CPCPi;
-int __f15__A0i[];
-int __f16__A0i[((long unsigned int )10)];
-int __f17__A0i[];
-int __f18__A0i[((long unsigned int )10)];
-int *__f19__A0Pi[];
-int *__f20__A0Pi[((long unsigned int )10)];
-int **__f21__A0PPi[];
-int **__f22__A0PPi[((long unsigned int )10)];
-int *const *__f23__A0PCPi[];
-int *const *__f24__A0PCPi[((long unsigned int )10)];
-int *const *const __f25__A0CPCPi[];
-int *const *const __f26__A0CPCPi[((long unsigned int )10)];
-int *__f27__A0Pi[];
-int *__f28__A0Pi[((long unsigned int )10)];
-int **__f29__A0PPi[];
-int **__f30__A0PPi[((long unsigned int )10)];
-int *const *__f31__A0PCPi[];
-int *const *__f32__A0PCPi[((long unsigned int )10)];
-int *const *const __f33__A0CPCPi[];
-int *const *const __f34__A0CPCPi[((long unsigned int )10)];
-int (*__f35__PA0i)[];
-int (*__f36__PA0i)[10];
-int (**__f37__PPA0i)[];
-int (**__f38__PPA0i)[10];
-int (*const *__f39__PCPA0i)[];
-int (*const *__f40__PCPA0i)[10];
-int (*const *const __f41__CPCPA0i)[];
-int (*const *const __f42__CPCPA0i)[10];
-int __f43__A0A0i[][3];
-int __f44__A0A0i[((long unsigned int )3)][3];
-int __f45__A0A0i[][3];
-int __f46__A0A0i[((long unsigned int )3)][3];
-int __f47__A0A0i[][3];
-int __f48__A0A0i[((long unsigned int )3)][3];
-int *__f49__A0A0Pi[][3];
-int *__f50__A0A0Pi[((long unsigned int )3)][3];
-int **__f51__A0A0PPi[][3];
-int **__f52__A0A0PPi[((long unsigned int )3)][3];
-int *const *__f53__A0A0PCPi[][3];
-int *const *__f54__A0A0PCPi[((long unsigned int )3)][3];
-int *const *const __f55__A0A0CPCPi[][3];
-int *const *const __f56__A0A0CPCPi[((long unsigned int )3)][3];
-int *__f57__A0A0Pi[][3];
-int *__f58__A0A0Pi[((long unsigned int )3)][3];
-int **__f59__A0A0PPi[][3];
-int **__f60__A0A0PPi[((long unsigned int )3)][3];
-int *const *__f61__A0A0PCPi[][3];
-int *const *__f62__A0A0PCPi[((long unsigned int )3)][3];
-int *const *const __f63__A0A0CPCPi[][3];
-int *const *const __f64__A0A0CPCPi[((long unsigned int )3)][3];
-int __f65__Fi_i_(int );
-int __f66__Fi_i_(int );
-int *__f67__FPi_i_(int );
-int **__f68__FPPi_i_(int );
-int *const *__f69__FPCPi_i_(int );
-int *const *const __f70__FCPCPi_i_(int );
-int *__f71__FPi_i_(int );
-int **__f72__FPPi_i_(int );
-int *const *__f73__FPCPi_i_(int );
-int *const *const __f74__FCPCPi_i_(int );
-int (*__f75__PFi_i_)(int );
-int (**__f76__PPFi_i_)(int );
-int (*const *__f77__PCPFi_i_)(int );
-int (*const *const __f78__CPCPFi_i_)(int );
-int (*(*__f79__PFPFi___i_)(int ))();
-int (*(*const __f80__CPFPFi___i_)(int ))();
-int (*const (*const __f81__CPFCPFi___i_)(int ))();
-int *__cf3__Pi;
-int **__cf4__PPi;
-int *const *__cf5__PCPi;
-int *const *const __cf6__CPCPi;
-int __cf15__A0i[];
-int __cf16__A0i[((long unsigned int )10)];
-int *__cf19__A0Pi[];
-int *__cf20__A0Pi[((long unsigned int )10)];
-int **__cf21__A0PPi[];
-int **__cf22__A0PPi[((long unsigned int )10)];
-int *const *__cf23__A0PCPi[];
-int *const *__cf24__A0PCPi[((long unsigned int )10)];
-int *const *const __cf25__A0CPCPi[];
-int *const *const __cf26__A0CPCPi[((long unsigned int )10)];
-int (*__cf35__PA0i)[];
-int (*__cf36__PA0i)[10];
-int (**__cf37__PPA0i)[];
-int (**__cf38__PPA0i)[10];
-int (*const *__cf39__PCPA0i)[];
-int (*const *__cf40__PCPA0i)[10];
-int (*const *const __cf41__CPCPA0i)[];
-int (*const *const __cf42__CPCPA0i)[10];
-int __cf43__A0A0i[][3];
-int __cf44__A0A0i[((long unsigned int )3)][3];
-int *__cf49__A0A0Pi[][3];
-int *__cf50__A0A0Pi[((long unsigned int )3)][3];
-int **__cf51__A0A0PPi[][3];
-int **__cf52__A0A0PPi[((long unsigned int )3)][3];
-int *const __cf53__A0A0CPi[][3];
-int *const *__cf54__A0A0PCPi[((long unsigned int )3)][3];
-int *const *const __cf55__A0A0CPCPi[][3];
-int *const *const __cf56__A0A0CPCPi[((long unsigned int )3)][3];
-int __cf65__Fi_i_(int );
-int __cf66__Fi_i_(int );
-int *__cf67__FPi_i_(int );
-int **__cf68__FPPi_i_(int );
-int **const __cf69__FCPPi_i_(int );
-int *const *const __cf70__FCPCPi_i_(int );
-int (*(*(*(*(*__v3__PA0PA0PFPA0PA0i_PA0PA0iPA0PA0i_)[])[])(int (*(*)[])[], int (*(*)[])[]))[])[];
Index: src/Tests/Expect-e/gcc900407-1.txt
===================================================================
--- src/Tests/Expect-e/gcc900407-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-e/gcc900516-1.txt
===================================================================
--- src/Tests/Expect-e/gcc900516-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Error: No reasonable alternatives for expression Name: !?
-
Index: src/Tests/Expect-e/gcc920301-1.txt
===================================================================
--- src/Tests/Expect-e/gcc920301-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,33 +1,0 @@
-f: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of t: static open array of pointer to void 
-                  Null Statement
-
-
-g: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of p: static array of unsigned int with dimension of           Cast of:
-constant expression 5 signed int 
-          to:
-            long unsigned int 
-          with environment:
-            Types:
-            Non-types:
-
-
-int __f__Fi__(){
-    static void *__t__A0Pv[];
-    __L1__: /* null statement */ ;
-
-}
-int __g__Fi__(){
-    static unsigned int __p__A0Ui[((long unsigned int )5)];
-}
Index: src/Tests/Expect-e/gcc920409-1.txt
===================================================================
--- src/Tests/Expect-e/gcc920409-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?!=?
-
Index: src/Tests/Expect-e/gcc920409-2.txt
===================================================================
--- src/Tests/Expect-e/gcc920409-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,6 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-e/gcc920410-2.txt
===================================================================
--- src/Tests/Expect-e/gcc920410-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?!=?
-
Index: src/Tests/Expect-e/gcc920501-1.txt
===================================================================
--- src/Tests/Expect-e/gcc920501-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Segmentation fault (core dumped)
Index: src/Tests/Expect-e/gcc920501-11.txt
===================================================================
--- src/Tests/Expect-e/gcc920501-11.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-cfa-cpp: Parser/ExpressionNode.cc:456: virtual Expression* CompositeExprNode::build() const: Assertion `args.size() == 1' failed.
-Aborted (core dumped)
Index: src/Tests/Expect-e/gcc920501-19.txt
===================================================================
--- src/Tests/Expect-e/gcc920501-19.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,4 +1,0 @@
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-f/Abstype.txt
===================================================================
--- src/Tests/Expect-f/Abstype.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-instance of type U (not function type) 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
Index: src/Tests/Expect-f/Attributes.txt
===================================================================
--- src/Tests/Expect-f/Attributes.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Error at line 58 reading token "*"
Index: src/Tests/Expect-f/Cast.txt
===================================================================
--- src/Tests/Expect-f/Cast.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,26 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
-There are 1 alternatives
-Alternative 1 ==============
-long signed int 
-long double 
-pointer to function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
Index: src/Tests/Expect-f/CastError.txt
===================================================================
--- src/Tests/Expect-f/CastError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,36 +1,0 @@
-Error: Can't choose between alternatives for expression Cast of:
-  Name: f
-
-to:
-  char 
-Alternatives are:        Cost ( 1, 0, 0 ):         Cast of:
-          Variable Expression: f: signed int 
-
-        to:
-          char 
-(types:
-            char 
-)
-        Environment: 
-
-        Cost ( 1, 0, 0 ):         Cast of:
-          Variable Expression: f: double 
-
-        to:
-          char 
-(types:
-            char 
-)
-        Environment: 
-
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: f
-
-to:
-  pointer to function
-        accepting unspecified arguments
-      returning 
-        signed int 
-
-
Index: src/Tests/Expect-f/CharStringConstants.txt
===================================================================
--- src/Tests/Expect-f/CharStringConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,248 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
Index: src/Tests/Expect-f/Constant0-1.txt
===================================================================
--- src/Tests/Expect-f/Constant0-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,112 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous5 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous5 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous6 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous6 
-
Index: src/Tests/Expect-f/DeclarationErrors.txt
===================================================================
--- src/Tests/Expect-f/DeclarationErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous0
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous1
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-f/DeclarationSpecifier.txt
===================================================================
--- src/Tests/Expect-f/DeclarationSpecifier.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous8
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous9
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-f/Exception.txt
===================================================================
--- src/Tests/Expect-f/Exception.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?/?
-
Index: src/Tests/Expect-f/Expression.txt
===================================================================
--- src/Tests/Expect-f/Expression.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,101 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s 
-
-Error: No reasonable alternatives for expression Name: !?
-
-Error: No reasonable alternatives for expression Name: ~?
-
-Error: No reasonable alternatives for expression Name: +?
-
-Error: No reasonable alternatives for expression Name: -?
-
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: ++?
-
-Error: No reasonable alternatives for expression Name: --?
-
-Error: No reasonable alternatives for expression Name: ?++
-
-Error: No reasonable alternatives for expression Name: ?--
-
-Error: No reasonable alternatives for expression Name: ?+?
-
-Error: No reasonable alternatives for expression Name: ?-?
-
-Error: No reasonable alternatives for expression Name: ?*?
-
-Error: No reasonable alternatives for expression Name: ?/?
-
-Error: No reasonable alternatives for expression Name: ?%?
-
-Error: No reasonable alternatives for expression Name: ?^?
-
-Error: No reasonable alternatives for expression Name: ?&?
-
-Error: No reasonable alternatives for expression Name: ?|?
-
-Error: No reasonable alternatives for expression Name: ?<?
-
-Error: No reasonable alternatives for expression Name: ?>?
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: i
-    Name: i
-
-Error: No reasonable alternatives for expression Name: ?==?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?<<?
-
-Error: No reasonable alternatives for expression Name: ?>>?
-
-Error: No reasonable alternatives for expression Name: ?<=?
-
-Error: No reasonable alternatives for expression Name: ?>=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?-=?
-
-Error: No reasonable alternatives for expression Name: ?*=?
-
-Error: No reasonable alternatives for expression Name: ?/=?
-
-Error: No reasonable alternatives for expression Name: ?%=?
-
-Error: No reasonable alternatives for expression Name: ?&=?
-
-Error: No reasonable alternatives for expression Name: ?|=?
-
-Error: No reasonable alternatives for expression Name: ?^=?
-
-Error: No reasonable alternatives for expression Name: ?<<=?
-
-Error: No reasonable alternatives for expression Name: ?>>=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
Index: src/Tests/Expect-f/Forall.txt
===================================================================
--- src/Tests/Expect-f/Forall.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,108 +1,0 @@
-There are 2 alternatives
-Alternative 1 ==============
-signed int 
-
-Alternative 2 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to function
-    returning 
-      nothing 
-
-
-There are 2 alternatives
-Alternative 1 ==============
-char 
-
-Alternative 2 ==============
-
-There are 2 alternatives
-Alternative 1 ==============
-float 
-
-Alternative 2 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-instance of type T (not function type) 
-
-There are 1 alternatives
-Alternative 1 ==============
-instance of type T (not function type) 
-
-There are 1 alternatives
-Alternative 1 ==============
-instance of type T (not function type) 
-
-There are 1 alternatives
-Alternative 1 ==============
-instance of type T (not function type) 
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-instance of type T (not function type) 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type P1 (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      i: instance of type P1 (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        j: instance of type P2 (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      j: instance of type P2 (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: i
-    Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: twice
-...to: 
-    Name: x
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: min
-...to: 
-constant expression 4.0 double constant expression 3.0 double 
Index: src/Tests/Expect-f/Function.txt
===================================================================
--- src/Tests/Expect-f/Function.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,26 +1,0 @@
-There are 2 alternatives
-Alternative 1 ==============
-signed int 
-
-Alternative 2 ==============
-float 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-signed int 
-
Index: src/Tests/Expect-f/Functions.txt
===================================================================
--- src/Tests/Expect-f/Functions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,7 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-f/GccExtensions.txt
===================================================================
--- src/Tests/Expect-f/GccExtensions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,48 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s2 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s3 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s4 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s4 
-
Index: src/Tests/Expect-f/InferParam.txt
===================================================================
--- src/Tests/Expect-f/InferParam.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,6 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
Index: src/Tests/Expect-f/Initialization.txt
===================================================================
--- src/Tests/Expect-f/Initialization.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,316 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        w: tuple of types
-          signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      w: tuple of types
-        signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        b: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      b: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        g1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      g1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        g2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      g2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        g3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      g3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      f1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      f2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      f3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      y3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        z: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-    Member Expression, with field: 
-      z: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        w: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-    Member Expression, with field: 
-      w: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        v: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      v: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        w: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      w: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        z: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      z: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
Index: src/Tests/Expect-f/Initialization2.txt
===================================================================
--- src/Tests/Expect-f/Initialization2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,368 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-instance of struct __anonymous3 
-
-There are 1 alternatives
-Alternative 1 ==============
-instance of struct __anonymous5 
-
-There are 1 alternatives
-Alternative 1 ==============
-instance of struct __anonymous7 
-
-There are 1 alternatives
-Alternative 1 ==============
-instance of struct __anonymous9 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous5 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous5 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous5 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous5 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous6 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous6 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous7 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous7 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous7 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous7 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous8 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous8 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous9 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous9 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous9 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous9 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous10 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous10 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct t 
-    Member Expression, with field: 
-      a: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct t 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        b: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct t 
-    Member Expression, with field: 
-      b: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct t 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous11 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous11 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous11 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous11 
-
Index: src/Tests/Expect-f/LabelledExit.txt
===================================================================
--- src/Tests/Expect-f/LabelledExit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,28 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
Index: src/Tests/Expect-f/Members.txt
===================================================================
--- src/Tests/Expect-f/Members.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,64 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-float 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-char 
-
-There are 1 alternatives
-Alternative 1 ==============
-float 
-
-There are 1 alternatives
-Alternative 1 ==============
-pointer to char 
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-lvalue signed int 
-
Index: src/Tests/Expect-f/Misc.txt
===================================================================
--- src/Tests/Expect-f/Misc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
Index: src/Tests/Expect-f/MiscError.txt
===================================================================
--- src/Tests/Expect-f/MiscError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,83 +1,0 @@
-Error: Can't choose between alternatives for expression Cast of:
-  Name: b
-
-to:
-  nothing
-Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: signed int 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: float 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-
-Error: Can't choose between alternatives for expression Cast of:
-  Name: b
-
-to:
-  nothing
-Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: signed int 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: float 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-
-Error: Can't choose between alternatives for expression Cast of:
-  Comma Expression:
-    Name: a
-
-    Name: b
-
-to:
-  nothing
-Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: b: signed int 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-        Cost ( 0, 0, 1 ):         Cast of:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: b: float 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-
-Error: Ambiguous expression in sizeof operand: Name: b
-
Index: src/Tests/Expect-f/NamedParmArg.txt
===================================================================
--- src/Tests/Expect-f/NamedParmArg.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,35 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f1
-...to: 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f1
-...to: 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f1
-...to: 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f2
-...to: 
-with designator:  Tuple:
-          Name: j
-
-          Name: i
-
-
Index: src/Tests/Expect-f/NumericConstants.txt
===================================================================
--- src/Tests/Expect-f/NumericConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,158 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-long long signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-long long unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-long long unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-long long unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-long unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-long long unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-long unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-long signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-unsigned int 
-
-There are 1 alternatives
-Alternative 1 ==============
-long long signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-long double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-float 
-
-There are 1 alternatives
-Alternative 1 ==============
-float 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-long double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-long double 
-
-There are 1 alternatives
-Alternative 1 ==============
-long double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-double 
-
-There are 1 alternatives
-Alternative 1 ==============
-long double 
-
-Error: No reasonable alternatives for expression Name: 1
-
Index: src/Tests/Expect-f/OccursError.txt
===================================================================
--- src/Tests/Expect-f/OccursError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,5 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f
-...to: 
-    Name: g
-
Index: src/Tests/Expect-f/Operators.txt
===================================================================
--- src/Tests/Expect-f/Operators.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,23 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 2 alternatives
-Alternative 1 ==============
-signed int 
-
-Alternative 2 ==============
-char 
-
Index: src/Tests/Expect-f/Quad.txt
===================================================================
--- src/Tests/Expect-f/Quad.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,4 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
Index: src/Tests/Expect-f/Rank2.txt
===================================================================
--- src/Tests/Expect-f/Rank2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,17 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: h
-...to: 
-    Applying untyped: 
-        Name: id
-    ...to: 
-        Applying untyped: 
-            Name: id
-        ...to: 
-            Applying untyped: 
-                Name: id
-            ...to: 
-                Name: 0
-
Index: src/Tests/Expect-f/Scope.txt
===================================================================
--- src/Tests/Expect-f/Scope.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,70 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-instance of type x (not function type) 
-
-There are 1 alternatives
-Alternative 1 ==============
-instance of type t (not function type) 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      a: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        b: double 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      b: double 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: u
-    Name: y
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: z
-    Name: x
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: x
-    Name: y
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: q
-    Name: y
-
-Error: No reasonable alternatives for expression Name: some_func
-
Index: src/Tests/Expect-f/ScopeErrors.txt
===================================================================
--- src/Tests/Expect-f/ScopeErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Error: duplicate function definition for butThisIsAnError: function
-  with parameters
-    double 
-  returning 
-    double 
-  with body 
-    CompoundStmt
-
Index: src/Tests/Expect-f/ShortCircuit.txt
===================================================================
--- src/Tests/Expect-f/ShortCircuit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,9 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-
Index: src/Tests/Expect-f/Statement.txt
===================================================================
--- src/Tests/Expect-f/Statement.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-lvalue pointer to signed int 
-
Index: src/Tests/Expect-f/StructMember.txt
===================================================================
--- src/Tests/Expect-f/StructMember.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,560 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m1: signed int with bitfield width constant expression 3 signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m1: signed int with bitfield width constant expression 3 signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m2: signed int with bitfield width constant expression 4 signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m2: signed int with bitfield width constant expression 4 signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m4: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m4: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m5: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m5: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m6: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m6: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m7: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m7: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m8: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m8: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m9: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m9: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m10: pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m10: pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m11: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m11: pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        T: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      T: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        T: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      T: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m12: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m12: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m13: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m13: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m14: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m14: pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Name: __builtin_memcpy
-
Index: src/Tests/Expect-f/Subrange.txt
===================================================================
--- src/Tests/Expect-f/Subrange.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,4 +1,0 @@
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: *?
-
Index: src/Tests/Expect-f/Switch.txt
===================================================================
--- src/Tests/Expect-f/Switch.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,20 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-f/Tuple.txt
===================================================================
--- src/Tests/Expect-f/Tuple.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,258 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-instance of struct inner 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-signed int 
-
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct inner 
-    Member Expression, with field: 
-      f2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct inner 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct inner 
-    Member Expression, with field: 
-      f3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct inner 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct outer 
-    Member Expression, with field: 
-      f1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct outer 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f4: double 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct outer 
-    Member Expression, with field: 
-      f4: double 
-    from aggregate: 
-      Variable Expression: _src: instance of struct outer 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Variable Expression: x: short signed int 
-    Variable Expression: w: signed int 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f
-...to: 
-constant expression 17 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f
-...to: 
-constant expression 17 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: r
-    Tuple:
-              Name: x
-
-              Name: y
-
-              Name: z
-
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Variable Expression: a: signed int 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Tuple:
-                  Name: a
-
-                  Name: b
-
-    Tuple:
-      constant expression 4.6 double 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Variable Expression: c: signed int 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Tuple:
-                  Name: a
-
-                  Name: b
-
-                  Tuple:
-                          Name: c
-
-
-    Tuple:
-      constant expression 2 signed int 
-              Tuple:
-                      Name: a
-
-                      Name: b
-
-
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t1
-    Tuple:
-              Name: a
-
-              Name: b
-
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t2
-    Tuple:
-              Name: a
-
-              Name: b
-
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Tuple:
-                  Name: c
-
-                  Name: d
-
-    Name: t1
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t1
-    Tuple:
-              Name: c
-
-              Name: d
-
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t2
-    Tuple:
-              Name: c
-
-              Name: d
-
-
-Error: No reasonable alternatives for expression Address of:
-  Tuple:
-    constant expression 3 signed int 
-    constant expression 4 signed int 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: s
-    Tuple:
-      constant expression 11 signed int 
-      constant expression 12 signed int 
-      constant expression 13 signed int 
-      constant expression 3.14159 double 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: sp
-    Name: sp
-
-Error: No reasonable alternatives for expression Name: 0
-
Index: src/Tests/Expect-f/TypeGenerator.txt
===================================================================
--- src/Tests/Expect-f/TypeGenerator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,133 +1,0 @@
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        data: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      data: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        next: pointer to instance of type List1 (not function type) 
-        with parameters
-          instance of type T (not function type) 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      next: pointer to instance of type List1 (not function type) 
-      with parameters
-        instance of type T (not function type) 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S2 
-    Member Expression, with field: 
-      i: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S24 
-    Member Expression, with field: 
-      i: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S24 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      i: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        data: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct node 
-    Member Expression, with field: 
-      data: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct node 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        next: pointer to instance of struct node 
-        with parameters
-          instance of type T (not function type) 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct node 
-    Member Expression, with field: 
-      next: pointer to instance of struct node 
-      with parameters
-        instance of type T (not function type) 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct node 
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: my_list
-
-to:
-  instance of struct node 
-    with parameters
-      signed int 
-
-
Index: src/Tests/Expect-f/Typedef.txt
===================================================================
--- src/Tests/Expect-f/Typedef.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,20 +1,0 @@
-There are 1 alternatives
-Alternative 1 ==============
-signed int 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        T: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      T: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
Index: src/Tests/Expect-f/gcc900407-1.txt
===================================================================
--- src/Tests/Expect-f/gcc900407-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?++
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-f/gcc920409-1.txt
===================================================================
--- src/Tests/Expect-f/gcc920409-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?!=?
-
Index: src/Tests/Expect-f/gcc920409-2.txt
===================================================================
--- src/Tests/Expect-f/gcc920409-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,4 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-f/gcc920410-2.txt
===================================================================
--- src/Tests/Expect-f/gcc920410-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,4 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-f/gcc920501-11.txt
===================================================================
--- src/Tests/Expect-f/gcc920501-11.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-cfa-cpp: Parser/ExpressionNode.cc:456: virtual Expression* CompositeExprNode::build() const: Assertion `args.size() == 1' failed.
-Aborted (core dumped)
Index: src/Tests/Expect-f/gcc920501-19.txt
===================================================================
--- src/Tests/Expect-f/gcc920501-19.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-r/Abstype.txt
===================================================================
--- src/Tests/Expect-r/Abstype.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1505 +1,0 @@
-nameExpr is x
-decl is x: function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: x: function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is t
-decl is t: instance of type T (not function type) 
-newExpr is Variable Expression: t: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: x: function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: t: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type T (not function type) 
-actuals are:
-                  Variable Expression: t: instance of type T (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: x: function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: t: instance of type T (not function type) 
-
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: x: function
-        with parameters
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: t: instance of type T (not function type) 
-
-
-to:
-  instance of type T (not function type) 
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-newExpr is Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T (not function type) 
-    _src: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T (not function type) 
-      _src: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type U (not function type) 
-    _src: instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type U (not function type) 
-
-    to:
-      pointer to pointer to signed int 
-    Cast of:
-      Variable Expression: _src: instance of type U (not function type) 
-
-    to:
-      pointer to signed int 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type U (not function type) 
-      _src: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    pointer to forall
-          _0_DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type _0_DT (not function type) 
-          pointer to instance of type _0_DT (not function type) 
-        returning 
-          pointer to instance of type _0_DT (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T (not function type) 
-      _src: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T (not function type) 
-          _src: instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type U (not function type) 
-      _src: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type U (not function type) 
-          _src: instance of type U (not function type) 
-        returning 
-          instance of type U (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type U (not function type) 
-(types:
-    lvalue pointer to instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is u
-decl is u: instance of type U (not function type) 
-newExpr is Variable Expression: u: instance of type U (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-  Variable Expression: u: instance of type U (not function type) 
-
-to:
-  instance of type U (not function type) 
-(types:
-    instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-newExpr is Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T (not function type) 
-    _src: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T (not function type) 
-      _src: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type U (not function type) 
-    _src: instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type U (not function type) 
-
-    to:
-      pointer to pointer to signed int 
-    Cast of:
-      Variable Expression: _src: instance of type U (not function type) 
-
-    to:
-      pointer to signed int 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type U (not function type) 
-      _src: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    pointer to forall
-          _0_DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type _0_DT (not function type) 
-          pointer to instance of type _0_DT (not function type) 
-        returning 
-          pointer to instance of type _0_DT (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T (not function type) 
-      _src: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T (not function type) 
-          _src: instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type U (not function type) 
-      _src: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type U (not function type) 
-          _src: instance of type U (not function type) 
-        returning 
-          instance of type U (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-nameExpr is u_instance
-decl is u_instance: instance of type U (not function type) with initializer 
-Simple Initializer:   Cast of:
-    Variable Expression: u: instance of type U (not function type) 
-
-  to:
-    instance of type U (not function type) 
-  with environment:
-    Types:
-    Non-types:
-
-newExpr is Variable Expression: u_instance: instance of type U (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: u_instance: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: u_instance: instance of type U (not function type) 
-(types:
-    pointer to instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: u_instance: instance of type U (not function type) 
-(types:
-    pointer to instance of type U (not function type) 
-)
-Environment: 
-
-nameExpr is u
-decl is u: instance of type U (not function type) 
-newExpr is Variable Expression: u: instance of type U (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to instance of type U (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type U (not function type) 
-              _src: instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type U (not function type) 
-                  _src: instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type U (not function type) 
-actual type is pointer to instance of type U (not function type) 
-formal type is instance of type U (not function type) 
-actual type is lvalue instance of type U (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T (not function type) 
-              _src: instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T (not function type) 
-                  _src: instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to instance of type U (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-(types:
-            pointer to forall
-                  _0_DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type _0_DT (not function type) 
-                  pointer to instance of type _0_DT (not function type) 
-                returning 
-                  pointer to instance of type _0_DT (not function type) 
-
-)
-        Environment: 
-formal type is pointer to pointer to instance of type _0_DT (not function type) 
-actual type is pointer to instance of type U (not function type) 
-actual expression:
-        Address of:
-          Variable Expression: u_instance: instance of type U (not function type) 
---- results are
-        pointer to instance of type U (not function type) 
-
-converting pointer to instance of type U (not function type) 
- to pointer to instance of type U (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: u: instance of type U (not function type) 
---- results are
-        lvalue instance of type U (not function type) 
-
-converting lvalue instance of type U (not function type) 
- to instance of type U (not function type) 
-cost is( 0, 0, 2 )
-Case +++++++++++++
-formals are:
-        _dst: pointer to instance of type U (not function type) 
-        _src: instance of type U (not function type) 
-actuals are:
-                  Address of:
-            Variable Expression: u_instance: instance of type U (not function type) 
-
-                  Cast of:
-            Variable Expression: u: instance of type U (not function type) 
-
-          to:
-            instance of type U (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 2 )
-alternatives before prune:
-Cost ( 0, 0, 2 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        _dst: pointer to instance of type U (not function type) 
-        _src: instance of type U (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Address of:
-      Variable Expression: u_instance: instance of type U (not function type) 
-
-      Cast of:
-      Variable Expression: u: instance of type U (not function type) 
-
-    to:
-      instance of type U (not function type) 
-
-(types:
-    instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          _dst: pointer to instance of type U (not function type) 
-          _src: instance of type U (not function type) 
-        returning 
-          instance of type U (not function type) 
-
-  to arguments
-          Address of:
-        Variable Expression: u_instance: instance of type U (not function type) 
-
-          Cast of:
-        Variable Expression: u: instance of type U (not function type) 
-
-      to:
-        instance of type U (not function type) 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?++
-decl is ?++: function
-  with parameters
-    pointer to signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?++: function
-    with parameters
-      pointer to signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?++: function
-    with parameters
-      pointer to signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is *?
-decl is *?: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    pointer to instance of type T (not function type) 
-  returning 
-    lvalue instance of type T (not function type) 
-
-newExpr is Variable Expression: *?: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type T (not function type) 
-    returning 
-      lvalue instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: *?: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type T (not function type) 
-    returning 
-      lvalue instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          pointer to instance of type _0_T (not function type) 
-        returning 
-          lvalue instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is u
-decl is u: instance of type U (not function type) 
-newExpr is Variable Expression: u: instance of type U (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: *?: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              pointer to instance of type T (not function type) 
-            returning 
-              lvalue instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  pointer to instance of type _0_T (not function type) 
-                returning 
-                  lvalue instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type _0_T (not function type) 
-actual type is lvalue instance of type U (not function type) 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to forall
-    _1_DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type _1_DT (not function type) 
-    pointer to instance of type _1_DT (not function type) 
-  returning 
-    pointer to instance of type _1_DT (not function type) 
-
-inferRecursive: candidate is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T (not function type) 
-    _src: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of type T (not function type) 
-    _src: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-inferRecursive: candidate is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type U (not function type) 
-    _src: instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type U (not function type) 
-
-    to:
-      pointer to pointer to signed int 
-    Cast of:
-      Variable Expression: _src: instance of type U (not function type) 
-
-    to:
-      pointer to signed int 
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of type U (not function type) 
-    _src: instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 15 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 25 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: u: instance of type U (not function type) 
---- results are
-        lvalue instance of type U (not function type) 
-
-converting lvalue instance of type U (not function type) 
- to pointer to instance of type _0_T (not function type) 
-cost is( 0, 0, 1 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to instance of type _0_T (not function type) 
-actuals are:
-                  Cast of:
-            Variable Expression: u: instance of type U (not function type) 
-
-          to:
-            pointer to signed int 
-
-bindings are:
-        ( _0_T ) -> signed int  (no widening)
-cost of conversion is:( 0, 4, 1 )
-alternatives before prune:
-Cost ( 0, 4, 1 ): Application of
-  Variable Expression: *?: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        pointer to instance of type T (not function type) 
-      returning 
-        lvalue instance of type T (not function type) 
-
-to arguments
-      Cast of:
-      Variable Expression: u: instance of type U (not function type) 
-
-    to:
-      pointer to signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    lvalue instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 4, 1 ): Address of:
-  Application of
-    Variable Expression: *?: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-        function
-        with parameters
-          pointer to instance of type T (not function type) 
-        returning 
-          lvalue instance of type T (not function type) 
-
-  to arguments
-          Cast of:
-        Variable Expression: u: instance of type U (not function type) 
-
-      to:
-        pointer to signed int 
-
-  with inferred parameters:
-    ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-(types:
-    pointer to signed int 
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 4, 1 ): Address of:
-  Application of
-    Variable Expression: *?: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-        function
-        with parameters
-          pointer to instance of type T (not function type) 
-        returning 
-          lvalue instance of type T (not function type) 
-
-  to arguments
-          Cast of:
-        Variable Expression: u: instance of type U (not function type) 
-
-      to:
-        pointer to signed int 
-
-  with inferred parameters:
-    ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-(types:
-    pointer to signed int 
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?++: function
-            with parameters
-              pointer to signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Address of:
-          Application of
-            Variable Expression: *?: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                returning 
-                  lvalue instance of type T (not function type) 
-
-          to arguments
-                          Cast of:
-                Variable Expression: u: instance of type U (not function type) 
-
-              to:
-                pointer to signed int 
-
-          with inferred parameters:
-            ?=?: function
-              with parameters
-                pointer to signed int 
-                signed int 
-              returning 
-                signed int 
-
---- results are
-        pointer to signed int 
-
-converting pointer to signed int 
- to pointer to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to signed int 
-actuals are:
-                  Address of:
-            Application of
-              Variable Expression: *?: forall
-                    T: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type T (not function type) 
-                              instance of type T (not function type) 
-                            returning 
-                              instance of type T (not function type) 
-
-
-                  function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                  returning 
-                    lvalue instance of type T (not function type) 
-
-            to arguments
-                              Cast of:
-                  Variable Expression: u: instance of type U (not function type) 
-
-                to:
-                  pointer to signed int 
-
-            with inferred parameters:
-              ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-
-bindings are:
-        ( _0_T ) -> signed int  (no widening)
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?++: function
-      with parameters
-        pointer to signed int 
-      returning 
-        signed int 
-
-to arguments
-      Address of:
-      Application of
-        Variable Expression: *?: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              pointer to instance of type T (not function type) 
-            returning 
-              lvalue instance of type T (not function type) 
-
-      to arguments
-                  Cast of:
-            Variable Expression: u: instance of type U (not function type) 
-
-          to:
-            pointer to signed int 
-
-      with inferred parameters:
-        ?=?: function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
-
-(types:
-    signed int 
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?++: function
-        with parameters
-          pointer to signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Address of:
-        Application of
-          Variable Expression: *?: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                pointer to instance of type T (not function type) 
-              returning 
-                lvalue instance of type T (not function type) 
-
-        to arguments
-                      Cast of:
-              Variable Expression: u: instance of type U (not function type) 
-
-            to:
-              pointer to signed int 
-
-        with inferred parameters:
-          ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is u
-decl is u: instance of type U (not function type) 
-newExpr is Variable Expression: u: instance of type U (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-  Variable Expression: u: instance of type U (not function type) 
-
-to:
-  instance of type U (not function type) 
-(types:
-    instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is u
-decl is u: instance of type U (not function type) 
-newExpr is Variable Expression: u: instance of type U (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: u: instance of type U (not function type) 
-
-to:
-  pointer to signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type U (not function type) 
-
-to:
-  pointer to pointer to signed int 
-
Index: src/Tests/Expect-r/Array.txt
===================================================================
--- src/Tests/Expect-r/Array.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,98 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.0 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 1, 0, 0 ): Cast of:
-constant expression 3.0 double 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int __a1__A0i[];
-int __a2__A0i[*];
-double __a4__A0d[((long unsigned int )3.0)];
-int __m1__A0A0i[][3];
-int __m2__A0A0i[*][*];
-int __m4__A0A0i[((long unsigned int )3)][3];
-int __fred__Fi__(){
-    int __a1__A0i[];
-    int __a2__A0i[*];
-    int __a4__A0i[((long unsigned int )3)];
-    int __T__A0i[((long unsigned int )3)];
-}
-int __mary__Fi_PiCPiPiCPi_(int __T__Pi[3], int __p1__CPi[const 3], int __p2__Pi[static 3], int __p3__CPi[static const 3]){
-}
-int (*__tom__FPA0i__())[3]{
-}
-int (*__jane__FPFi_PiCPiPiCPi___())(int __T__Pi[3], int __p1__CPi[const 3], int __p2__Pi[static 3], int __p3__CPi[static const 3]){
-}
Index: src/Tests/Expect-r/AsmName.txt
===================================================================
--- src/Tests/Expect-r/AsmName.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,5 +1,0 @@
-extern int __x__i;
-int __fred__Fi_i_(int __x__i){
-    static int __y__i;
-    static int *__z__Pi;
-}
Index: src/Tests/Expect-r/Attributes.txt
===================================================================
--- src/Tests/Expect-r/Attributes.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Error at line 58 reading token "*"
Index: src/Tests/Expect-r/Cast.txt
===================================================================
--- src/Tests/Expect-r/Cast.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2235 +1,0 @@
-nameExpr is f
-decl is f: function
-    accepting unspecified arguments
-  returning 
-    nothing 
-  with body 
-    CompoundStmt
-      Declaration of f: char 
-      Declaration of f: double 
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            signed int 
-
-      Declaration of f: short signed int 
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            signed int 
-
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-              Expression Statement:
-          Cast of:
-            Tuple:
-                              Name: f
-
-                              Name: f
-
-                              Name: f
-
-
-          to:
-            long signed int 
-            long double 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-
-newExpr is Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
-decl is f: char 
-newExpr is Variable Expression: f: char 
-
-decl is f: double 
-newExpr is Variable Expression: f: double 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 4 ): Cast of:
-  Variable Expression: f: char 
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Cast of:
-    Variable Expression: f: char 
-
-  to:
-    signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: function
-    accepting unspecified arguments
-  returning 
-    nothing 
-  with body 
-    CompoundStmt
-      Declaration of f: char 
-      Declaration of f: double 
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: char 
-
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      Declaration of f: short signed int 
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            signed int 
-
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-              Expression Statement:
-          Cast of:
-            Tuple:
-                              Name: f
-
-                              Name: f
-
-                              Name: f
-
-
-          to:
-            long signed int 
-            long double 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-
-newExpr is Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
-decl is f: char 
-newExpr is Variable Expression: f: char 
-
-decl is f: double 
-newExpr is Variable Expression: f: double 
-
-decl is f: short signed int 
-newExpr is Variable Expression: f: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-  Variable Expression: f: short signed int 
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Cast of:
-    Variable Expression: f: short signed int 
-
-  to:
-    signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: function
-    accepting unspecified arguments
-  returning 
-    nothing 
-  with body 
-    CompoundStmt
-      Declaration of f: char 
-      Declaration of f: double 
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: char 
-
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      Declaration of f: short signed int 
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: short signed int 
-
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-              Expression Statement:
-          Cast of:
-            Tuple:
-                              Name: f
-
-                              Name: f
-
-                              Name: f
-
-
-          to:
-            long signed int 
-            long double 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-
-newExpr is Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
-decl is f: char 
-newExpr is Variable Expression: f: char 
-
-decl is f: double 
-newExpr is Variable Expression: f: double 
-
-decl is f: short signed int 
-newExpr is Variable Expression: f: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: f: function
-        accepting unspecified arguments
-      returning 
-        nothing 
-
-
-to:
-  pointer to function
-        accepting unspecified arguments
-      returning 
-        nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Cast of:
-    Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-  to:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: function
-    accepting unspecified arguments
-  returning 
-    nothing 
-  with body 
-    CompoundStmt
-      Declaration of f: char 
-      Declaration of f: double 
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: char 
-
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      Declaration of f: short signed int 
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: short signed int 
-
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-          to:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Cast of:
-            Tuple:
-                              Name: f
-
-                              Name: f
-
-                              Name: f
-
-
-          to:
-            long signed int 
-            long double 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-
-newExpr is Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
-decl is f: char 
-newExpr is Variable Expression: f: char 
-
-decl is f: double 
-newExpr is Variable Expression: f: double 
-
-decl is f: short signed int 
-newExpr is Variable Expression: f: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-nameExpr is f
-decl is f: function
-    accepting unspecified arguments
-  returning 
-    nothing 
-  with body 
-    CompoundStmt
-      Declaration of f: char 
-      Declaration of f: double 
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: char 
-
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      Declaration of f: short signed int 
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: short signed int 
-
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-          to:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Cast of:
-            Tuple:
-                              Name: f
-
-                              Name: f
-
-                              Name: f
-
-
-          to:
-            long signed int 
-            long double 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-
-newExpr is Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
-decl is f: char 
-newExpr is Variable Expression: f: char 
-
-decl is f: double 
-newExpr is Variable Expression: f: double 
-
-decl is f: short signed int 
-newExpr is Variable Expression: f: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-nameExpr is f
-decl is f: function
-    accepting unspecified arguments
-  returning 
-    nothing 
-  with body 
-    CompoundStmt
-      Declaration of f: char 
-      Declaration of f: double 
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: char 
-
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      Declaration of f: short signed int 
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: short signed int 
-
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Cast of:
-            Variable Expression: f: function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-          to:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Cast of:
-            Tuple:
-                              Name: f
-
-                              Name: f
-
-                              Name: f
-
-
-          to:
-            long signed int 
-            long double 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  nothing 
-
-
-
-newExpr is Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
-decl is f: char 
-newExpr is Variable Expression: f: char 
-
-decl is f: double 
-newExpr is Variable Expression: f: double 
-
-decl is f: short signed int 
-newExpr is Variable Expression: f: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue short signed int 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue char 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue short signed int 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue short signed int 
-    lvalue short signed int 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue double 
-    lvalue short signed int 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue char 
-    lvalue short signed int 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue short signed int 
-    lvalue double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue double 
-    lvalue double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue char 
-    lvalue double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue char 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue short signed int 
-    lvalue char 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue double 
-    lvalue char 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-(types:
-    lvalue char 
-    lvalue char 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: short signed int 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue short signed int 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue char 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue short signed int 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue short signed int 
-    lvalue short signed int 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue double 
-    lvalue short signed int 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue char 
-    lvalue short signed int 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue double 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue short signed int 
-    lvalue double 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue double 
-    lvalue double 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue char 
-    lvalue double 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue char 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue short signed int 
-    lvalue char 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue double 
-    lvalue char 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: short signed int 
-
-(types:
-    lvalue char 
-    lvalue char 
-    lvalue short signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: double 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue short signed int 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue char 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: double 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue short signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue short signed int 
-    lvalue short signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue double 
-    lvalue short signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue char 
-    lvalue short signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: double 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue double 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue short signed int 
-    lvalue double 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue double 
-    lvalue double 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue char 
-    lvalue double 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: double 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue char 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue short signed int 
-    lvalue char 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue double 
-    lvalue char 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: double 
-
-(types:
-    lvalue char 
-    lvalue char 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: char 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue short signed int 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue char 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: char 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue short signed int 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue short signed int 
-    lvalue short signed int 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue double 
-    lvalue short signed int 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue char 
-    lvalue short signed int 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: char 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue double 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue short signed int 
-    lvalue double 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue double 
-    lvalue double 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: double 
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue char 
-    lvalue double 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: char 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-    lvalue char 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: short signed int 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue short signed int 
-    lvalue char 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: double 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue double 
-    lvalue char 
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: f: char 
-
-      Variable Expression: f: char 
-
-      Variable Expression: f: char 
-
-(types:
-    lvalue char 
-    lvalue char 
-    lvalue char 
-)
-Environment: 
-
-there are 64 alternatives before elimination
-there are 64 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 4 ): Cast of:
-  Tuple:
-          Variable Expression: f: short signed int 
-
-          Variable Expression: f: double 
-
-          Variable Expression: f: function
-            accepting unspecified arguments
-          returning 
-            nothing 
-
-
-
-to:
-  long signed int 
-  long double 
-  pointer to function
-        accepting unspecified arguments
-      returning 
-        nothing 
-
-(types:
-    long signed int 
-    long double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 3 ): Cast of:
-  Cast of:
-    Tuple:
-              Variable Expression: f: short signed int 
-
-              Variable Expression: f: double 
-
-              Variable Expression: f: function
-              accepting unspecified arguments
-            returning 
-              nothing 
-
-
-
-  to:
-    long signed int 
-    long double 
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-char __f__c;
-void __f__F__(){
-    char __f__c;
-    double __f__d;
-    ((int )__f__c);
-    short __f__s;
-    ((int )__f__s);
-    ((void (*)())__f__F__);
-    ((long int ));
-}
Index: src/Tests/Expect-r/CastError.txt
===================================================================
--- src/Tests/Expect-r/CastError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,197 +1,0 @@
-nameExpr is f
-decl is f: function
-    accepting unspecified arguments
-  returning 
-    nothing 
-  with body 
-    CompoundStmt
-      Declaration of f: signed int 
-      Declaration of f: double 
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            char 
-
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-
-newExpr is Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
-decl is f: double 
-newExpr is Variable Expression: f: double 
-
-decl is f: signed int 
-newExpr is Variable Expression: f: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 1, 0, 0 ): Cast of:
-  Variable Expression: f: signed int 
-
-to:
-  char 
-(types:
-    char 
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Cast of:
-  Variable Expression: f: double 
-
-to:
-  char 
-(types:
-    char 
-)
-Environment: 
-
-marking ambiguous
-there are 1 alternatives before elimination
-nameExpr is f
-decl is f: function
-    accepting unspecified arguments
-  returning 
-    nothing 
-  with body 
-    CompoundStmt
-      Declaration of f: signed int 
-      Declaration of f: double 
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            char 
-
-              Expression Statement:
-          Cast of:
-            Name: f
-
-          to:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-
-newExpr is Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-
-decl is f: double 
-newExpr is Variable Expression: f: double 
-
-decl is f: signed int 
-newExpr is Variable Expression: f: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-Error: Can't choose between alternatives for expression Cast of:
-  Name: f
-
-to:
-  char 
-Alternatives are:        Cost ( 1, 0, 0 ):         Cast of:
-          Variable Expression: f: signed int 
-
-        to:
-          char 
-(types:
-            char 
-)
-        Environment: 
-
-        Cost ( 1, 0, 0 ):         Cast of:
-          Variable Expression: f: double 
-
-        to:
-          char 
-(types:
-            char 
-)
-        Environment: 
-
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: f
-
-to:
-  pointer to function
-        accepting unspecified arguments
-      returning 
-        signed int 
-
-
Index: src/Tests/Expect-r/CharStringConstants.txt
===================================================================
--- src/Tests/Expect-r/CharStringConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1242 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression ' ' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression ' ' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 'a' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 'a' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '"' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '"' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '_' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '_' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\a' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\a' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\b' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\b' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\e' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\e' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\f' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\f' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\n' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\n' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\r' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\r' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\t' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\t' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\v' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\v' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\'' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\'' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\"' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\"' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\?' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\?' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\\' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\\' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\0' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\0' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\377' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\377' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\xf' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\xf' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\xff' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\xff' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 'aa' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 'aa' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 'a\na' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 'a\na' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 'a\0a' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 'a\0a' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\xfff' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\xfff' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '_\377_' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '_\377_' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '_\xff_' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '_\xff_' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\xffff' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\xffff' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 'a\xff34w' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 'a\xff34w' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\xff' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\xff' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '\xffff' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '\xffff' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression " " array of char with dimension of constant expression 4 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression " " array of char with dimension of constant expression 4 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "a" array of char with dimension of constant expression 4 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "a" array of char with dimension of constant expression 4 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "'" array of char with dimension of constant expression 4 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "'" array of char with dimension of constant expression 4 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression '_' char (types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression '_' char 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\a" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\a" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\b" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\b" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\e" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\e" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\f" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\f" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\n" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\n" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\r" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\r" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\t" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\t" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\v" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\v" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\'" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\'" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\"" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\"" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\?" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\?" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\\" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\\" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\0" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\0" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\377" array of char with dimension of constant expression 7 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\377" array of char with dimension of constant expression 7 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\xf" array of char with dimension of constant expression 6 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\xf" array of char with dimension of constant expression 6 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\xff" array of char with dimension of constant expression 7 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\xff" array of char with dimension of constant expression 7 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "" array of char with dimension of constant expression 3 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "" array of char with dimension of constant expression 3 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "aa" array of char with dimension of constant expression 5 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "aa" array of char with dimension of constant expression 5 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "a\na" array of char with dimension of constant expression 7 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "a\na" array of char with dimension of constant expression 7 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "a\0a" array of char with dimension of constant expression 7 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "a\0a" array of char with dimension of constant expression 7 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "_\377_" array of char with dimension of constant expression 9 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "_\377_" array of char with dimension of constant expression 9 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "_\xff_" array of char with dimension of constant expression 9 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "_\xff_" array of char with dimension of constant expression 9 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\xff" array of char with dimension of constant expression 7 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\xff" array of char with dimension of constant expression 7 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\xfff" array of char with dimension of constant expression 8 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\xfff" array of char with dimension of constant expression 8 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "a\xff34w" array of char with dimension of constant expression 11 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "a\xff34w" array of char with dimension of constant expression 11 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int main(){
-    ' ';
-    'a';
-    '"';
-    '_';
-    '\a';
-    '\b';
-    '\e';
-    '\f';
-    '\n';
-    '\r';
-    '\t';
-    '\v';
-    '\'';
-    '\"';
-    '\?';
-    '\\';
-    '\0';
-    '\377';
-    '\xf';
-    '\xff';
-    '';
-    'aa';
-    'a\na';
-    'a\0a';
-    '\xfff';
-    '_\377_';
-    '_\xff_';
-    '\xffff';
-    'a\xff34w';
-    '\xff';
-    '\xffff';
-    " ";
-    "a";
-    "'";
-    '_';
-    "\a";
-    "\b";
-    "\e";
-    "\f";
-    "\n";
-    "\r";
-    "\t";
-    "\v";
-    "\'";
-    "\"";
-    "\?";
-    "\\";
-    "\0";
-    "\377";
-    "\xf";
-    "\xff";
-    "";
-    "aa";
-    "a\na";
-    "a\0a";
-    "_\377_";
-    "_\xff_";
-    "\xff";
-    "\xffff";
-    "\xfff";
-    "a\xff34w";
-    "\xffff";
-}
Index: src/Tests/Expect-r/CommentMisc.txt
===================================================================
--- src/Tests/Expect-r/CommentMisc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,27 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int __i__i;
-int __i__i;
-int __i__i;
-int __i__i;
-int main(){
-    int __x__A0i[((long unsigned int )10)];
-}
Index: src/Tests/Expect-r/Constant0-1.txt
===================================================================
--- src/Tests/Expect-r/Constant0-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,3010 +1,0 @@
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-(types:
-    instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue instance of struct __anonymous1 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-(types:
-    instance of struct __anonymous1 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue instance of struct __anonymous2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-(types:
-    instance of struct __anonymous2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-(types:
-    instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-(types:
-    instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous5 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous5 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous5 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous5 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous5 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous5 
-(types:
-    lvalue instance of struct __anonymous5 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-(types:
-    instance of struct __anonymous5 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous6 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous6 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous6 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous6 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous6 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous6 
-(types:
-    lvalue instance of struct __anonymous6 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-(types:
-    instance of struct __anonymous6 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous5 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous5 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous6 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous6 
-
Index: src/Tests/Expect-r/Context.txt
===================================================================
--- src/Tests/Expect-r/Context.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-;
-void __f__A1_0_0____operator_assign__PFt0_Pt0t0___q__PFt0_t0__F__(void (*_adapterF2tz_2tz_)(void (*)(), void *, void *), void (*_adapterF2tz_P2tz2tz_)(void (*)(), void *, void *, void *), long unsigned int z, void (*___operator_assign__PF2tz_P2tz2tz_)(), void (*__q__PF2tz_2tz_)(), ...){
-    ;
-    extern unsigned long x;
-    void *___operator_assign__F2tx_P2tx2tx_(void *___dst__P2tx, void *___src__2tx);
-    extern unsigned long y;
-    void *___operator_assign__F2ty_P2ty2ty_(void *___dst__P2ty, void *___src__2ty);
-}
Index: src/Tests/Expect-r/DeclarationErrors.txt
===================================================================
--- src/Tests/Expect-r/DeclarationErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous0
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous1
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-r/DeclarationSpecifier.txt
===================================================================
--- src/Tests/Expect-r/DeclarationSpecifier.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous8
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous9
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-r/Enum.txt
===================================================================
--- src/Tests/Expect-r/Enum.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,48 +1,0 @@
-nameExpr is Mango
-decl is Mango: const instance of enum Fruits 
-newExpr is Variable Expression: Mango: const instance of enum Fruits 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: Mango: const instance of enum Fruits 
-(types:
-    const lvalue instance of enum Fruits 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: Mango: const instance of enum Fruits 
-
-to:
-  instance of enum Fruits 
-(types:
-    instance of enum Fruits 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-enum Colors
-{
-    __Red__C7eColors,
-    __Yellow__C7eColors,
-    __Pink__C7eColors,
-    __Blue__C7eColors,
-    __Purple__C7eColors,
-    __Orange__C7eColors,
-    __Green__C7eColors,
-}
-;
-void __f__F__(void){
-    enum Fruits
-{
-        __Apple__C7eFruits,
-        __Banana__C7eFruits,
-        __Pear__C7eFruits,
-        __Mango__C7eFruits,
-}
-;
-    enum Fruits __fruit__7eFruits = ((enum Fruits )__Mango__C7eFruits);
-}
Index: src/Tests/Expect-r/Exception.txt
===================================================================
--- src/Tests/Expect-r/Exception.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,26 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-constant expression 3 signed int 
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-nameExpr is ?/?
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?/?
-
Index: src/Tests/Expect-r/Expression.txt
===================================================================
--- src/Tests/Expect-r/Expression.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,445 +1,0 @@
-nameExpr is ?=?
-decl is ?=?: automatically generated inline function
-  with parameters
-    _dst: pointer to instance of struct s 
-    _src: instance of struct s 
-  returning 
-    instance of struct s 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct s 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct s 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct s 
-
-
-
-newExpr is Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s 
-      _src: instance of struct s 
-    returning 
-      instance of struct s 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s 
-      _src: instance of struct s 
-    returning 
-      instance of struct s 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct s 
-          _src: instance of struct s 
-        returning 
-          instance of struct s 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct s 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct s 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct s 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct s 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct s 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
-            with parameters
-              _dst: pointer to instance of struct s 
-              _src: instance of struct s 
-            returning 
-              instance of struct s 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct s 
-                  _src: instance of struct s 
-                returning 
-                  instance of struct s 
-
-)
-        Environment: 
-formal type is pointer to instance of struct s 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s 
-(types:
-    lvalue instance of struct s 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct s 
-
-to:
-  instance of struct s 
-(types:
-    instance of struct s 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is !?
-nameExpr is ~?
-nameExpr is +?
-nameExpr is -?
-nameExpr is *?
-nameExpr is ++?
-nameExpr is --?
-nameExpr is ?++
-nameExpr is ?--
-nameExpr is ?+?
-nameExpr is ?-?
-nameExpr is ?*?
-nameExpr is ?/?
-nameExpr is ?%?
-nameExpr is ?^?
-nameExpr is ?&?
-nameExpr is ?|?
-nameExpr is ?<?
-nameExpr is ?>?
-nameExpr is ?=?
-decl is ?=?: automatically generated inline function
-  with parameters
-    _dst: pointer to instance of struct s 
-    _src: instance of struct s 
-  returning 
-    instance of struct s 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct s 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct s 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct s 
-
-to:
-  instance of struct s 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s 
-      _src: instance of struct s 
-    returning 
-      instance of struct s 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s 
-      _src: instance of struct s 
-    returning 
-      instance of struct s 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct s 
-          _src: instance of struct s 
-        returning 
-          instance of struct s 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: i: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: i: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
-            with parameters
-              _dst: pointer to instance of struct s 
-              _src: instance of struct s 
-            returning 
-              instance of struct s 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct s 
-                  _src: instance of struct s 
-                returning 
-                  instance of struct s 
-
-)
-        Environment: 
-formal type is pointer to instance of struct s 
-actual type is pointer to signed int 
-nameExpr is ?==?
-nameExpr is ?!=?
-nameExpr is ?<<?
-nameExpr is ?>>?
-nameExpr is ?<=?
-nameExpr is ?>=?
-nameExpr is ?!=?
-nameExpr is ?!=?
-nameExpr is *?
-nameExpr is ?+=?
-nameExpr is ?-=?
-nameExpr is ?*=?
-nameExpr is ?/=?
-nameExpr is ?%=?
-nameExpr is ?&=?
-nameExpr is ?|=?
-nameExpr is ?^=?
-nameExpr is ?<<=?
-nameExpr is ?>>=?
-nameExpr is ?!=?
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s 
-
-Error: No reasonable alternatives for expression Name: !?
-
-Error: No reasonable alternatives for expression Name: ~?
-
-Error: No reasonable alternatives for expression Name: +?
-
-Error: No reasonable alternatives for expression Name: -?
-
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: ++?
-
-Error: No reasonable alternatives for expression Name: --?
-
-Error: No reasonable alternatives for expression Name: ?++
-
-Error: No reasonable alternatives for expression Name: ?--
-
-Error: No reasonable alternatives for expression Name: ?+?
-
-Error: No reasonable alternatives for expression Name: ?-?
-
-Error: No reasonable alternatives for expression Name: ?*?
-
-Error: No reasonable alternatives for expression Name: ?/?
-
-Error: No reasonable alternatives for expression Name: ?%?
-
-Error: No reasonable alternatives for expression Name: ?^?
-
-Error: No reasonable alternatives for expression Name: ?&?
-
-Error: No reasonable alternatives for expression Name: ?|?
-
-Error: No reasonable alternatives for expression Name: ?<?
-
-Error: No reasonable alternatives for expression Name: ?>?
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: i
-    Name: i
-
-Error: No reasonable alternatives for expression Name: ?==?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?<<?
-
-Error: No reasonable alternatives for expression Name: ?>>?
-
-Error: No reasonable alternatives for expression Name: ?<=?
-
-Error: No reasonable alternatives for expression Name: ?>=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Name: ?-=?
-
-Error: No reasonable alternatives for expression Name: ?*=?
-
-Error: No reasonable alternatives for expression Name: ?/=?
-
-Error: No reasonable alternatives for expression Name: ?%=?
-
-Error: No reasonable alternatives for expression Name: ?&=?
-
-Error: No reasonable alternatives for expression Name: ?|=?
-
-Error: No reasonable alternatives for expression Name: ?^=?
-
-Error: No reasonable alternatives for expression Name: ?<<=?
-
-Error: No reasonable alternatives for expression Name: ?>>=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
Index: src/Tests/Expect-r/Forall.txt
===================================================================
--- src/Tests/Expect-r/Forall.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,15904 +1,0 @@
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-decl is f: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is x
-decl is x: signed int 
-newExpr is Variable Expression: x: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue signed int 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 29 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 5 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: x: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Variable Expression: x: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Variable Expression: x: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Variable Expression: x: signed int 
-
-bindings are:
-        ( _0_T ) -> signed int 
-cost of conversion is:( 0, 4, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: f: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Variable Expression: x: signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: x: signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> signed int 
-
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: f: function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Variable Expression: x: signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-decl is f: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is y
-decl is y: pointer to function
-  returning 
-    nothing 
-
-newExpr is Variable Expression: y: pointer to function
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: pointer to function
-    returning 
-      nothing 
-
-(types:
-    lvalue pointer to function
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: pointer to function
-    returning 
-      nothing 
-
-(types:
-    lvalue pointer to function
-        returning 
-          nothing 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue pointer to function
-  returning 
-    nothing 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue pointer to function
-  returning 
-    nothing 
-
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-success!
-satisfying assertion 29 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 25 ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: y: pointer to function
-            returning 
-              nothing 
-
---- results are
-        lvalue pointer to function
-            returning 
-              nothing 
-
-
-converting lvalue pointer to function
-          returning 
-            nothing 
-
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to pointer to function
-                returning 
-                  nothing 
-
-            pointer to function
-                returning 
-                  nothing 
-
-          returning 
-            pointer to function
-                returning 
-                  nothing 
-
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Variable Expression: y: pointer to function
-              returning 
-                nothing 
-
-
-bindings are:
-        ( _0_T ) -> pointer to function
-          returning 
-            nothing 
-
-cost of conversion is:( 0, 4, 0 )
-alternatives before prune:
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: y: pointer to function
-        returning 
-          nothing 
-
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> pointer to function
-    returning 
-      nothing 
-
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: f: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-        function
-        with parameters
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: y: pointer to function
-          returning 
-            nothing 
-
-
-  with inferred parameters:
-    ?=?: function
-      with parameters
-        pointer to pointer to function
-            returning 
-              nothing 
-
-        pointer to function
-            returning 
-              nothing 
-
-      returning 
-        pointer to function
-            returning 
-              nothing 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _0_T ) -> pointer to function
-    returning 
-      nothing 
-
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-decl is f: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is z
-decl is z: char 
-newExpr is Variable Expression: z: char 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: z: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: z: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue char 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-success!
-satisfying assertion 29 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 21 ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: z: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: z: char 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 4 )
-actual expression:
-        Variable Expression: z: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to char 
-            char 
-          returning 
-            char 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Variable Expression: z: char 
-
-bindings are:
-        ( _0_T ) -> char 
-cost of conversion is:( 0, 4, 0 )
-alternatives before prune:
-Cost ( 0, 0, 4 ): Application of
-  Variable Expression: f: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Variable Expression: z: char 
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: z: char 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> char 
-
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: f: function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Cast of:
-        Variable Expression: z: char 
-
-      to:
-        signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-decl is f: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is w
-decl is w: float 
-newExpr is Variable Expression: w: float 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: w: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: w: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue float 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-success!
-satisfying assertion 29 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 9 ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: w: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: w: float 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Variable Expression: w: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to float 
-            float 
-          returning 
-            float 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Variable Expression: w: float 
-
-bindings are:
-        ( _0_T ) -> float 
-cost of conversion is:( 0, 4, 0 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: f: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Variable Expression: w: float 
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: w: float 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> float 
-
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: f: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-        function
-        with parameters
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: w: float 
-
-  with inferred parameters:
-    ?=?: function
-      with parameters
-        pointer to float 
-        float 
-      returning 
-        float 
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _0_T ) -> float 
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is h
-decl is h: function
-  with parameters
-    p: pointer to function
-        returning 
-          nothing 
-
-  returning 
-    nothing 
-
-newExpr is Variable Expression: h: function
-    with parameters
-      p: pointer to function
-          returning 
-            nothing 
-
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: h: function
-    with parameters
-      p: pointer to function
-          returning 
-            nothing 
-
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          p: pointer to function
-              returning 
-                nothing 
-
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-decl is f: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is y
-decl is y: pointer to function
-  returning 
-    nothing 
-
-newExpr is Variable Expression: y: pointer to function
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: pointer to function
-    returning 
-      nothing 
-
-(types:
-    lvalue pointer to function
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: pointer to function
-    returning 
-      nothing 
-
-(types:
-    lvalue pointer to function
-        returning 
-          nothing 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue pointer to function
-  returning 
-    nothing 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue pointer to function
-  returning 
-    nothing 
-
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-success!
-satisfying assertion 29 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 25 ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: y: pointer to function
-            returning 
-              nothing 
-
---- results are
-        lvalue pointer to function
-            returning 
-              nothing 
-
-
-converting lvalue pointer to function
-          returning 
-            nothing 
-
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to pointer to function
-                returning 
-                  nothing 
-
-            pointer to function
-                returning 
-                  nothing 
-
-          returning 
-            pointer to function
-                returning 
-                  nothing 
-
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Variable Expression: y: pointer to function
-              returning 
-                nothing 
-
-
-bindings are:
-        ( _0_T ) -> pointer to function
-          returning 
-            nothing 
-
-cost of conversion is:( 0, 4, 0 )
-alternatives before prune:
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: y: pointer to function
-        returning 
-          nothing 
-
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> pointer to function
-    returning 
-      nothing 
-
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: y: pointer to function
-        returning 
-          nothing 
-
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        returning 
-          nothing 
-
-)
-Environment:   ( _0_T ) -> pointer to function
-    returning 
-      nothing 
-
-
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: h: function
-            with parameters
-              p: pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  p: pointer to function
-                      returning 
-                        nothing 
-
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to function
-  returning 
-    nothing 
-
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Application of
-          Variable Expression: f: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Variable Expression: y: pointer to function
-                returning 
-                  nothing 
-
-
-        with inferred parameters:
-          ?=?: function
-            with parameters
-              pointer to pointer to function
-                  returning 
-                    nothing 
-
-              pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              pointer to function
-                  returning 
-                    nothing 
-
-
---- results are
-        pointer to function
-            returning 
-              nothing 
-
-
-converting pointer to function
-          returning 
-            nothing 
-
- to pointer to function
-          returning 
-            nothing 
-
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        p: pointer to function
-            returning 
-              nothing 
-
-actuals are:
-                  Application of
-            Variable Expression: f: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Variable Expression: y: pointer to function
-                  returning 
-                    nothing 
-
-
-          with inferred parameters:
-            ?=?: function
-              with parameters
-                pointer to pointer to function
-                    returning 
-                      nothing 
-
-                pointer to function
-                    returning 
-                      nothing 
-
-              returning 
-                pointer to function
-                    returning 
-                      nothing 
-
-
-
-bindings are:
-        ( _0_T ) -> pointer to function
-          returning 
-            nothing 
- (no widening)
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: h: function
-      with parameters
-        p: pointer to function
-            returning 
-              nothing 
-
-      returning 
-        nothing 
-
-to arguments
-      Application of
-      Variable Expression: f: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Variable Expression: y: pointer to function
-            returning 
-              nothing 
-
-
-    with inferred parameters:
-      ?=?: function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-
-(types:
-)
-Environment:   ( _0_T ) -> pointer to function
-    returning 
-      nothing 
- (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: h: function
-        with parameters
-          p: pointer to function
-              returning 
-                nothing 
-
-        returning 
-          nothing 
-
-  to arguments
-          Application of
-        Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-      to arguments
-                  Variable Expression: y: pointer to function
-              returning 
-                nothing 
-
-
-      with inferred parameters:
-        ?=?: function
-          with parameters
-            pointer to pointer to function
-                returning 
-                  nothing 
-
-            pointer to function
-                returning 
-                  nothing 
-
-          returning 
-            pointer to function
-                returning 
-                  nothing 
-
-
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _0_T ) -> pointer to function
-    returning 
-      nothing 
- (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      nothing 
-
-
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-    U: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type U (not function type) 
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-    instance of type U (not function type) 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-          instance of type _0_T (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _1_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_T (not function type) 
-                    instance of type _1_T (not function type) 
-                  returning 
-                    instance of type _1_T (not function type) 
-
-
-          _2_U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _2_U (not function type) 
-                    instance of type _2_U (not function type) 
-                  returning 
-                    instance of type _2_U (not function type) 
-
-
-        function
-        with parameters
-          instance of type _1_T (not function type) 
-          instance of type _2_U (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is x
-decl is x: signed int 
-newExpr is Variable Expression: x: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is y
-decl is y: float 
-newExpr is Variable Expression: y: float 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type U (not function type) 
-            returning 
-              nothing 
-
-(types:
-            pointer to forall
-                  _1_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _1_T (not function type) 
-                            instance of type _1_T (not function type) 
-                          returning 
-                            instance of type _1_T (not function type) 
-
-
-                  _2_U: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _2_U (not function type) 
-                            instance of type _2_U (not function type) 
-                          returning 
-                            instance of type _2_U (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _1_T (not function type) 
-                  instance of type _2_U (not function type) 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is instance of type _1_T (not function type) 
-actual type is lvalue signed int 
-formal type is instance of type _2_U (not function type) 
-actual type is lvalue float 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _2_U (not function type) 
-            instance of type _2_U (not function type) 
-          returning 
-            instance of type _2_U (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-success!
-satisfying assertion 56 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with declaration 9 ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 52 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with declaration 5 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              nothing 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                  instance of type _0_T (not function type) 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue signed int 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue float 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-success!
-satisfying assertion 45 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 9 ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: x: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to instance of type _1_T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: y: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to instance of type _2_U (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to float 
-            float 
-          returning 
-            float 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _2_U (not function type) 
-            instance of type _2_U (not function type) 
-          returning 
-            instance of type _2_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _1_T (not function type) 
-        instance of type _2_U (not function type) 
-actuals are:
-                  Variable Expression: x: signed int 
-
-                  Variable Expression: y: float 
-
-bindings are:
-        ( _1_T ) -> signed int 
-        ( _2_U ) -> float 
-cost of conversion is:( 0, 8, 0 )
-actual expression:
-        Variable Expression: x: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 5 )
-actual expression:
-        Variable Expression: y: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to float 
-            float 
-          returning 
-            float 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-        instance of type _0_T (not function type) 
-actuals are:
-                  Cast of:
-            Variable Expression: x: signed int 
-
-          to:
-            float 
-
-                  Variable Expression: y: float 
-
-bindings are:
-        ( _0_T ) -> float 
-cost of conversion is:( 0, 5, 5 )
-alternatives before prune:
-Cost ( 0, 8, 0 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-        instance of type U (not function type) 
-      returning 
-        nothing 
-
-to arguments
-      Variable Expression: x: signed int 
-
-      Variable Expression: y: float 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-)
-Environment:   ( _1_T ) -> signed int 
-  ( _2_U ) -> float 
-
-
-Cost ( 0, 5, 5 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Variable Expression: x: signed int 
-
-    to:
-      float 
-
-      Variable Expression: y: float 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-)
-Environment:   ( _0_T ) -> float 
-
-
-cost ( 0, 5, 5 ) beats ( 0, 8, 0 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: f: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-        function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          nothing 
-
-  to arguments
-          Cast of:
-        Variable Expression: x: signed int 
-
-      to:
-        float 
-
-          Variable Expression: y: float 
-
-  with inferred parameters:
-    ?=?: function
-      with parameters
-        pointer to float 
-        float 
-      returning 
-        float 
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _0_T ) -> float 
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      nothing 
-
-
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-    U: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type U (not function type) 
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-    instance of type U (not function type) 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-          instance of type _0_T (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _1_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_T (not function type) 
-                    instance of type _1_T (not function type) 
-                  returning 
-                    instance of type _1_T (not function type) 
-
-
-          _2_U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _2_U (not function type) 
-                    instance of type _2_U (not function type) 
-                  returning 
-                    instance of type _2_U (not function type) 
-
-
-        function
-        with parameters
-          instance of type _1_T (not function type) 
-          instance of type _2_U (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is z
-decl is z: pointer to signed int 
-newExpr is Variable Expression: z: pointer to signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: z: pointer to signed int 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: z: pointer to signed int 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-nameExpr is w
-decl is w: pointer to float 
-newExpr is Variable Expression: w: pointer to float 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: w: pointer to float 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: w: pointer to float 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type U (not function type) 
-            returning 
-              nothing 
-
-(types:
-            pointer to forall
-                  _1_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _1_T (not function type) 
-                            instance of type _1_T (not function type) 
-                          returning 
-                            instance of type _1_T (not function type) 
-
-
-                  _2_U: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _2_U (not function type) 
-                            instance of type _2_U (not function type) 
-                          returning 
-                            instance of type _2_U (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _1_T (not function type) 
-                  instance of type _2_U (not function type) 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is instance of type _1_T (not function type) 
-actual type is lvalue pointer to signed int 
-formal type is instance of type _2_U (not function type) 
-actual type is lvalue pointer to float 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _2_U (not function type) 
-            instance of type _2_U (not function type) 
-          returning 
-            instance of type _2_U (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-success!
-satisfying assertion 56 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with declaration 17 ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-success!
-satisfying assertion 52 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with declaration 13 ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              nothing 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                  instance of type _0_T (not function type) 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue pointer to signed int 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue pointer to float 
-actual expression:
-        Variable Expression: z: pointer to signed int 
---- results are
-        lvalue pointer to signed int 
-
-converting lvalue pointer to signed int 
- to instance of type _1_T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: w: pointer to float 
---- results are
-        lvalue pointer to float 
-
-converting lvalue pointer to float 
- to instance of type _2_U (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to pointer to signed int 
-            pointer to signed int 
-          returning 
-            pointer to signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to pointer to float 
-            pointer to float 
-          returning 
-            pointer to float 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _2_U (not function type) 
-            instance of type _2_U (not function type) 
-          returning 
-            instance of type _2_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _1_T (not function type) 
-        instance of type _2_U (not function type) 
-actuals are:
-                  Variable Expression: z: pointer to signed int 
-
-                  Variable Expression: w: pointer to float 
-
-bindings are:
-        ( _1_T ) -> pointer to signed int 
-        ( _2_U ) -> pointer to float 
-cost of conversion is:( 0, 8, 0 )
-alternatives before prune:
-Cost ( 0, 8, 0 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-        instance of type U (not function type) 
-      returning 
-        nothing 
-
-to arguments
-      Variable Expression: z: pointer to signed int 
-
-      Variable Expression: w: pointer to float 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-  ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-)
-Environment:   ( _1_T ) -> pointer to signed int 
-  ( _2_U ) -> pointer to float 
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: f: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-          U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type U (not function type) 
-                    instance of type U (not function type) 
-                  returning 
-                    instance of type U (not function type) 
-
-
-        function
-        with parameters
-          instance of type T (not function type) 
-          instance of type U (not function type) 
-        returning 
-          nothing 
-
-  to arguments
-          Variable Expression: z: pointer to signed int 
-
-          Variable Expression: w: pointer to float 
-
-  with inferred parameters:
-    ?=?: function
-      with parameters
-        pointer to pointer to signed int 
-        pointer to signed int 
-      returning 
-        pointer to signed int 
-
-    ?=?: function
-      with parameters
-        pointer to pointer to float 
-        pointer to float 
-      returning 
-        pointer to float 
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _1_T ) -> pointer to signed int 
-  ( _2_U ) -> pointer to float 
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      nothing 
-
-
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-    U: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type U (not function type) 
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-    instance of type U (not function type) 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-          instance of type _0_T (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _1_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_T (not function type) 
-                    instance of type _1_T (not function type) 
-                  returning 
-                    instance of type _1_T (not function type) 
-
-
-          _2_U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _2_U (not function type) 
-                    instance of type _2_U (not function type) 
-                  returning 
-                    instance of type _2_U (not function type) 
-
-
-        function
-        with parameters
-          instance of type _1_T (not function type) 
-          instance of type _2_U (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is x
-decl is x: signed int 
-newExpr is Variable Expression: x: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is z
-decl is z: pointer to signed int 
-newExpr is Variable Expression: z: pointer to signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: z: pointer to signed int 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: z: pointer to signed int 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type U (not function type) 
-            returning 
-              nothing 
-
-(types:
-            pointer to forall
-                  _1_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _1_T (not function type) 
-                            instance of type _1_T (not function type) 
-                          returning 
-                            instance of type _1_T (not function type) 
-
-
-                  _2_U: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _2_U (not function type) 
-                            instance of type _2_U (not function type) 
-                          returning 
-                            instance of type _2_U (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _1_T (not function type) 
-                  instance of type _2_U (not function type) 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is instance of type _1_T (not function type) 
-actual type is lvalue signed int 
-formal type is instance of type _2_U (not function type) 
-actual type is lvalue pointer to signed int 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _2_U (not function type) 
-            instance of type _2_U (not function type) 
-          returning 
-            instance of type _2_U (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 52 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with declaration 5 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-success!
-satisfying assertion 56 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with declaration 13 ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_U (not function type) 
-    instance of type _2_U (not function type) 
-  returning 
-    instance of type _2_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              nothing 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                  instance of type _0_T (not function type) 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue signed int 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue pointer to signed int 
-actual expression:
-        Variable Expression: x: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to instance of type _1_T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: z: pointer to signed int 
---- results are
-        lvalue pointer to signed int 
-
-converting lvalue pointer to signed int 
- to instance of type _2_U (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to pointer to signed int 
-            pointer to signed int 
-          returning 
-            pointer to signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _2_U (not function type) 
-            instance of type _2_U (not function type) 
-          returning 
-            instance of type _2_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _1_T (not function type) 
-        instance of type _2_U (not function type) 
-actuals are:
-                  Variable Expression: x: signed int 
-
-                  Variable Expression: z: pointer to signed int 
-
-bindings are:
-        ( _1_T ) -> signed int 
-        ( _2_U ) -> pointer to signed int 
-cost of conversion is:( 0, 8, 0 )
-alternatives before prune:
-Cost ( 0, 8, 0 ): Application of
-  Variable Expression: f: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-        instance of type U (not function type) 
-      returning 
-        nothing 
-
-to arguments
-      Variable Expression: x: signed int 
-
-      Variable Expression: z: pointer to signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-)
-Environment:   ( _1_T ) -> signed int 
-  ( _2_U ) -> pointer to signed int 
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: f: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-          U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type U (not function type) 
-                    instance of type U (not function type) 
-                  returning 
-                    instance of type U (not function type) 
-
-
-        function
-        with parameters
-          instance of type T (not function type) 
-          instance of type U (not function type) 
-        returning 
-          nothing 
-
-  to arguments
-          Variable Expression: x: signed int 
-
-          Variable Expression: z: pointer to signed int 
-
-  with inferred parameters:
-    ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-    ?=?: function
-      with parameters
-        pointer to pointer to signed int 
-        pointer to signed int 
-      returning 
-        pointer to signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _1_T ) -> signed int 
-  ( _2_U ) -> pointer to signed int 
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is left
-decl is left: instance of type T (not function type) 
-newExpr is Variable Expression: left: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: left: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: left: instance of type T (not function type) 
-
-to:
-  instance of type T (not function type) 
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-decl is ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-nameExpr is temp
-decl is temp: instance of type T (not function type) with initializer 
-Simple Initializer:   Cast of:
-    Variable Expression: left: instance of type T (not function type) 
-
-  to:
-    instance of type T (not function type) 
-  with environment:
-    Types:
-    Non-types:
-
-newExpr is Variable Expression: temp: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: temp: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: temp: instance of type T (not function type) 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: temp: instance of type T (not function type) 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-nameExpr is left
-decl is left: instance of type T (not function type) 
-newExpr is Variable Expression: left: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: left: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: left: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to signed int 
-              pointer to signed int 
-            returning 
-              pointer to signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to signed int 
-                  pointer to signed int 
-                returning 
-                  pointer to signed int 
-
-)
-        Environment: 
-formal type is pointer to pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to float 
-              pointer to float 
-            returning 
-              pointer to float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to float 
-                  pointer to float 
-                returning 
-                  pointer to float 
-
-)
-        Environment: 
-formal type is pointer to pointer to float 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to function
-                  returning 
-                    nothing 
-
-              pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              pointer to function
-                  returning 
-                    nothing 
-
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to function
-                      returning 
-                        nothing 
-
-                  pointer to function
-                      returning 
-                        nothing 
-
-                returning 
-                  pointer to function
-                      returning 
-                        nothing 
-
-
-)
-        Environment: 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Address of:
-          Variable Expression: temp: instance of type T (not function type) 
---- results are
-        pointer to instance of type T (not function type) 
-
-converting pointer to instance of type T (not function type) 
- to pointer to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: left: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to instance of type T (not function type) 
-        instance of type T (not function type) 
-actuals are:
-                  Address of:
-            Variable Expression: temp: instance of type T (not function type) 
-
-                  Variable Expression: left: instance of type T (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: pointer to function
-      with parameters
-        pointer to instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Address of:
-      Variable Expression: temp: instance of type T (not function type) 
-
-      Variable Expression: left: instance of type T (not function type) 
-
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Address of:
-        Variable Expression: temp: instance of type T (not function type) 
-
-          Variable Expression: left: instance of type T (not function type) 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-decl is ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-nameExpr is left
-decl is left: instance of type T (not function type) 
-newExpr is Variable Expression: left: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: left: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: left: instance of type T (not function type) 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: left: instance of type T (not function type) 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-nameExpr is right
-decl is right: instance of type T (not function type) 
-newExpr is Variable Expression: right: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: right: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: right: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to signed int 
-              pointer to signed int 
-            returning 
-              pointer to signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to signed int 
-                  pointer to signed int 
-                returning 
-                  pointer to signed int 
-
-)
-        Environment: 
-formal type is pointer to pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to float 
-              pointer to float 
-            returning 
-              pointer to float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to float 
-                  pointer to float 
-                returning 
-                  pointer to float 
-
-)
-        Environment: 
-formal type is pointer to pointer to float 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to function
-                  returning 
-                    nothing 
-
-              pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              pointer to function
-                  returning 
-                    nothing 
-
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to function
-                      returning 
-                        nothing 
-
-                  pointer to function
-                      returning 
-                        nothing 
-
-                returning 
-                  pointer to function
-                      returning 
-                        nothing 
-
-
-)
-        Environment: 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Address of:
-          Variable Expression: left: instance of type T (not function type) 
---- results are
-        pointer to instance of type T (not function type) 
-
-converting pointer to instance of type T (not function type) 
- to pointer to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: right: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to instance of type T (not function type) 
-        instance of type T (not function type) 
-actuals are:
-                  Address of:
-            Variable Expression: left: instance of type T (not function type) 
-
-                  Variable Expression: right: instance of type T (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: pointer to function
-      with parameters
-        pointer to instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Address of:
-      Variable Expression: left: instance of type T (not function type) 
-
-      Variable Expression: right: instance of type T (not function type) 
-
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Address of:
-        Variable Expression: left: instance of type T (not function type) 
-
-          Variable Expression: right: instance of type T (not function type) 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-decl is ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-nameExpr is right
-decl is right: instance of type T (not function type) 
-newExpr is Variable Expression: right: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: right: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: right: instance of type T (not function type) 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: right: instance of type T (not function type) 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-nameExpr is temp
-decl is temp: instance of type T (not function type) with initializer 
-Simple Initializer:   Cast of:
-    Variable Expression: left: instance of type T (not function type) 
-
-  to:
-    instance of type T (not function type) 
-  with environment:
-    Types:
-    Non-types:
-
-newExpr is Variable Expression: temp: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: temp: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: temp: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to signed int 
-              pointer to signed int 
-            returning 
-              pointer to signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to signed int 
-                  pointer to signed int 
-                returning 
-                  pointer to signed int 
-
-)
-        Environment: 
-formal type is pointer to pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to float 
-              pointer to float 
-            returning 
-              pointer to float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to float 
-                  pointer to float 
-                returning 
-                  pointer to float 
-
-)
-        Environment: 
-formal type is pointer to pointer to float 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to function
-                  returning 
-                    nothing 
-
-              pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              pointer to function
-                  returning 
-                    nothing 
-
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to function
-                      returning 
-                        nothing 
-
-                  pointer to function
-                      returning 
-                        nothing 
-
-                returning 
-                  pointer to function
-                      returning 
-                        nothing 
-
-
-)
-        Environment: 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Address of:
-          Variable Expression: right: instance of type T (not function type) 
---- results are
-        pointer to instance of type T (not function type) 
-
-converting pointer to instance of type T (not function type) 
- to pointer to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: temp: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to instance of type T (not function type) 
-        instance of type T (not function type) 
-actuals are:
-                  Address of:
-            Variable Expression: right: instance of type T (not function type) 
-
-                  Variable Expression: temp: instance of type T (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: pointer to function
-      with parameters
-        pointer to instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Address of:
-      Variable Expression: right: instance of type T (not function type) 
-
-      Variable Expression: temp: instance of type T (not function type) 
-
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Address of:
-        Variable Expression: right: instance of type T (not function type) 
-
-          Variable Expression: temp: instance of type T (not function type) 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type P1 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: instance of type P1 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  j: instance of type P2 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                j: instance of type P2 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T1 (not function type) 
-    _src: instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T2 (not function type) 
-    _src: instance of type T2 (not function type) 
-  returning 
-    instance of type T2 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T3 (not function type) 
-    _src: instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T1 (not function type) 
-          _src: instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T2 (not function type) 
-          _src: instance of type T2 (not function type) 
-        returning 
-          instance of type T2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T3 (not function type) 
-          _src: instance of type T3 (not function type) 
-        returning 
-          instance of type T3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 10 alternatives before elimination
-there are 10 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type P1 (not function type) 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue instance of type P1 (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of type P1 (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to instance of type P1 (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of type P1 (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to instance of type P1 (not function type) 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type P1 (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of type P1 (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type P1 (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of type P1 (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to instance of type P1 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to instance of type P1 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to instance of type P1 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to signed int 
-              pointer to signed int 
-            returning 
-              pointer to signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to signed int 
-                  pointer to signed int 
-                returning 
-                  pointer to signed int 
-
-)
-        Environment: 
-formal type is pointer to pointer to signed int 
-actual type is pointer to instance of type P1 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to float 
-              pointer to float 
-            returning 
-              pointer to float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to float 
-                  pointer to float 
-                returning 
-                  pointer to float 
-
-)
-        Environment: 
-formal type is pointer to pointer to float 
-actual type is pointer to instance of type P1 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to function
-                  returning 
-                    nothing 
-
-              pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              pointer to function
-                  returning 
-                    nothing 
-
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to function
-                      returning 
-                        nothing 
-
-                  pointer to function
-                      returning 
-                        nothing 
-
-                returning 
-                  pointer to function
-                      returning 
-                        nothing 
-
-
-)
-        Environment: 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to instance of type P1 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T3 (not function type) 
-              _src: instance of type T3 (not function type) 
-            returning 
-              instance of type T3 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T3 (not function type) 
-                  _src: instance of type T3 (not function type) 
-                returning 
-                  instance of type T3 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to instance of type P1 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T2 (not function type) 
-              _src: instance of type T2 (not function type) 
-            returning 
-              instance of type T2 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T2 (not function type) 
-                  _src: instance of type T2 (not function type) 
-                returning 
-                  instance of type T2 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to instance of type P1 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T1 (not function type) 
-              _src: instance of type T1 (not function type) 
-            returning 
-              instance of type T1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T1 (not function type) 
-                  _src: instance of type T1 (not function type) 
-                returning 
-                  instance of type T1 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to instance of type P1 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type P1 (not function type) 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type P1 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: instance of type P1 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  j: instance of type P2 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                j: instance of type P2 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T1 (not function type) 
-    _src: instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T2 (not function type) 
-    _src: instance of type T2 (not function type) 
-  returning 
-    instance of type T2 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T3 (not function type) 
-    _src: instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T1 (not function type) 
-          _src: instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T2 (not function type) 
-          _src: instance of type T2 (not function type) 
-        returning 
-          instance of type T2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T3 (not function type) 
-          _src: instance of type T3 (not function type) 
-        returning 
-          instance of type T3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 10 alternatives before elimination
-there are 10 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  j: instance of type P2 (not function type) 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue instance of type P2 (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    j: instance of type P2 (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to instance of type P2 (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    j: instance of type P2 (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to instance of type P2 (not function type) 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  j: instance of type P2 (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of type P2 (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  j: instance of type P2 (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of type P2 (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to instance of type P2 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to instance of type P2 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to instance of type P2 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to signed int 
-              pointer to signed int 
-            returning 
-              pointer to signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to signed int 
-                  pointer to signed int 
-                returning 
-                  pointer to signed int 
-
-)
-        Environment: 
-formal type is pointer to pointer to signed int 
-actual type is pointer to instance of type P2 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to float 
-              pointer to float 
-            returning 
-              pointer to float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to float 
-                  pointer to float 
-                returning 
-                  pointer to float 
-
-)
-        Environment: 
-formal type is pointer to pointer to float 
-actual type is pointer to instance of type P2 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to function
-                  returning 
-                    nothing 
-
-              pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              pointer to function
-                  returning 
-                    nothing 
-
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to function
-                      returning 
-                        nothing 
-
-                  pointer to function
-                      returning 
-                        nothing 
-
-                returning 
-                  pointer to function
-                      returning 
-                        nothing 
-
-
-)
-        Environment: 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to instance of type P2 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T3 (not function type) 
-              _src: instance of type T3 (not function type) 
-            returning 
-              instance of type T3 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T3 (not function type) 
-                  _src: instance of type T3 (not function type) 
-                returning 
-                  instance of type T3 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to instance of type P2 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T2 (not function type) 
-              _src: instance of type T2 (not function type) 
-            returning 
-              instance of type T2 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T2 (not function type) 
-                  _src: instance of type T2 (not function type) 
-                returning 
-                  instance of type T2 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to instance of type P2 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T1 (not function type) 
-              _src: instance of type T1 (not function type) 
-            returning 
-              instance of type T1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T1 (not function type) 
-                  _src: instance of type T1 (not function type) 
-                returning 
-                  instance of type T1 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to instance of type P2 (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type P2 (not function type) 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-(types:
-    instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type P1 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: instance of type P1 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  j: instance of type P2 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                j: instance of type P2 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T1 (not function type) 
-    _src: instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T2 (not function type) 
-    _src: instance of type T2 (not function type) 
-  returning 
-    instance of type T2 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type T2 (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T3 (not function type) 
-    _src: instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T1 (not function type) 
-          _src: instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T2 (not function type) 
-          _src: instance of type T2 (not function type) 
-        returning 
-          instance of type T2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T3 (not function type) 
-          _src: instance of type T3 (not function type) 
-        returning 
-          instance of type T3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 10 alternatives before elimination
-there are 10 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-(types:
-    lvalue pointer to instance of type T2 (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type P1 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: instance of type P1 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  j: instance of type P2 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                j: instance of type P2 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T1 (not function type) 
-    _src: instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T2 (not function type) 
-    _src: instance of type T2 (not function type) 
-  returning 
-    instance of type T2 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type T2 (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T3 (not function type) 
-    _src: instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type w3 (not function type) 
-    _src: instance of type w3 (not function type) 
-  returning 
-    instance of type w3 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
-
-    to:
-      pointer to instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-    Cast of:
-      Variable Expression: _src: instance of type w3 (not function type) 
-
-    to:
-      instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type w3 (not function type) 
-      _src: instance of type w3 (not function type) 
-    returning 
-      instance of type w3 (not function type) 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T1 (not function type) 
-          _src: instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T2 (not function type) 
-          _src: instance of type T2 (not function type) 
-        returning 
-          instance of type T2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T3 (not function type) 
-          _src: instance of type T3 (not function type) 
-        returning 
-          instance of type T3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type w3 (not function type) 
-      _src: instance of type w3 (not function type) 
-    returning 
-      instance of type w3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type w3 (not function type) 
-          _src: instance of type w3 (not function type) 
-        returning 
-          instance of type w3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 11 alternatives before elimination
-there are 11 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type w3 (not function type) 
-(types:
-    lvalue pointer to instance of type w3 (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is 0
-decl is 0: const instance of type T (not function type) 
-newExpr is Variable Expression: 0: const instance of type T (not function type) 
-
-decl is 0: const instance of type T1 (not function type) 
-newExpr is Variable Expression: 0: const instance of type T1 (not function type) 
-
-decl is 0: const instance of type T2 (not function type) 
-with parameters
-  instance of type P1 (not function type) 
-  instance of type P2 (not function type) 
-
-newExpr is Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-
-decl is 0: const instance of type T3 (not function type) 
-newExpr is Variable Expression: 0: const instance of type T3 (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
-(types:
-    const lvalue instance of type T (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
-(types:
-    const lvalue instance of type T1 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-(types:
-    const lvalue instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
-(types:
-    const lvalue instance of type T3 (not function type) 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: 0: const instance of type T (not function type) 
-
-to:
-  instance of type T (not function type) 
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type P1 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: instance of type P1 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  j: instance of type P2 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                j: instance of type P2 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T1 (not function type) 
-    _src: instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T2 (not function type) 
-    _src: instance of type T2 (not function type) 
-  returning 
-    instance of type T2 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type T2 (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T3 (not function type) 
-    _src: instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type w3 (not function type) 
-    _src: instance of type w3 (not function type) 
-  returning 
-    instance of type w3 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
-
-    to:
-      pointer to instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-    Cast of:
-      Variable Expression: _src: instance of type w3 (not function type) 
-
-    to:
-      instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type w3 (not function type) 
-      _src: instance of type w3 (not function type) 
-    returning 
-      instance of type w3 (not function type) 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-decl is ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T1 (not function type) 
-          _src: instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T2 (not function type) 
-          _src: instance of type T2 (not function type) 
-        returning 
-          instance of type T2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T3 (not function type) 
-          _src: instance of type T3 (not function type) 
-        returning 
-          instance of type T3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type w3 (not function type) 
-      _src: instance of type w3 (not function type) 
-    returning 
-      instance of type w3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type w3 (not function type) 
-          _src: instance of type w3 (not function type) 
-        returning 
-          instance of type w3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 12 alternatives before elimination
-there are 12 alternatives after elimination
-nameExpr is total
-decl is total: instance of type T (not function type) with initializer 
-Simple Initializer:   Cast of:
-    Variable Expression: 0: const instance of type T (not function type) 
-
-  to:
-    instance of type T (not function type) 
-  with environment:
-    Types:
-    Non-types:
-
-newExpr is Variable Expression: total: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: total: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: total: instance of type T (not function type) 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: total: instance of type T (not function type) 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: const instance of type T (not function type) 
-newExpr is Variable Expression: 0: const instance of type T (not function type) 
-
-decl is 0: const instance of type T1 (not function type) 
-newExpr is Variable Expression: 0: const instance of type T1 (not function type) 
-
-decl is 0: const instance of type T2 (not function type) 
-with parameters
-  instance of type P1 (not function type) 
-  instance of type P2 (not function type) 
-
-newExpr is Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-
-decl is 0: const instance of type T3 (not function type) 
-newExpr is Variable Expression: 0: const instance of type T3 (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
-(types:
-    const lvalue instance of type T (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
-(types:
-    const lvalue instance of type T1 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-(types:
-    const lvalue instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
-(types:
-    const lvalue instance of type T3 (not function type) 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
-(types:
-    const lvalue instance of type T3 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-(types:
-    const lvalue instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
-(types:
-    const lvalue instance of type T1 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
-(types:
-    const lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to float 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to float 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to float 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to char 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to char 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to char 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to signed int 
-              pointer to signed int 
-            returning 
-              pointer to signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to signed int 
-                  pointer to signed int 
-                returning 
-                  pointer to signed int 
-
-)
-        Environment: 
-formal type is pointer to pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to pointer to signed int 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to float 
-              pointer to float 
-            returning 
-              pointer to float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to float 
-                  pointer to float 
-                returning 
-                  pointer to float 
-
-)
-        Environment: 
-formal type is pointer to pointer to float 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to pointer to float 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to pointer to float 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to pointer to float 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to function
-                  returning 
-                    nothing 
-
-              pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              pointer to function
-                  returning 
-                    nothing 
-
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to function
-                      returning 
-                        nothing 
-
-                  pointer to function
-                      returning 
-                        nothing 
-
-                returning 
-                  pointer to function
-                      returning 
-                        nothing 
-
-
-)
-        Environment: 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type w3 (not function type) 
-              _src: instance of type w3 (not function type) 
-            returning 
-              instance of type w3 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type w3 (not function type) 
-                  _src: instance of type w3 (not function type) 
-                returning 
-                  instance of type w3 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type w3 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type w3 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type w3 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type w3 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T3 (not function type) 
-              _src: instance of type T3 (not function type) 
-            returning 
-              instance of type T3 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T3 (not function type) 
-                  _src: instance of type T3 (not function type) 
-                returning 
-                  instance of type T3 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T2 (not function type) 
-              _src: instance of type T2 (not function type) 
-            returning 
-              instance of type T2 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T2 (not function type) 
-                  _src: instance of type T2 (not function type) 
-                returning 
-                  instance of type T2 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T1 (not function type) 
-              _src: instance of type T1 (not function type) 
-            returning 
-              instance of type T1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T1 (not function type) 
-                  _src: instance of type T1 (not function type) 
-                returning 
-                  instance of type T1 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type T (not function type) 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is const lvalue instance of type T3 (not function type) 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is const lvalue instance of type T2 (not function type) 
-with parameters
-  instance of type P1 (not function type) 
-  instance of type P2 (not function type) 
-
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is const lvalue instance of type T1 (not function type) 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is const lvalue instance of type T (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Address of:
-          Variable Expression: total: instance of type T (not function type) 
---- results are
-        pointer to instance of type T (not function type) 
-
-converting pointer to instance of type T (not function type) 
- to pointer to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: 0: const instance of type T (not function type) 
---- results are
-        const lvalue instance of type T (not function type) 
-
-converting const lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to instance of type T (not function type) 
-        instance of type T (not function type) 
-actuals are:
-                  Address of:
-            Variable Expression: total: instance of type T (not function type) 
-
-                  Variable Expression: 0: const instance of type T (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: pointer to function
-      with parameters
-        pointer to instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Address of:
-      Variable Expression: total: instance of type T (not function type) 
-
-      Variable Expression: 0: const instance of type T (not function type) 
-
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Address of:
-        Variable Expression: total: instance of type T (not function type) 
-
-          Variable Expression: 0: const instance of type T (not function type) 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type P1 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: instance of type P1 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  j: instance of type P2 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                j: instance of type P2 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T1 (not function type) 
-    _src: instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T2 (not function type) 
-    _src: instance of type T2 (not function type) 
-  returning 
-    instance of type T2 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type T2 (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T3 (not function type) 
-    _src: instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type w3 (not function type) 
-    _src: instance of type w3 (not function type) 
-  returning 
-    instance of type w3 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
-
-    to:
-      pointer to instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-    Cast of:
-      Variable Expression: _src: instance of type w3 (not function type) 
-
-    to:
-      instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type w3 (not function type) 
-      _src: instance of type w3 (not function type) 
-    returning 
-      instance of type w3 (not function type) 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-decl is ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T1 (not function type) 
-          _src: instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T2 (not function type) 
-          _src: instance of type T2 (not function type) 
-        returning 
-          instance of type T2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T3 (not function type) 
-          _src: instance of type T3 (not function type) 
-        returning 
-          instance of type T3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type w3 (not function type) 
-      _src: instance of type w3 (not function type) 
-    returning 
-      instance of type w3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type w3 (not function type) 
-          _src: instance of type w3 (not function type) 
-        returning 
-          instance of type w3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 12 alternatives before elimination
-there are 12 alternatives after elimination
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: i: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: i: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: const instance of type T (not function type) 
-newExpr is Variable Expression: 0: const instance of type T (not function type) 
-
-decl is 0: const instance of type T1 (not function type) 
-newExpr is Variable Expression: 0: const instance of type T1 (not function type) 
-
-decl is 0: const instance of type T2 (not function type) 
-with parameters
-  instance of type P1 (not function type) 
-  instance of type P2 (not function type) 
-
-newExpr is Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-
-decl is 0: const instance of type T3 (not function type) 
-newExpr is Variable Expression: 0: const instance of type T3 (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
-(types:
-    const lvalue instance of type T (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
-(types:
-    const lvalue instance of type T1 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-(types:
-    const lvalue instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
-(types:
-    const lvalue instance of type T3 (not function type) 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
-(types:
-    const lvalue instance of type T3 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-(types:
-    const lvalue instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
-(types:
-    const lvalue instance of type T1 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
-(types:
-    const lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-formal type is signed int 
-actual type is const lvalue instance of type T3 (not function type) 
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-formal type is signed int 
-actual type is const lvalue instance of type T2 (not function type) 
-with parameters
-  instance of type P1 (not function type) 
-  instance of type P2 (not function type) 
-
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-formal type is signed int 
-actual type is const lvalue instance of type T1 (not function type) 
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-formal type is signed int 
-actual type is const lvalue instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to signed int 
-formal type is pointer to float 
-actual type is pointer to signed int 
-formal type is pointer to float 
-actual type is pointer to signed int 
-formal type is pointer to float 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to signed int 
-formal type is pointer to char 
-actual type is pointer to signed int 
-formal type is pointer to char 
-actual type is pointer to signed int 
-formal type is pointer to char 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to signed int 
-              pointer to signed int 
-            returning 
-              pointer to signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to signed int 
-                  pointer to signed int 
-                returning 
-                  pointer to signed int 
-
-)
-        Environment: 
-formal type is pointer to pointer to signed int 
-actual type is pointer to signed int 
-formal type is pointer to pointer to signed int 
-actual type is pointer to signed int 
-formal type is pointer to pointer to signed int 
-actual type is pointer to signed int 
-formal type is pointer to pointer to signed int 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to float 
-              pointer to float 
-            returning 
-              pointer to float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to float 
-                  pointer to float 
-                returning 
-                  pointer to float 
-
-)
-        Environment: 
-formal type is pointer to pointer to float 
-actual type is pointer to signed int 
-formal type is pointer to pointer to float 
-actual type is pointer to signed int 
-formal type is pointer to pointer to float 
-actual type is pointer to signed int 
-formal type is pointer to pointer to float 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to pointer to function
-                  returning 
-                    nothing 
-
-              pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              pointer to function
-                  returning 
-                    nothing 
-
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to pointer to function
-                      returning 
-                        nothing 
-
-                  pointer to function
-                      returning 
-                        nothing 
-
-                returning 
-                  pointer to function
-                      returning 
-                        nothing 
-
-
-)
-        Environment: 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to signed int 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to signed int 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to signed int 
-formal type is pointer to pointer to function
-  returning 
-    nothing 
-
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type w3 (not function type) 
-              _src: instance of type w3 (not function type) 
-            returning 
-              instance of type w3 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type w3 (not function type) 
-                  _src: instance of type w3 (not function type) 
-                returning 
-                  instance of type w3 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type w3 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type w3 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type w3 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type w3 (not function type) 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T3 (not function type) 
-              _src: instance of type T3 (not function type) 
-            returning 
-              instance of type T3 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T3 (not function type) 
-                  _src: instance of type T3 (not function type) 
-                returning 
-                  instance of type T3 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T3 (not function type) 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T2 (not function type) 
-              _src: instance of type T2 (not function type) 
-            returning 
-              instance of type T2 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T2 (not function type) 
-                  _src: instance of type T2 (not function type) 
-                returning 
-                  instance of type T2 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T2 (not function type) 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type T1 (not function type) 
-              _src: instance of type T1 (not function type) 
-            returning 
-              instance of type T1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type T1 (not function type) 
-                  _src: instance of type T1 (not function type) 
-                returning 
-                  instance of type T1 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T1 (not function type) 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type T (not function type) 
-actual type is pointer to signed int 
-nameExpr is total
-decl is total: instance of type T (not function type) with initializer 
-Simple Initializer:   Cast of:
-    Variable Expression: 0: const instance of type T (not function type) 
-
-  to:
-    instance of type T (not function type) 
-  with environment:
-    Types:
-    Non-types:
-
-newExpr is Variable Expression: total: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: total: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: total: instance of type T (not function type) 
-
-to:
-  instance of type T (not function type) 
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?+?
-decl is ?+?: function
-  with parameters
-    instance of type T1 (not function type) 
-    instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-newExpr is Variable Expression: ?+?: function
-    with parameters
-      instance of type T1 (not function type) 
-      instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-
-decl is ?+?: function
-  with parameters
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-  returning 
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-
-newExpr is Variable Expression: ?+?: function
-    with parameters
-      instance of type T2 (not function type) 
-        with parameters
-          instance of type P1 (not function type) 
-          instance of type P2 (not function type) 
-
-      instance of type T2 (not function type) 
-        with parameters
-          instance of type P1 (not function type) 
-          instance of type P2 (not function type) 
-
-    returning 
-      instance of type T2 (not function type) 
-        with parameters
-          instance of type P1 (not function type) 
-          instance of type P2 (not function type) 
-
-
-
-decl is ?+?: function
-  with parameters
-    instance of type T3 (not function type) 
-    instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-newExpr is Variable Expression: ?+?: function
-    with parameters
-      instance of type T3 (not function type) 
-      instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-
-decl is ?+?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?+?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
-    with parameters
-      instance of type T1 (not function type) 
-      instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          instance of type T1 (not function type) 
-          instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
-    with parameters
-      instance of type T2 (not function type) 
-        with parameters
-          instance of type P1 (not function type) 
-          instance of type P2 (not function type) 
-
-      instance of type T2 (not function type) 
-        with parameters
-          instance of type P1 (not function type) 
-          instance of type P2 (not function type) 
-
-    returning 
-      instance of type T2 (not function type) 
-        with parameters
-          instance of type P1 (not function type) 
-          instance of type P2 (not function type) 
-
-
-(types:
-    pointer to function
-        with parameters
-          instance of type T2 (not function type) 
-            with parameters
-              instance of type P1 (not function type) 
-              instance of type P2 (not function type) 
-
-          instance of type T2 (not function type) 
-            with parameters
-              instance of type P1 (not function type) 
-              instance of type P2 (not function type) 
-
-        returning 
-          instance of type T2 (not function type) 
-            with parameters
-              instance of type P1 (not function type) 
-              instance of type P2 (not function type) 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
-    with parameters
-      instance of type T3 (not function type) 
-      instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          instance of type T3 (not function type) 
-          instance of type T3 (not function type) 
-        returning 
-          instance of type T3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?+?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-nameExpr is t
-decl is t: instance of type T (not function type) 
-newExpr is Variable Expression: t: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-nameExpr is t
-decl is t: instance of type T (not function type) 
-newExpr is Variable Expression: t: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
-            with parameters
-              instance of type T3 (not function type) 
-              instance of type T3 (not function type) 
-            returning 
-              instance of type T3 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  instance of type T3 (not function type) 
-                  instance of type T3 (not function type) 
-                returning 
-                  instance of type T3 (not function type) 
-
-)
-        Environment: 
-formal type is instance of type T3 (not function type) 
-actual type is lvalue instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
-            with parameters
-              instance of type T2 (not function type) 
-                with parameters
-                  instance of type P1 (not function type) 
-                  instance of type P2 (not function type) 
-
-              instance of type T2 (not function type) 
-                with parameters
-                  instance of type P1 (not function type) 
-                  instance of type P2 (not function type) 
-
-            returning 
-              instance of type T2 (not function type) 
-                with parameters
-                  instance of type P1 (not function type) 
-                  instance of type P2 (not function type) 
-
-
-(types:
-            pointer to function
-                with parameters
-                  instance of type T2 (not function type) 
-                    with parameters
-                      instance of type P1 (not function type) 
-                      instance of type P2 (not function type) 
-
-                  instance of type T2 (not function type) 
-                    with parameters
-                      instance of type P1 (not function type) 
-                      instance of type P2 (not function type) 
-
-                returning 
-                  instance of type T2 (not function type) 
-                    with parameters
-                      instance of type P1 (not function type) 
-                      instance of type P2 (not function type) 
-
-
-)
-        Environment: 
-formal type is instance of type T2 (not function type) 
-with parameters
-  instance of type P1 (not function type) 
-  instance of type P2 (not function type) 
-
-actual type is lvalue instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
-            with parameters
-              instance of type T1 (not function type) 
-              instance of type T1 (not function type) 
-            returning 
-              instance of type T1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  instance of type T1 (not function type) 
-                  instance of type T1 (not function type) 
-                returning 
-                  instance of type T1 (not function type) 
-
-)
-        Environment: 
-formal type is instance of type T1 (not function type) 
-actual type is lvalue instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: t: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: t: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-actuals are:
-                  Variable Expression: t: instance of type T (not function type) 
-
-                  Variable Expression: t: instance of type T (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?+?: pointer to function
-      with parameters
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: t: instance of type T (not function type) 
-
-      Variable Expression: t: instance of type T (not function type) 
-
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?+?: pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: t: instance of type T (not function type) 
-
-          Variable Expression: t: instance of type T (not function type) 
-
-
-to:
-  instance of type T (not function type) 
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?!=?
-decl is ?!=?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      signed int 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?<?
-decl is ?<?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?<?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?<?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      signed int 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is t1
-decl is t1: instance of type T (not function type) 
-newExpr is Variable Expression: t1: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t1: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t1: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-nameExpr is t2
-decl is t2: instance of type T (not function type) 
-newExpr is Variable Expression: t2: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t2: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t2: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?<?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              signed int 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: t1: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: t2: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-actuals are:
-                  Variable Expression: t1: instance of type T (not function type) 
-
-                  Variable Expression: t2: instance of type T (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?<?: pointer to function
-      with parameters
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: t1: instance of type T (not function type) 
-
-      Variable Expression: t2: instance of type T (not function type) 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?<?: pointer to function
-      with parameters
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: t1: instance of type T (not function type) 
-
-      Variable Expression: t2: instance of type T (not function type) 
-
-(types:
-    signed int 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: const instance of type T (not function type) 
-newExpr is Variable Expression: 0: const instance of type T (not function type) 
-
-decl is 0: const instance of type T1 (not function type) 
-newExpr is Variable Expression: 0: const instance of type T1 (not function type) 
-
-decl is 0: const instance of type T2 (not function type) 
-with parameters
-  instance of type P1 (not function type) 
-  instance of type P2 (not function type) 
-
-newExpr is Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-
-decl is 0: const instance of type T3 (not function type) 
-newExpr is Variable Expression: 0: const instance of type T3 (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
-(types:
-    const lvalue instance of type T (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
-(types:
-    const lvalue instance of type T1 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-(types:
-    const lvalue instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
-(types:
-    const lvalue instance of type T3 (not function type) 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
-(types:
-    const lvalue instance of type T3 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
-  with parameters
-    instance of type P1 (not function type) 
-    instance of type P2 (not function type) 
-
-(types:
-    const lvalue instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
-(types:
-    const lvalue instance of type T1 (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
-(types:
-    const lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              signed int 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is instance of type T (not function type) 
-actual type is signed int 
-formal type is instance of type T (not function type) 
-actual type is signed int 
-formal type is instance of type T (not function type) 
-actual type is signed int 
-formal type is instance of type T (not function type) 
-actual type is signed int 
-nameExpr is 1
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-constant expression 2 signed int 
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is swap
-decl is swap: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    left: instance of type T (not function type) 
-    right: instance of type T (not function type) 
-  returning 
-    nothing 
-  with body 
-    CompoundStmt
-      Declaration of temp: instance of type T (not function type) with initializer 
-        Simple Initializer:           Cast of:
-            Variable Expression: left: instance of type T (not function type) 
-
-          to:
-            instance of type T (not function type) 
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Address of:
-                Variable Expression: temp: instance of type T (not function type) 
-
-                          Variable Expression: left: instance of type T (not function type) 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Address of:
-                Variable Expression: left: instance of type T (not function type) 
-
-                          Variable Expression: right: instance of type T (not function type) 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Address of:
-                Variable Expression: right: instance of type T (not function type) 
-
-                          Variable Expression: temp: instance of type T (not function type) 
-
-          with environment:
-            Types:
-            Non-types:
-
-
-newExpr is Variable Expression: swap: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      left: instance of type T (not function type) 
-      right: instance of type T (not function type) 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: swap: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      left: instance of type T (not function type) 
-      right: instance of type T (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          left: instance of type _0_T (not function type) 
-          right: instance of type _0_T (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is x
-nameExpr is twice
-decl is twice: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        0: const instance of type T (not function type) 
-        ?+?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        ?++: pointer to function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        ?+=?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    t: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?+?: pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: t: instance of type T (not function type) 
-
-          Variable Expression: t: instance of type T (not function type) 
-
-
-to:
-  instance of type T (not function type) 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: twice: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?+?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?++: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?+=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: twice: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?+?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?++: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?+=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-              0: const instance of type _0_T (not function type) 
-              ?+?: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-              ?++: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-              ?+=?: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          t: instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is x
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type P1 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: instance of type P1 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  j: instance of type P2 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                j: instance of type P2 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T1 (not function type) 
-    _src: instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T2 (not function type) 
-    _src: instance of type T2 (not function type) 
-  returning 
-    instance of type T2 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type T2 (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T3 (not function type) 
-    _src: instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type w3 (not function type) 
-    _src: instance of type w3 (not function type) 
-  returning 
-    instance of type w3 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
-
-    to:
-      pointer to instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-    Cast of:
-      Variable Expression: _src: instance of type w3 (not function type) 
-
-    to:
-      instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type w3 (not function type) 
-      _src: instance of type w3 (not function type) 
-    returning 
-      instance of type w3 (not function type) 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-decl is ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T1 (not function type) 
-          _src: instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T2 (not function type) 
-          _src: instance of type T2 (not function type) 
-        returning 
-          instance of type T2 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type T3 (not function type) 
-          _src: instance of type T3 (not function type) 
-        returning 
-          instance of type T3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type w3 (not function type) 
-      _src: instance of type w3 (not function type) 
-    returning 
-      instance of type w3 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type w3 (not function type) 
-          _src: instance of type w3 (not function type) 
-        returning 
-          instance of type w3 (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to function
-              returning 
-                nothing 
-
-          pointer to function
-              returning 
-                nothing 
-
-        returning 
-          pointer to function
-              returning 
-                nothing 
-
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to float 
-          pointer to float 
-        returning 
-          pointer to float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to pointer to signed int 
-          pointer to signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          pointer to instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 12 alternatives before elimination
-there are 12 alternatives after elimination
-nameExpr is f
-decl is f: float 
-newExpr is Variable Expression: f: float 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: f: float 
-(types:
-    pointer to float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: f: float 
-(types:
-    pointer to float 
-)
-Environment: 
-
-nameExpr is min
-decl is min: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        0: const instance of type T (not function type) 
-        ?!=?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              signed int 
-
-        ?<?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              signed int 
-
-
-  function
-  with parameters
-    t1: instance of type T (not function type) 
-    t2: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Conditional expression on: 
-  Cast of:
-    Applying untyped: 
-        Name: ?!=?
-    ...to: 
-        Applying untyped: 
-            Name: ?<?
-        ...to: 
-            Name: t1
-            Name: t2
-        Name: 0
-
-  to:
-    signed int 
-First alternative:
-  Name: t1
-Second alternative:
-  Name: t2
-
-
-
-
-newExpr is Variable Expression: min: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?!=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-          ?<?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-
-    function
-    with parameters
-      t1: instance of type T (not function type) 
-      t2: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: min: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?!=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-          ?<?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-
-    function
-    with parameters
-      t1: instance of type T (not function type) 
-      t2: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-              0: const instance of type _0_T (not function type) 
-              ?!=?: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    signed int 
-
-              ?<?: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    signed int 
-
-
-        function
-        with parameters
-          t1: instance of type _0_T (not function type) 
-          t2: instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4.0 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 4.0 double (types:
-    double 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.0 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3.0 double (types:
-    double 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: min: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-                  0: const instance of type T (not function type) 
-                  ?!=?: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        signed int 
-
-                  ?<?: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        signed int 
-
-
-            function
-            with parameters
-              t1: instance of type T (not function type) 
-              t2: instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-                      0: const instance of type _0_T (not function type) 
-                      ?!=?: pointer to function
-                          with parameters
-                            instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            signed int 
-
-                      ?<?: pointer to function
-                          with parameters
-                            instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            signed int 
-
-
-                function
-                with parameters
-                  t1: instance of type _0_T (not function type) 
-                  t2: instance of type _0_T (not function type) 
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is double 
-formal type is instance of type _0_T (not function type) 
-actual type is double 
-need assertions:
-?!=?: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            signed int 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)0: const instance of type _0_T (not function type) (used)?<?: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            signed int 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?!=?: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    signed int 
-
-inferRecursive: candidate is ?!=?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    signed int 
- with pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    signed int 
-
-nameExpr is sum
-decl is sum: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        0: const instance of type T (not function type) 
-        ?+?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        ?++: pointer to function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        ?+=?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    n: signed int 
-    a: pointer to instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-  with body 
-    CompoundStmt
-      Declaration of total: instance of type T (not function type) with initializer 
-        Simple Initializer:           Cast of:
-            Variable Expression: 0: const instance of type T (not function type) 
-
-          to:
-            instance of type T (not function type) 
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Address of:
-                Variable Expression: total: instance of type T (not function type) 
-
-                          Variable Expression: 0: const instance of type T (not function type) 
-
-          with environment:
-            Types:
-            Non-types:
-
-      Declaration of i: signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Name: i
-                  Name: 0
-
-          condition: 
-            Cast of:
-              Applying untyped: 
-                  Name: ?!=?
-              ...to: 
-                  Applying untyped: 
-                      Name: ?<?
-                  ...to: 
-                      Name: i
-                      Name: n
-                  Name: 0
-
-            to:
-              signed int 
-
-          increment: 
-            Applying untyped: 
-                Name: ?+=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: 1
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Address of:
-                        Name: total
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Name: total
-                          Applying untyped: 
-                              Name: ?[?]
-                          ...to: 
-                              Name: a
-                              Name: i
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: total: instance of type T (not function type) 
-
-to:
-  instance of type T (not function type) 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: sum: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?+?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?++: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?+=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      n: signed int 
-      a: pointer to instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: sum: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?+?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?++: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?+=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      n: signed int 
-      a: pointer to instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-              0: const instance of type _0_T (not function type) 
-              ?+?: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-              ?++: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-              ?+=?: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          n: signed int 
-          a: pointer to instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-nameExpr is a
-decl is a: array of signed int with dimension of Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-with environment:
-  Types:
-  Non-types:
-
-newExpr is Variable Expression: a: array of signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-
-decl is a: pointer to instance of type T (not function type) 
-newExpr is Variable Expression: a: pointer to instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: array of signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: pointer to instance of type T (not function type) 
-(types:
-    lvalue pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: array of signed int with dimension of   Cast of:
-constant expression 10 signed int 
-  to:
-    long unsigned int 
-  with environment:
-    Types:
-    Non-types:
-
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: pointer to instance of type T (not function type) 
-(types:
-    lvalue pointer to instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: sum: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-                  0: const instance of type T (not function type) 
-                  ?+?: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-                  ?++: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-                  ?+=?: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              n: signed int 
-              a: pointer to instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-                      0: const instance of type _0_T (not function type) 
-                      ?+?: pointer to function
-                          with parameters
-                            instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-                      ?++: pointer to function
-                          with parameters
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-                      ?+=?: pointer to function
-                          with parameters
-                            instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  n: signed int 
-                  a: pointer to instance of type _0_T (not function type) 
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-formal type is pointer to instance of type _0_T (not function type) 
-actual type is lvalue pointer to signed int 
-need assertions:
-?+?: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)?+=?: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)0: const instance of type _0_T (not function type) (used)?++: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?+?: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?+?: function
-  with parameters
-    instance of type T1 (not function type) 
-    instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T1 (not function type) 
-    instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-inferRecursive: candidate is ?+?: function
-  with parameters
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-  returning 
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-  returning 
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-
-inferRecursive: candidate is ?+?: function
-  with parameters
-    instance of type T3 (not function type) 
-    instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T3 (not function type) 
-    instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-inferRecursive: candidate is ?+?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-formal type is signed int 
-actual type is signed int 
-formal type is pointer to instance of type _0_T (not function type) 
-actual type is lvalue pointer to instance of type T (not function type) 
-need assertions:
-?+?: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)?+=?: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)0: const instance of type _0_T (not function type) (used)?++: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?+?: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?+?: function
-  with parameters
-    instance of type T1 (not function type) 
-    instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T1 (not function type) 
-    instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-inferRecursive: candidate is ?+?: function
-  with parameters
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-  returning 
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-  returning 
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-
-inferRecursive: candidate is ?+?: function
-  with parameters
-    instance of type T3 (not function type) 
-    instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T3 (not function type) 
-    instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-inferRecursive: candidate is ?+?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-success!
-satisfying assertion 160 ?+?: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 160 ?+?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type P1 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                i: instance of type P1 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  j: instance of type P2 (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                j: instance of type P2 (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-
-inferRecursive: candidate is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T1 (not function type) 
-    _src: instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of type T1 (not function type) 
-    _src: instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-inferRecursive: candidate is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T2 (not function type) 
-    _src: instance of type T2 (not function type) 
-  returning 
-    instance of type T2 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type T2 (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of type T2 (not function type) 
-    _src: instance of type T2 (not function type) 
-  returning 
-    instance of type T2 (not function type) 
-
-inferRecursive: candidate is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type T3 (not function type) 
-    _src: instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of type T3 (not function type) 
-    _src: instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-inferRecursive: candidate is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type w3 (not function type) 
-    _src: instance of type w3 (not function type) 
-  returning 
-    instance of type w3 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
-
-    to:
-      pointer to instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-    Cast of:
-      Variable Expression: _src: instance of type w3 (not function type) 
-
-    to:
-      instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of type w3 (not function type) 
-    _src: instance of type w3 (not function type) 
-  returning 
-    instance of type w3 (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to function
-        returning 
-          nothing 
-
-    pointer to function
-        returning 
-          nothing 
-
-  returning 
-    pointer to function
-        returning 
-          nothing 
-
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to float 
-    pointer to float 
-  returning 
-    pointer to float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to pointer to signed int 
-    pointer to signed int 
-  returning 
-    pointer to signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: candidate is ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-success!
-satisfying assertion 155 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 196 ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-inferRecursive: assertion is ?+=?: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?+=?: function
-  with parameters
-    instance of type T1 (not function type) 
-    instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T1 (not function type) 
-    instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-inferRecursive: candidate is ?+=?: function
-  with parameters
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-  returning 
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-  returning 
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-
-inferRecursive: candidate is ?+=?: function
-  with parameters
-    instance of type T3 (not function type) 
-    instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T3 (not function type) 
-    instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-inferRecursive: candidate is ?+=?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-success!
-satisfying assertion 167 ?+=?: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 167 ?+=?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-inferRecursive: assertion is 0: const instance of type _0_T (not function type) 
-inferRecursive: candidate is 0: const instance of type T (not function type) 
-unifying const instance of type _0_T (not function type)  with const instance of type T (not function type) 
-success!
-satisfying assertion 156 0: const instance of type _0_T (not function type)  with declaration 197 0: const instance of type T (not function type) 
-inferRecursive: assertion is ?++: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?++: function
-  with parameters
-    instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T1 (not function type) 
-  returning 
-    instance of type T1 (not function type) 
-
-inferRecursive: candidate is ?++: function
-  with parameters
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-  returning 
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-  returning 
-    instance of type T2 (not function type) 
-      with parameters
-        instance of type P1 (not function type) 
-        instance of type P2 (not function type) 
-
-
-inferRecursive: candidate is ?++: function
-  with parameters
-    instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T3 (not function type) 
-  returning 
-    instance of type T3 (not function type) 
-
-inferRecursive: candidate is ?++: pointer to function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-success!
-satisfying assertion 163 ?++: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 163 ?++: pointer to function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-inferRecursive: candidate is 0: const instance of type T1 (not function type) 
-unifying const instance of type _0_T (not function type)  with const instance of type T1 (not function type) 
-inferRecursive: candidate is 0: const instance of type T2 (not function type) 
-with parameters
-  instance of type P1 (not function type) 
-  instance of type P2 (not function type) 
-
-unifying const instance of type _0_T (not function type)  with const instance of type T2 (not function type) 
-with parameters
-  instance of type P1 (not function type) 
-  instance of type P2 (not function type) 
-
-inferRecursive: candidate is 0: const instance of type T3 (not function type) 
-unifying const instance of type _0_T (not function type)  with const instance of type T3 (not function type) 
-actual expression:
-constant expression 10 signed int --- results are
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: a: pointer to instance of type T (not function type) 
---- results are
-        lvalue pointer to instance of type T (not function type) 
-
-converting lvalue pointer to instance of type T (not function type) 
- to pointer to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting const instance of type T (not function type) 
- to const instance of type _0_T (not function type) 
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
- to pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
- to pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
- to pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        n: signed int 
-        a: pointer to instance of type _0_T (not function type) 
-actuals are:
-        constant expression 10 signed int 
-                  Variable Expression: a: pointer to instance of type T (not function type) 
-
-bindings are:
-        ( _0_T ) -> instance of type T (not function type)  (no widening)
-cost of conversion is:( 0, 13, 0 )
-alternatives before prune:
-Cost ( 0, 13, 0 ): Application of
-  Variable Expression: sum: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-            0: const instance of type T (not function type) 
-            ?+?: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-            ?++: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-            ?+=?: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        n: signed int 
-        a: pointer to instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-  constant expression 10 signed int 
-      Variable Expression: a: pointer to instance of type T (not function type) 
-
-with inferred parameters:
-  ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-  0: const instance of type T (not function type) 
-  ?+?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-  ?++: pointer to function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-  ?+=?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> instance of type T (not function type)  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: sum: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-              0: const instance of type T (not function type) 
-              ?+?: pointer to function
-                  with parameters
-                    instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-              ?++: pointer to function
-                  with parameters
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-              ?+=?: pointer to function
-                  with parameters
-                    instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-        function
-        with parameters
-          n: signed int 
-          a: pointer to instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-    constant expression 10 signed int 
-          Variable Expression: a: pointer to instance of type T (not function type) 
-
-  with inferred parameters:
-    ?=?: pointer to function
-      with parameters
-        pointer to instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-    0: const instance of type T (not function type) 
-    ?+?: pointer to function
-      with parameters
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-    ?++: pointer to function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-    ?+=?: pointer to function
-      with parameters
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _0_T ) -> instance of type T (not function type)  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type P1 (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      i: instance of type P1 (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        j: instance of type P2 (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      j: instance of type P2 (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-
-to:
-  pointer to instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type w3 (not function type) 
-
-to:
-  pointer to instance of type T2 (not function type) 
-    with parameters
-      signed int 
-      signed int 
-
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: i
-    Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?!=?
-...to: 
-    Applying untyped: 
-        Name: ?<?
-    ...to: 
-        Name: t1
-        Name: t2
-    Name: 0
-
-Error: No reasonable alternatives for expression Name: 1
-
-Error: No reasonable alternatives for expression Name: x
-
-Error: No reasonable alternatives for expression Name: x
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: min
-...to: 
-constant expression 4.0 double constant expression 3.0 double 
Index: src/Tests/Expect-r/Function.txt
===================================================================
--- src/Tests/Expect-r/Function.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,4957 +1,0 @@
-nameExpr is f
-decl is f: function
-  with parameters
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      float 
-    returning 
-      float 
-
-
-decl is f: function
-  with parameters
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: float 
-newExpr is Variable Expression: a: float 
-
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: a: signed int 
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: a: signed int 
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is float 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Cast of:
-          Variable Expression: a: signed int 
-
-        to:
-          signed int 
---- results are
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: a: signed int 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Cast of:
-          Variable Expression: a: signed int 
-
-        to:
-          signed int 
---- results are
-        signed int 
-
-converting signed int 
- to float 
-cost is( 0, 0, 5 )
-Case +++++++++++++
-formals are:
-        float 
-actuals are:
-                  Cast of:
-            Cast of:
-              Variable Expression: a: signed int 
-
-            to:
-              signed int 
-
-          to:
-            float 
-
-bindings are:
-cost of conversion is:( 0, 0, 5 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: f: function
-      with parameters
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: a: signed int 
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 5 ): Application of
-  Variable Expression: f: function
-      with parameters
-        float 
-      returning 
-        float 
-
-to arguments
-      Cast of:
-      Cast of:
-        Variable Expression: a: signed int 
-
-      to:
-        signed int 
-
-    to:
-      float 
-
-(types:
-    float 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: f: function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Cast of:
-        Variable Expression: a: signed int 
-
-      to:
-        signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: function
-  with parameters
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      float 
-    returning 
-      float 
-
-
-decl is f: function
-  with parameters
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: float 
-newExpr is Variable Expression: a: float 
-
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is float 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is float 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Variable Expression: a: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Variable Expression: a: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: a: float 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-Case +++++++++++++
-formals are:
-        float 
-actuals are:
-                  Cast of:
-            Variable Expression: a: signed int 
-
-          to:
-            float 
-
-bindings are:
-cost of conversion is:( 0, 0, 5 )
-actual expression:
-        Variable Expression: a: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to float 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        float 
-actuals are:
-                  Variable Expression: a: float 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: f: function
-      with parameters
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: a: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: f: function
-      with parameters
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: a: float 
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 5 ): Application of
-  Variable Expression: f: function
-      with parameters
-        float 
-      returning 
-        float 
-
-to arguments
-      Cast of:
-      Variable Expression: a: signed int 
-
-    to:
-      float 
-
-(types:
-    float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: f: function
-      with parameters
-        float 
-      returning 
-        float 
-
-to arguments
-      Variable Expression: a: float 
-
-(types:
-    float 
-)
-Environment: 
-
-cost ( 0, 0, 0 ) beats ( 0, 0, 5 )
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: f: function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Cast of:
-    Application of
-      Variable Expression: f: function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-    to arguments
-              Variable Expression: a: signed int 
-
-
-  to:
-    signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is r
-decl is r: function
-  with parameters
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-  returning 
-    signed int 
-    signed int 
-
-newExpr is Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is p
-decl is p: tuple of types
-  signed int 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-
-
-decl is p: tuple of types
-  signed int 
-  double 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-    double 
-
-
-decl is p: tuple of types
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-
-decl is p: tuple of types
-  signed int 
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    double 
-
-(types:
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    double 
-
-(types:
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is q
-decl is q: tuple of types
-  char 
-
-newExpr is Variable Expression: q: tuple of types
-    char 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  float 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: r: function
-            with parameters
-              signed int 
-              signed int 
-              signed int 
-              signed int 
-            returning 
-              signed int 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue char 
-actual expression:
-        Variable Expression: p: tuple of types
-            signed int 
-
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-            float 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-        lvalue float 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: p: tuple of types
-              signed int 
-
-
-                  Cast of:
-            Variable Expression: q: tuple of types
-                signed int 
-                signed int 
-                float 
-
-
-          to:
-            signed int 
-            signed int 
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Variable Expression: p: tuple of types
-            signed int 
-            double 
-
---- results are
-        lvalue signed int 
-        lvalue double 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue double 
- to signed int 
-cost is( 1, 0, 0 )
-actual expression:
-        Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: p: tuple of types
-                signed int 
-                double 
-
-
-          to:
-            signed int 
-            signed int 
-
-                  Variable Expression: q: tuple of types
-              signed int 
-              signed int 
-
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Variable Expression: p: tuple of types
-            signed int 
-            signed int 
-            signed int 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: q: tuple of types
-            char 
-
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: p: tuple of types
-              signed int 
-              signed int 
-              signed int 
-
-
-                  Cast of:
-            Variable Expression: q: tuple of types
-                char 
-
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 4 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Variable Expression: p: tuple of types
-        signed int 
-
-
-      Cast of:
-      Variable Expression: q: tuple of types
-          signed int 
-          signed int 
-          float 
-
-
-    to:
-      signed int 
-      signed int 
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: p: tuple of types
-          signed int 
-          double 
-
-
-    to:
-      signed int 
-      signed int 
-
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 4 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-      Cast of:
-      Variable Expression: q: tuple of types
-          char 
-
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-marking ambiguous
-cost ( 0, 0, 4 ) beats ( 1, 0, 0 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-  Application of
-    Variable Expression: r: function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-          signed int 
-
-  to arguments
-          Variable Expression: p: tuple of types
-          signed int 
-          signed int 
-          signed int 
-
-
-          Cast of:
-        Variable Expression: q: tuple of types
-            char 
-
-
-      to:
-        signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is r
-decl is r: function
-  with parameters
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-  returning 
-    signed int 
-    signed int 
-
-newExpr is Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is q
-decl is q: tuple of types
-  char 
-
-newExpr is Variable Expression: q: tuple of types
-    char 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  float 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-nameExpr is p
-decl is p: tuple of types
-  signed int 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-
-
-decl is p: tuple of types
-  signed int 
-  double 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-    double 
-
-
-decl is p: tuple of types
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-
-decl is p: tuple of types
-  signed int 
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    double 
-
-(types:
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    double 
-
-(types:
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        float 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        char 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue char 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        float 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        char 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue char 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        double 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        float 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        double 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        double 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        char 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        double 
-
-
-(types:
-    lvalue char 
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        float 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        char 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-
-
-(types:
-    lvalue char 
-    lvalue signed int 
-)
-Environment: 
-
-marking ambiguous
-there are 15 alternatives before elimination
-there are 14 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        double 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        double 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        float 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        float 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        float 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        double 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-        float 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        char 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue char 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        char 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue char 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        char 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-        double 
-
-
-(types:
-    lvalue char 
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: q: tuple of types
-        char 
-
-
-      Variable Expression: p: tuple of types
-        signed int 
-
-
-(types:
-    lvalue char 
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: r: function
-            with parameters
-              signed int 
-              signed int 
-              signed int 
-              signed int 
-            returning 
-              signed int 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue signed int 
-actual expression:
-        Tuple:
-                      Variable Expression: q: tuple of types
-                signed int 
-                signed int 
-
-
-                      Variable Expression: p: tuple of types
-                signed int 
-                double 
-
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-        lvalue signed int 
-        lvalue double 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue double 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Tuple:
-                              Variable Expression: q: tuple of types
-                    signed int 
-                    signed int 
-
-
-                              Variable Expression: p: tuple of types
-                    signed int 
-                    double 
-
-
-
-          to:
-            signed int 
-            signed int 
-            signed int 
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Tuple:
-                      Variable Expression: q: tuple of types
-                signed int 
-                signed int 
-                float 
-
-
-                      Variable Expression: p: tuple of types
-                signed int 
-
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-        lvalue float 
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Tuple:
-                              Variable Expression: q: tuple of types
-                    signed int 
-                    signed int 
-                    float 
-
-
-                              Variable Expression: p: tuple of types
-                    signed int 
-
-
-
-          to:
-            signed int 
-            signed int 
-            signed int 
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Tuple:
-                      Variable Expression: q: tuple of types
-                char 
-
-
-                      Variable Expression: p: tuple of types
-                signed int 
-                signed int 
-                signed int 
-
-
---- results are
-        lvalue char 
-        lvalue signed int 
-        lvalue signed int 
-        lvalue signed int 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Tuple:
-                              Variable Expression: q: tuple of types
-                    char 
-
-
-                              Variable Expression: p: tuple of types
-                    signed int 
-                    signed int 
-                    signed int 
-
-
-
-          to:
-            signed int 
-            signed int 
-            signed int 
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 4 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Cast of:
-      Tuple:
-                  Variable Expression: q: tuple of types
-              signed int 
-              signed int 
-
-
-                  Variable Expression: p: tuple of types
-              signed int 
-              double 
-
-
-
-    to:
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Cast of:
-      Tuple:
-                  Variable Expression: q: tuple of types
-              signed int 
-              signed int 
-              float 
-
-
-                  Variable Expression: p: tuple of types
-              signed int 
-
-
-
-    to:
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 4 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Cast of:
-      Tuple:
-                  Variable Expression: q: tuple of types
-              char 
-
-
-                  Variable Expression: p: tuple of types
-              signed int 
-              signed int 
-              signed int 
-
-
-
-    to:
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-marking ambiguous
-cost ( 0, 0, 4 ) beats ( 1, 0, 0 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-  Application of
-    Variable Expression: r: function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-          signed int 
-
-  to arguments
-          Cast of:
-        Tuple:
-                      Variable Expression: q: tuple of types
-                char 
-
-
-                      Variable Expression: p: tuple of types
-                signed int 
-                signed int 
-                signed int 
-
-
-
-      to:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is r
-decl is r: function
-  with parameters
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-  returning 
-    signed int 
-    signed int 
-
-newExpr is Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is r
-decl is r: function
-  with parameters
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-  returning 
-    signed int 
-    signed int 
-
-newExpr is Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is p
-decl is p: tuple of types
-  signed int 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-
-
-decl is p: tuple of types
-  signed int 
-  double 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-    double 
-
-
-decl is p: tuple of types
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-
-decl is p: tuple of types
-  signed int 
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    double 
-
-(types:
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-    double 
-
-(types:
-    lvalue signed int 
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
-    signed int 
-
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is q
-decl is q: tuple of types
-  char 
-
-newExpr is Variable Expression: q: tuple of types
-    char 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  float 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: r: function
-            with parameters
-              signed int 
-              signed int 
-              signed int 
-              signed int 
-            returning 
-              signed int 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue double 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue char 
-actual expression:
-        Variable Expression: p: tuple of types
-            signed int 
-
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-            float 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-        lvalue float 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: p: tuple of types
-              signed int 
-
-
-                  Cast of:
-            Variable Expression: q: tuple of types
-                signed int 
-                signed int 
-                float 
-
-
-          to:
-            signed int 
-            signed int 
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Variable Expression: p: tuple of types
-            signed int 
-            double 
-
---- results are
-        lvalue signed int 
-        lvalue double 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue double 
- to signed int 
-cost is( 1, 0, 0 )
-actual expression:
-        Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: p: tuple of types
-                signed int 
-                double 
-
-
-          to:
-            signed int 
-            signed int 
-
-                  Variable Expression: q: tuple of types
-              signed int 
-              signed int 
-
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Variable Expression: p: tuple of types
-            signed int 
-            signed int 
-            signed int 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: q: tuple of types
-            char 
-
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: p: tuple of types
-              signed int 
-              signed int 
-              signed int 
-
-
-                  Cast of:
-            Variable Expression: q: tuple of types
-                char 
-
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 4 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Variable Expression: p: tuple of types
-        signed int 
-
-
-      Cast of:
-      Variable Expression: q: tuple of types
-          signed int 
-          signed int 
-          float 
-
-
-    to:
-      signed int 
-      signed int 
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: p: tuple of types
-          signed int 
-          double 
-
-
-    to:
-      signed int 
-      signed int 
-
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 4 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-      Cast of:
-      Variable Expression: q: tuple of types
-          char 
-
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-marking ambiguous
-cost ( 0, 0, 4 ) beats ( 1, 0, 0 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 4 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Variable Expression: p: tuple of types
-        signed int 
-        signed int 
-        signed int 
-
-
-      Cast of:
-      Variable Expression: q: tuple of types
-          char 
-
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-nameExpr is r
-decl is r: function
-  with parameters
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-  returning 
-    signed int 
-    signed int 
-
-newExpr is Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is q
-decl is q: tuple of types
-  char 
-
-newExpr is Variable Expression: q: tuple of types
-    char 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  float 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-nameExpr is q
-decl is q: tuple of types
-  char 
-
-newExpr is Variable Expression: q: tuple of types
-    char 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  float 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-
-decl is q: tuple of types
-  signed int 
-  signed int 
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
-    char 
-
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: r: function
-            with parameters
-              signed int 
-              signed int 
-              signed int 
-              signed int 
-            returning 
-              signed int 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue float 
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue char 
-actual expression:
-        Variable Expression: q: tuple of types
-            char 
-
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-actual expression:
-        Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-            float 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-        lvalue float 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: q: tuple of types
-                char 
-
-
-          to:
-            signed int 
-
-                  Cast of:
-            Variable Expression: q: tuple of types
-                signed int 
-                signed int 
-                float 
-
-
-          to:
-            signed int 
-            signed int 
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 4 )
-actual expression:
-        Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: q: tuple of types
-              signed int 
-              signed int 
-
-
-                  Variable Expression: q: tuple of types
-              signed int 
-              signed int 
-
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-            float 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-        lvalue float 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-actual expression:
-        Variable Expression: q: tuple of types
-            char 
-
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: q: tuple of types
-                signed int 
-                signed int 
-                float 
-
-
-          to:
-            signed int 
-            signed int 
-            signed int 
-
-                  Cast of:
-            Variable Expression: q: tuple of types
-                char 
-
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 4 )
-alternatives before prune:
-Cost ( 1, 0, 4 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: q: tuple of types
-          char 
-
-
-    to:
-      signed int 
-
-      Cast of:
-      Variable Expression: q: tuple of types
-          signed int 
-          signed int 
-          float 
-
-
-    to:
-      signed int 
-      signed int 
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-Cost ( 1, 0, 4 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: q: tuple of types
-          signed int 
-          signed int 
-          float 
-
-
-    to:
-      signed int 
-      signed int 
-      signed int 
-
-      Cast of:
-      Variable Expression: q: tuple of types
-          char 
-
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-cost ( 0, 0, 0 ) beats ( 1, 0, 4 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-      Variable Expression: q: tuple of types
-        signed int 
-        signed int 
-
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: r: function
-            with parameters
-              signed int 
-              signed int 
-              signed int 
-              signed int 
-            returning 
-              signed int 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-formal type is signed int 
-actual type is signed int 
-formal type is signed int 
-actual type is signed int 
-formal type is signed int 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Application of
-          Variable Expression: r: function
-              with parameters
-                signed int 
-                signed int 
-                signed int 
-                signed int 
-              returning 
-                signed int 
-                signed int 
-
-        to arguments
-                      Variable Expression: p: tuple of types
-                signed int 
-                signed int 
-                signed int 
-
-
-                      Cast of:
-              Variable Expression: q: tuple of types
-                  char 
-
-
-            to:
-              signed int 
-
---- results are
-        signed int 
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Application of
-          Variable Expression: r: function
-              with parameters
-                signed int 
-                signed int 
-                signed int 
-                signed int 
-              returning 
-                signed int 
-                signed int 
-
-        to arguments
-                      Variable Expression: q: tuple of types
-                signed int 
-                signed int 
-
-
-                      Variable Expression: q: tuple of types
-                signed int 
-                signed int 
-
-
---- results are
-        signed int 
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Application of
-            Variable Expression: r: function
-                with parameters
-                  signed int 
-                  signed int 
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-                  signed int 
-
-          to arguments
-                          Variable Expression: p: tuple of types
-                  signed int 
-                  signed int 
-                  signed int 
-
-
-                          Cast of:
-                Variable Expression: q: tuple of types
-                    char 
-
-
-              to:
-                signed int 
-
-
-                  Application of
-            Variable Expression: r: function
-                with parameters
-                  signed int 
-                  signed int 
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-                  signed int 
-
-          to arguments
-                          Variable Expression: q: tuple of types
-                  signed int 
-                  signed int 
-
-
-                          Variable Expression: q: tuple of types
-                  signed int 
-                  signed int 
-
-
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: r: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-        signed int 
-
-to arguments
-      Application of
-      Variable Expression: r: function
-          with parameters
-            signed int 
-            signed int 
-            signed int 
-            signed int 
-          returning 
-            signed int 
-            signed int 
-
-    to arguments
-              Variable Expression: p: tuple of types
-            signed int 
-            signed int 
-            signed int 
-
-
-              Cast of:
-          Variable Expression: q: tuple of types
-              char 
-
-
-        to:
-          signed int 
-
-
-      Application of
-      Variable Expression: r: function
-          with parameters
-            signed int 
-            signed int 
-            signed int 
-            signed int 
-          returning 
-            signed int 
-            signed int 
-
-    to arguments
-              Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-
-
-              Variable Expression: q: tuple of types
-            signed int 
-            signed int 
-
-
-
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-  Application of
-    Variable Expression: r: function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-          signed int 
-
-  to arguments
-          Application of
-        Variable Expression: r: function
-            with parameters
-              signed int 
-              signed int 
-              signed int 
-              signed int 
-            returning 
-              signed int 
-              signed int 
-
-      to arguments
-                  Variable Expression: p: tuple of types
-              signed int 
-              signed int 
-              signed int 
-
-
-                  Cast of:
-            Variable Expression: q: tuple of types
-                char 
-
-
-          to:
-            signed int 
-
-
-          Application of
-        Variable Expression: r: function
-            with parameters
-              signed int 
-              signed int 
-              signed int 
-              signed int 
-            returning 
-              signed int 
-              signed int 
-
-      to arguments
-                  Variable Expression: q: tuple of types
-              signed int 
-              signed int 
-
-
-                  Variable Expression: q: tuple of types
-              signed int 
-              signed int 
-
-
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-cfa-cpp: GenPoly/Box.cc:401: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed.
-Aborted (core dumped)
Index: src/Tests/Expect-r/Functions.txt
===================================================================
--- src/Tests/Expect-r/Functions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,91 +1,0 @@
-nameExpr is *?
-nameExpr is g
-decl is g: pointer to function
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: pointer to function
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: pointer to function
-    returning 
-      nothing 
-
-(types:
-    lvalue pointer to function
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: pointer to function
-            returning 
-              nothing 
-
-(types:
-            lvalue pointer to function
-                returning 
-                  nothing 
-
-)
-        Environment: 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-Case +++++++++++++
-formals are:
-actuals are:
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: pointer to function
-      returning 
-        nothing 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: g: pointer to function
-        returning 
-          nothing 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-Error: No reasonable alternatives for expression Name: *?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-r/GccExtensions.txt
===================================================================
--- src/Tests/Expect-r/GccExtensions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,908 +1,0 @@
-nameExpr is s1
-decl is s1: signed int 
-newExpr is Variable Expression: s1: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: s1: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: s1: signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is s1
-decl is s1: signed int 
-newExpr is Variable Expression: s1: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: s1: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: s1: signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline function
-  with parameters
-    _dst: pointer to instance of struct s2 
-    _src: instance of struct s2 
-  returning 
-    instance of struct s2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct s2 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct s2 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct s2 
-
-
-
-newExpr is Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s2 
-      _src: instance of struct s2 
-    returning 
-      instance of struct s2 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s2 
-      _src: instance of struct s2 
-    returning 
-      instance of struct s2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct s2 
-          _src: instance of struct s2 
-        returning 
-          instance of struct s2 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct s2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct s2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct s2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct s2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct s2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
-            with parameters
-              _dst: pointer to instance of struct s2 
-              _src: instance of struct s2 
-            returning 
-              instance of struct s2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct s2 
-                  _src: instance of struct s2 
-                returning 
-                  instance of struct s2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct s2 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s2 
-(types:
-    lvalue instance of struct s2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct s2 
-
-to:
-  instance of struct s2 
-(types:
-    instance of struct s2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline function
-  with parameters
-    _dst: pointer to instance of struct s2 
-    _src: instance of struct s2 
-  returning 
-    instance of struct s2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct s2 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct s2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct s2 
-
-to:
-  instance of struct s2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s2 
-      _src: instance of struct s2 
-    returning 
-      instance of struct s2 
-
-
-decl is ?=?: automatically generated inline function
-  with parameters
-    _dst: pointer to instance of struct s3 
-    _src: instance of struct s3 
-  returning 
-    instance of struct s3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct s3 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct s3 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct s3 
-
-
-
-newExpr is Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s3 
-      _src: instance of struct s3 
-    returning 
-      instance of struct s3 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s2 
-      _src: instance of struct s2 
-    returning 
-      instance of struct s2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct s2 
-          _src: instance of struct s2 
-        returning 
-          instance of struct s2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s3 
-      _src: instance of struct s3 
-    returning 
-      instance of struct s3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct s3 
-          _src: instance of struct s3 
-        returning 
-          instance of struct s3 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct s3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct s3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct s3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct s3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct s3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
-            with parameters
-              _dst: pointer to instance of struct s3 
-              _src: instance of struct s3 
-            returning 
-              instance of struct s3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct s3 
-                  _src: instance of struct s3 
-                returning 
-                  instance of struct s3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct s3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
-            with parameters
-              _dst: pointer to instance of struct s2 
-              _src: instance of struct s2 
-            returning 
-              instance of struct s2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct s2 
-                  _src: instance of struct s2 
-                returning 
-                  instance of struct s2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct s2 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s3 
-(types:
-    lvalue instance of struct s3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct s3 
-
-to:
-  instance of struct s3 
-(types:
-    instance of struct s3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline function
-  with parameters
-    _dst: pointer to instance of struct s2 
-    _src: instance of struct s2 
-  returning 
-    instance of struct s2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct s2 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct s2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct s2 
-
-to:
-  instance of struct s2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s2 
-      _src: instance of struct s2 
-    returning 
-      instance of struct s2 
-
-
-decl is ?=?: automatically generated inline function
-  with parameters
-    _dst: pointer to instance of struct s3 
-    _src: instance of struct s3 
-  returning 
-    instance of struct s3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct s3 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct s3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct s3 
-
-to:
-  instance of struct s3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s3 
-      _src: instance of struct s3 
-    returning 
-      instance of struct s3 
-
-
-decl is ?=?: automatically generated inline function
-  with parameters
-    _dst: pointer to instance of struct s4 
-    _src: instance of struct s4 
-  returning 
-    instance of struct s4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct s4 
-              Member Expression, with field: 
-                i: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct s4 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct s4 
-
-
-
-newExpr is Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s4 
-      _src: instance of struct s4 
-    returning 
-      instance of struct s4 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s2 
-      _src: instance of struct s2 
-    returning 
-      instance of struct s2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct s2 
-          _src: instance of struct s2 
-        returning 
-          instance of struct s2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s3 
-      _src: instance of struct s3 
-    returning 
-      instance of struct s3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct s3 
-          _src: instance of struct s3 
-        returning 
-          instance of struct s3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct s4 
-      _src: instance of struct s4 
-    returning 
-      instance of struct s4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct s4 
-          _src: instance of struct s4 
-        returning 
-          instance of struct s4 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct s4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct s4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct s4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct s4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct s4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
-            with parameters
-              _dst: pointer to instance of struct s4 
-              _src: instance of struct s4 
-            returning 
-              instance of struct s4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct s4 
-                  _src: instance of struct s4 
-                returning 
-                  instance of struct s4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct s4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
-            with parameters
-              _dst: pointer to instance of struct s3 
-              _src: instance of struct s3 
-            returning 
-              instance of struct s3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct s3 
-                  _src: instance of struct s3 
-                returning 
-                  instance of struct s3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct s3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
-            with parameters
-              _dst: pointer to instance of struct s2 
-              _src: instance of struct s2 
-            returning 
-              instance of struct s2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct s2 
-                  _src: instance of struct s2 
-                returning 
-                  instance of struct s2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct s2 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s4 
-(types:
-    lvalue instance of struct s4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct s4 
-
-to:
-  instance of struct s4 
-(types:
-    instance of struct s4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s2 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s3 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct s4 
-    Member Expression, with field: 
-      i: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct s4 
-
Index: src/Tests/Expect-r/IdentFuncDeclarator.txt
===================================================================
--- src/Tests/Expect-r/IdentFuncDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,583 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int main(){
-    int __f1__i;
-    int __f2__i;
-    int *__f3__Pi;
-    int **__f4__PPi;
-    int *const *__f5__PCPi;
-    int *const *const __f6__CPCPi;
-    int *__f7__Pi;
-    int **__f8__PPi;
-    int *const *__f9__PCPi;
-    int *const *const __f10__CPCPi;
-    int *__f11__Pi;
-    int **__f12__PPi;
-    int *const *__f13__PCPi;
-    int *const *const __f14__CPCPi;
-    int __f15__A0i[];
-    int __f16__A0i[((long unsigned int )10)];
-    int __f17__A0i[];
-    int __f18__A0i[((long unsigned int )10)];
-    int *__f19__A0Pi[];
-    int *__f20__A0Pi[((long unsigned int )10)];
-    int **__f21__A0PPi[];
-    int **__f22__A0PPi[((long unsigned int )10)];
-    int *const *__f23__A0PCPi[];
-    int *const *__f24__A0PCPi[((long unsigned int )10)];
-    int *const *const __f25__A0CPCPi[];
-    int *const *const __f26__A0CPCPi[((long unsigned int )10)];
-    int *__f27__A0Pi[];
-    int *__f28__A0Pi[((long unsigned int )10)];
-    int **__f29__A0PPi[];
-    int **__f30__A0PPi[((long unsigned int )10)];
-    int *const *__f31__A0PCPi[];
-    int *const *__f32__A0PCPi[((long unsigned int )10)];
-    int *const *const __f33__A0CPCPi[];
-    int *const *const __f34__A0CPCPi[((long unsigned int )10)];
-    int *__f35__A0Pi[];
-    int *__f36__A0Pi[((long unsigned int )10)];
-    int **__f37__A0PPi[];
-    int **__f38__A0PPi[((long unsigned int )10)];
-    int *const *__f39__A0PCPi[];
-    int *const *__f40__A0PCPi[((long unsigned int )10)];
-    int *const *const __f41__A0CPCPi[];
-    int *const *const __f42__A0CPCPi[((long unsigned int )10)];
-    int __f43__A0A0i[][3];
-    int __f44__A0A0i[((long unsigned int )3)][3];
-    int __f45__A0A0i[][3];
-    int __f46__A0A0i[((long unsigned int )3)][3];
-    int __f47__A0A0i[][3];
-    int __f48__A0A0i[((long unsigned int )3)][3];
-    int *__f49__A0A0Pi[][3];
-    int *__f50__A0A0Pi[((long unsigned int )3)][3];
-    int **__f51__A0A0PPi[][3];
-    int **__f52__A0A0PPi[((long unsigned int )3)][3];
-    int *const *__f53__A0A0PCPi[][3];
-    int *const *__f54__A0A0PCPi[((long unsigned int )3)][3];
-    int *const *const __f55__A0A0CPCPi[][3];
-    int *const *const __f56__A0A0CPCPi[((long unsigned int )3)][3];
-    int *__f57__A0A0Pi[][3];
-    int *__f58__A0A0Pi[((long unsigned int )3)][3];
-    int **__f59__A0A0PPi[][3];
-    int **__f60__A0A0PPi[((long unsigned int )3)][3];
-    int *const *__f61__A0A0PCPi[][3];
-    int *const *__f62__A0A0PCPi[((long unsigned int )3)][3];
-    int *const *const __f63__A0A0CPCPi[][3];
-    int *const *const __f64__A0A0CPCPi[((long unsigned int )3)][3];
-    int __f65__Fi_i_(int );
-    int __f66__Fi_i_(int );
-    int *__f67__FPi_i_(int );
-    int **__f68__FPPi_i_(int );
-    int *const *__f69__FPCPi_i_(int );
-    int *const *const __f70__FCPCPi_i_(int );
-    int *__f71__FPi_i_(int );
-    int **__f72__FPPi_i_(int );
-    int *const *__f73__FPCPi_i_(int );
-    int *const *const __f74__FCPCPi_i_(int );
-    int (*__f75__PFi_i_)(int );
-    int (**__f76__PPFi_i_)(int );
-    int (*const *__f77__PCPFi_i_)(int );
-    int (*const *const __f78__CPCPFi_i_)(int );
-    int (*(*__f79__PFPFi___i_)(int ))();
-    int (*(*const __f80__CPFPFi___i_)(int ))();
-    int (*const (*const __f81__CPFCPFi___i_)(int ))();
-}
Index: src/Tests/Expect-r/IdentFuncParamDeclarator.txt
===================================================================
--- src/Tests/Expect-r/IdentFuncParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-int __fred__Fi_iiPiPPiPCPiCPCPiPiPPiPCPiCPCPiPiPPiPCPiCPCPiPiPiPiPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPA0iPA0iPA0iPA0iPA0iPA0iPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPFi_i_PFi_i_PFPi_i_PFPPi_i_PFPCPi_i_PFCPCPi_i_PFPi_i_PFPPi_i_PFPCPi_i_PFCPCPi_i_PFi_i_PPFi_i_PCPFi_i_CPCPFi_i_PFPFi___i_CPFPFi___i_CPFCPFi___i_CPiCPiPiCPiCPiCPiPiCPiCPPiCPPiPPPiCPPCPiCPCPCPiCPPiCPPiPPPiCPPCPiCPCPCPiCPA0iCPA0iPA0iCPA0iCPA0iCPA0iPA0iCPA0iCPA0PiCPA0PiPA0PPiCPA0PCPiCPA0CPCPiCPA0PiCPA0PiPA0PPiCPA0PCPiCPA0CPCPi_(int __f1__i, int __f2__i, int *__f3__Pi, int **__f4__PPi, int *const *__f5__PCPi, int *const *const __f6__CPCPi, int *__f7__Pi, int **__f8__PPi, int *const *__f9__PCPi, int *const *const __f10__CPCPi, int *__f11__Pi, int **__f12__PPi, int *const *__f13__PCPi, int *const *const __f14__CPCPi, int *__f15__Pi, int __f16__Pi[10], int *__f17__Pi, int __f18__Pi[10], int **__f19__PPi, int *__f20__PPi[10], int ***__f21__PPPi, int **__f22__PPPi[10], int *const **__f23__PPCPi, int *const *__f24__PPCPi[10], int *const *const *__f25__PCPCPi, int *const *const __f26__PCPCPi[10], int **__f27__PPi, int *__f28__PPi[10], int ***__f29__PPPi, int **__f30__PPPi[10], int *const **__f31__PPCPi, int *const *__f32__PPCPi[10], int *const *const *__f33__PCPCPi, int *const *const __f34__PCPCPi[10], int **__f35__PPi, int *__f36__PPi[10], int ***__f37__PPPi, int **__f38__PPPi[10], int *const **__f39__PPCPi, int *const *__f40__PPCPi[10], int *const *const *__f41__PCPCPi, int *const *const __f42__PCPCPi[10], int (*__f43__PA0i)[3], int __f44__PA0i[3][3], int (*__f45__PA0i)[3], int __f46__PA0i[3][3], int (*__f47__PA0i)[3], int __f48__PA0i[3][3], int *(*__f49__PA0Pi)[3], int *__f50__PA0Pi[3][3], int **(*__f51__PA0PPi)[3], int **__f52__PA0PPi[3][3], int *const *(*__f53__PA0PCPi)[3], int *const *__f54__PA0PCPi[3][3], int *const *const (*__f55__PA0CPCPi)[3], int *const *const __f56__PA0CPCPi[3][3], int *(*__f57__PA0Pi)[3], int *__f58__PA0Pi[3][3], int **(*__f59__PA0PPi)[3], int **__f60__PA0PPi[3][3], int *const *(*__f61__PA0PCPi)[3], int *const *__f62__PA0PCPi[3][3], int *const *const (*__f63__PA0CPCPi)[3], int *const *const __f64__PA0CPCPi[3][3], int (*__f65__PFi_i_)(int ), int (*__f66__PFi_i_)(int ), int *(*__f67__PFPi_i_)(int ), int **(*__f68__PFPPi_i_)(int ), int *const *(*__f69__PFPCPi_i_)(int ), int *const *const (*__f70__PFCPCPi_i_)(int ), int *(*__f71__PFPi_i_)(int ), int **(*__f72__PFPPi_i_)(int ), int *const *(*__f73__PFPCPi_i_)(int ), int *const *const (*__f74__PFCPCPi_i_)(int ), int (*__f75__PFi_i_)(int ), int (**__f76__PPFi_i_)(int ), int (*const *__f77__PCPFi_i_)(int ), int (*const *const __f78__CPCPFi_i_)(int ), int (*(*__f79__PFPFi___i_)(int ))(), int (*(*const __f80__CPFPFi___i_)(int ))(), int (*const (*const __f81__CPFCPFi___i_)(int ))(), int __f82__CPi[const *], int __f83__CPi[const 3], int __f84__Pi[static 3], int __f85__CPi[static const 3], int __f86__CPi[const *], int __f87__CPi[const 3], int __f88__Pi[static 3], int __f89__CPi[static const 3], int *__f90__CPPi[const *], int *__f91__CPPi[const 3], int **__f92__PPPi[static 3], int *const *__f93__CPPCPi[static const 3], int *const *const __f94__CPCPCPi[static const 3], int *__f95__CPPi[const *], int *__f96__CPPi[const 3], int **__f97__PPPi[static 3], int *const *__f98__CPPCPi[static const 3], int *const *const __f99__CPCPCPi[static const 3], int __f100__CPA0i[const *][3], int __f101__CPA0i[const 3][3], int __f102__PA0i[static 3][3], int __f103__CPA0i[static const 3][3], int __f104__CPA0i[const *][3], int __f105__CPA0i[const 3][3], int __f106__PA0i[static 3][3], int __f107__CPA0i[static const 3][3], int *__f108__CPA0Pi[const *][3], int *__f109__CPA0Pi[const 3][3], int **__f110__PA0PPi[static 3][3], int *const *__f111__CPA0PCPi[static const 3][3], int *const *const __f112__CPA0CPCPi[static const 3][3], int *__f113__CPA0Pi[const *][3], int *__f114__CPA0Pi[const 3][3], int **__f115__PA0PPi[static 3][3], int *const *__f116__CPA0PCPi[static const 3][3], int *const *const __f117__CPA0CPCPi[static const 3][3]){
-}
Index: src/Tests/Expect-r/InferParam.txt
===================================================================
--- src/Tests/Expect-r/InferParam.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2917 +1,0 @@
-nameExpr is i
-decl is i: function
-  with parameters
-    float 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: i: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is g
-decl is g: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-    U: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type U (not function type) 
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-        f: pointer to function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type U (not function type) 
-
-newExpr is Variable Expression: g: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          f: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          f: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-          _1_U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_U (not function type) 
-                    instance of type _1_U (not function type) 
-                  returning 
-                    instance of type _1_U (not function type) 
-
-              f: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _1_U (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-        returning 
-          instance of type _1_U (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                  f: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                  _1_U: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _1_U (not function type) 
-                            instance of type _1_U (not function type) 
-                          returning 
-                            instance of type _1_U (not function type) 
-
-                      f: pointer to function
-                          with parameters
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _1_U (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                returning 
-                  instance of type _1_U (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue signed int 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_U (not function type) 
-            instance of type _1_U (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-(used)f: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-success!
-satisfying assertion 20 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with declaration 12 ?=?: function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-inferRecursive: assertion is f: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
-
-inferRecursive: candidate is f: function
-  with parameters
-    signed int 
-  returning 
-    double 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-  returning 
-    double 
-
-success!
-satisfying assertion 23 f: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with declaration 32 f: function
-  with parameters
-    signed int 
-  returning 
-    double 
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 16 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 4 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: candidate is f: function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-success!
-satisfying assertion 20 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with declaration 8 ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: assertion is f: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
-
-inferRecursive: candidate is f: function
-  with parameters
-    signed int 
-  returning 
-    double 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-  returning 
-    double 
-
-inferRecursive: candidate is f: function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-success!
-satisfying assertion 23 f: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with declaration 29 f: function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 16 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 4 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 20 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with declaration 4 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: assertion is f: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
-
-inferRecursive: candidate is f: function
-  with parameters
-    signed int 
-  returning 
-    double 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-  returning 
-    double 
-
-inferRecursive: candidate is f: function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to double 
-            double 
-          returning 
-            double 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_U (not function type) 
-            instance of type _1_U (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            signed int 
-          returning 
-            double 
-
- to pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Variable Expression: a: signed int 
-
-bindings are:
-        ( _0_T ) -> signed int 
-        ( _1_U ) -> double  (no widening)
-cost of conversion is:( 0, 9, 0 )
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to float 
-            float 
-          returning 
-            float 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_U (not function type) 
-            instance of type _1_U (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            signed int 
-          returning 
-            float 
-
- to pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Variable Expression: a: signed int 
-
-bindings are:
-        ( _0_T ) -> signed int 
-        ( _1_U ) -> float  (no widening)
-cost of conversion is:( 0, 9, 0 )
-alternatives before prune:
-Cost ( 0, 9, 0 ): Application of
-  Variable Expression: g: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            f: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Variable Expression: a: signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?=?: function
-    with parameters
-      pointer to double 
-      double 
-    returning 
-      double 
-
-  f: function
-    with parameters
-      signed int 
-    returning 
-      double 
-
-(types:
-    instance of type _1_U (not function type) 
-)
-Environment:   ( _0_T ) -> signed int 
-  ( _1_U ) -> double  (no widening)
-
-
-Cost ( 0, 9, 0 ): Application of
-  Variable Expression: g: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            f: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Variable Expression: a: signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-  f: function
-    with parameters
-      signed int 
-    returning 
-      float 
-
-(types:
-    instance of type _1_U (not function type) 
-)
-Environment:   ( _0_T ) -> signed int 
-  ( _1_U ) -> float  (no widening)
-
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 9, 0 ): Application of
-  Variable Expression: g: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            f: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Variable Expression: a: signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-  f: function
-    with parameters
-      signed int 
-    returning 
-      float 
-
-(types:
-    float 
-)
-Environment:   ( _0_T ) -> signed int 
-  ( _1_U ) -> float  (no widening)
-
-
-Cost ( 0, 9, 0 ): Application of
-  Variable Expression: g: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            f: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Variable Expression: a: signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?=?: function
-    with parameters
-      pointer to double 
-      double 
-    returning 
-      double 
-
-  f: function
-    with parameters
-      signed int 
-    returning 
-      double 
-
-(types:
-    double 
-)
-Environment:   ( _0_T ) -> signed int 
-  ( _1_U ) -> double  (no widening)
-
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: i: function
-            with parameters
-              float 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is float 
-actual type is float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is float 
-actual type is double 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Application of
-          Variable Expression: g: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-                U: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type U (not function type) 
-                          instance of type U (not function type) 
-                        returning 
-                          instance of type U (not function type) 
-
-                    f: pointer to function
-                        with parameters
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type U (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-        to arguments
-                      Variable Expression: a: signed int 
-
-        with inferred parameters:
-          ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-          ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-          f: function
-            with parameters
-              signed int 
-            returning 
-              float 
-
---- results are
-        float 
-
-converting float 
- to float 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        float 
-actuals are:
-                  Application of
-            Variable Expression: g: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                  U: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type U (not function type) 
-                            instance of type U (not function type) 
-                          returning 
-                            instance of type U (not function type) 
-
-                      f: pointer to function
-                          with parameters
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type U (not function type) 
-
-
-                function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-          to arguments
-                          Variable Expression: a: signed int 
-
-          with inferred parameters:
-            ?=?: function
-              with parameters
-                pointer to signed int 
-                signed int 
-              returning 
-                signed int 
-
-            ?=?: function
-              with parameters
-                pointer to float 
-                float 
-              returning 
-                float 
-
-            f: function
-              with parameters
-                signed int 
-              returning 
-                float 
-
-
-bindings are:
-        ( _0_T ) -> signed int  (no widening)
-        ( _1_U ) -> float  (no widening)
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Application of
-          Variable Expression: g: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-                U: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type U (not function type) 
-                          instance of type U (not function type) 
-                        returning 
-                          instance of type U (not function type) 
-
-                    f: pointer to function
-                        with parameters
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type U (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-        to arguments
-                      Variable Expression: a: signed int 
-
-        with inferred parameters:
-          ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-          ?=?: function
-            with parameters
-              pointer to double 
-              double 
-            returning 
-              double 
-
-          f: function
-            with parameters
-              signed int 
-            returning 
-              double 
-
---- results are
-        double 
-
-converting double 
- to float 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        float 
-actuals are:
-                  Cast of:
-            Application of
-              Variable Expression: g: forall
-                    T: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type T (not function type) 
-                              instance of type T (not function type) 
-                            returning 
-                              instance of type T (not function type) 
-
-
-                    U: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type U (not function type) 
-                              instance of type U (not function type) 
-                            returning 
-                              instance of type U (not function type) 
-
-                        f: pointer to function
-                            with parameters
-                              instance of type T (not function type) 
-                            returning 
-                              instance of type U (not function type) 
-
-
-                  function
-                  with parameters
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type U (not function type) 
-
-            to arguments
-                              Variable Expression: a: signed int 
-
-            with inferred parameters:
-              ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-              ?=?: function
-                with parameters
-                  pointer to double 
-                  double 
-                returning 
-                  double 
-
-              f: function
-                with parameters
-                  signed int 
-                returning 
-                  double 
-
-
-          to:
-            float 
-
-bindings are:
-        ( _0_T ) -> signed int  (no widening)
-        ( _1_U ) -> double  (no widening)
-cost of conversion is:( 1, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: i: function
-      with parameters
-        float 
-      returning 
-        nothing 
-
-to arguments
-      Application of
-      Variable Expression: g: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-            U: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type U (not function type) 
-                      instance of type U (not function type) 
-                    returning 
-                      instance of type U (not function type) 
-
-                f: pointer to function
-                    with parameters
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type U (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type U (not function type) 
-
-    to arguments
-              Variable Expression: a: signed int 
-
-    with inferred parameters:
-      ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-      ?=?: function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-      f: function
-        with parameters
-          signed int 
-        returning 
-          float 
-
-
-(types:
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-  ( _1_U ) -> float  (no widening)
-
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: i: function
-      with parameters
-        float 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Application of
-        Variable Expression: g: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                  f: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-      to arguments
-                  Variable Expression: a: signed int 
-
-      with inferred parameters:
-        ?=?: function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
-        ?=?: function
-          with parameters
-            pointer to double 
-            double 
-          returning 
-            double 
-
-        f: function
-          with parameters
-            signed int 
-          returning 
-            double 
-
-
-    to:
-      float 
-
-(types:
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-  ( _1_U ) -> double  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: i: function
-        with parameters
-          float 
-        returning 
-          nothing 
-
-  to arguments
-          Application of
-        Variable Expression: g: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                  f: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-      to arguments
-                  Variable Expression: a: signed int 
-
-      with inferred parameters:
-        ?=?: function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
-        ?=?: function
-          with parameters
-            pointer to float 
-            float 
-          returning 
-            float 
-
-        f: function
-          with parameters
-            signed int 
-          returning 
-            float 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-  ( _1_U ) -> float  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is i
-decl is i: function
-  with parameters
-    float 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: i: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is k
-decl is k: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-    U: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type U (not function type) 
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-        f: pointer to function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-        j: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type U (not function type) 
-
-newExpr is Variable Expression: k: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          f: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          j: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: k: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          f: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          j: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-          _1_U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_U (not function type) 
-                    instance of type _1_U (not function type) 
-                  returning 
-                    instance of type _1_U (not function type) 
-
-              f: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _1_U (not function type) 
-
-              j: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                    instance of type _1_U (not function type) 
-                  returning 
-                    instance of type _1_U (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-        returning 
-          instance of type _1_U (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: k: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                  f: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                  j: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                  _1_U: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _1_U (not function type) 
-                            instance of type _1_U (not function type) 
-                          returning 
-                            instance of type _1_U (not function type) 
-
-                      f: pointer to function
-                          with parameters
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _1_U (not function type) 
-
-                      j: pointer to function
-                          with parameters
-                            instance of type _0_T (not function type) 
-                            instance of type _1_U (not function type) 
-                          returning 
-                            instance of type _1_U (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                returning 
-                  instance of type _1_U (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is lvalue signed int 
-need assertions:
-j: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _1_U (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-(used)f: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_U (not function type) 
-            instance of type _1_U (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is j: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
-
-inferRecursive: candidate is j: function
-  with parameters
-    signed int 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-    float 
-  returning 
-    float 
-
-success!
-satisfying assertion 62 j: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with declaration 47 j: function
-  with parameters
-    signed int 
-    float 
-  returning 
-    float 
-
-inferRecursive: assertion is f: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
-
-inferRecursive: candidate is f: function
-  with parameters
-    signed int 
-  returning 
-    double 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-  returning 
-    double 
-
-inferRecursive: candidate is f: function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-success!
-satisfying assertion 58 f: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with declaration 29 f: function
-  with parameters
-    signed int 
-  returning 
-    float 
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-success!
-satisfying assertion 55 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with declaration 8 ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to double 
-    double 
-  returning 
-    double 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 51 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 4 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    instance of type _1_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: b: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to float 
-            float 
-          returning 
-            float 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_U (not function type) 
-            instance of type _1_U (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            signed int 
-          returning 
-            float 
-
- to pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            signed int 
-            float 
-          returning 
-            float 
-
- to pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _1_U (not function type) 
-          returning 
-            instance of type _1_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Variable Expression: b: signed int 
-
-bindings are:
-        ( _0_T ) -> signed int 
-        ( _1_U ) -> float  (no widening)
-cost of conversion is:( 0, 12, 0 )
-alternatives before prune:
-Cost ( 0, 12, 0 ): Application of
-  Variable Expression: k: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            f: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            j: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Variable Expression: b: signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-  f: function
-    with parameters
-      signed int 
-    returning 
-      float 
-
-  j: function
-    with parameters
-      signed int 
-      float 
-    returning 
-      float 
-
-(types:
-    instance of type _1_U (not function type) 
-)
-Environment:   ( _0_T ) -> signed int 
-  ( _1_U ) -> float  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 12, 0 ): Application of
-  Variable Expression: k: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            f: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            j: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Variable Expression: b: signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-  f: function
-    with parameters
-      signed int 
-    returning 
-      float 
-
-  j: function
-    with parameters
-      signed int 
-      float 
-    returning 
-      float 
-
-(types:
-    float 
-)
-Environment:   ( _0_T ) -> signed int 
-  ( _1_U ) -> float  (no widening)
-
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: i: function
-            with parameters
-              float 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is float 
-actual type is float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Application of
-          Variable Expression: k: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-                U: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type U (not function type) 
-                          instance of type U (not function type) 
-                        returning 
-                          instance of type U (not function type) 
-
-                    f: pointer to function
-                        with parameters
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type U (not function type) 
-
-                    j: pointer to function
-                        with parameters
-                          instance of type T (not function type) 
-                          instance of type U (not function type) 
-                        returning 
-                          instance of type U (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-        to arguments
-                      Variable Expression: b: signed int 
-
-        with inferred parameters:
-          ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-          ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-          f: function
-            with parameters
-              signed int 
-            returning 
-              float 
-
-          j: function
-            with parameters
-              signed int 
-              float 
-            returning 
-              float 
-
---- results are
-        float 
-
-converting float 
- to float 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        float 
-actuals are:
-                  Application of
-            Variable Expression: k: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                  U: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type U (not function type) 
-                            instance of type U (not function type) 
-                          returning 
-                            instance of type U (not function type) 
-
-                      f: pointer to function
-                          with parameters
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type U (not function type) 
-
-                      j: pointer to function
-                          with parameters
-                            instance of type T (not function type) 
-                            instance of type U (not function type) 
-                          returning 
-                            instance of type U (not function type) 
-
-
-                function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-          to arguments
-                          Variable Expression: b: signed int 
-
-          with inferred parameters:
-            ?=?: function
-              with parameters
-                pointer to signed int 
-                signed int 
-              returning 
-                signed int 
-
-            ?=?: function
-              with parameters
-                pointer to float 
-                float 
-              returning 
-                float 
-
-            f: function
-              with parameters
-                signed int 
-              returning 
-                float 
-
-            j: function
-              with parameters
-                signed int 
-                float 
-              returning 
-                float 
-
-
-bindings are:
-        ( _0_T ) -> signed int  (no widening)
-        ( _1_U ) -> float  (no widening)
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: i: function
-      with parameters
-        float 
-      returning 
-        nothing 
-
-to arguments
-      Application of
-      Variable Expression: k: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-            U: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type U (not function type) 
-                      instance of type U (not function type) 
-                    returning 
-                      instance of type U (not function type) 
-
-                f: pointer to function
-                    with parameters
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type U (not function type) 
-
-                j: pointer to function
-                    with parameters
-                      instance of type T (not function type) 
-                      instance of type U (not function type) 
-                    returning 
-                      instance of type U (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type U (not function type) 
-
-    to arguments
-              Variable Expression: b: signed int 
-
-    with inferred parameters:
-      ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-      ?=?: function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-      f: function
-        with parameters
-          signed int 
-        returning 
-          float 
-
-      j: function
-        with parameters
-          signed int 
-          float 
-        returning 
-          float 
-
-
-(types:
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-  ( _1_U ) -> float  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: i: function
-        with parameters
-          float 
-        returning 
-          nothing 
-
-  to arguments
-          Application of
-        Variable Expression: k: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                  f: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                  j: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-      to arguments
-                  Variable Expression: b: signed int 
-
-      with inferred parameters:
-        ?=?: function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
-        ?=?: function
-          with parameters
-            pointer to float 
-            float 
-          returning 
-            float 
-
-        f: function
-          with parameters
-            signed int 
-          returning 
-            float 
-
-        j: function
-          with parameters
-            signed int 
-            float 
-          returning 
-            float 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _0_T ) -> signed int  (no widening)
-  ( _1_U ) -> float  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int ___operator_assign__Fi_Pii_(int *, int );
-float ___operator_assign__Ff_Pff_(float *, float );
-double ___operator_assign__Fd_Pdd_(double *, double );
-void __g__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0__Ft1_t0_(void (*_adapterF2tU_2tT_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, long unsigned int U, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__f__PF2tU_2tT_)(), void *, void *);
-float __f__Ff_i_(int );
-double __f__Fd_i_(int );
-void __i__F_f_(float );
-void __h__F__(){
-    int __a__i;
-    float _temp0;
-    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
-    }
-    void _adapterFf_Pff_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((float *)_ret))=((float (*)(float *, float ))_adaptee)(_p0, (*((float *)_p1))));
-    }
-    void _adapterFf_i_(void (*_adaptee)(), void *_ret, void *_p0){
-        ((*((float *)_ret))=((float (*)(int ))_adaptee)((*((int *)_p0))));
-    }
-    __i__F_f_((__g__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0__Ft1_t0_(_adapterFf_i_, _adapterFf_Pff_, _adapterFi_Pii_, sizeof(int ), sizeof(float ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_assign__Ff_Pff_), ((void (*)())__f__Ff_i_), (&_temp0), (&__a__i)) , _temp0));
-}
-;
-float __j__Ff_if_(int , float );
-void __k__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0___j__PFt1_t0t1__Ft1_t0_(void (*_adapterF2tU_2tT2tU_)(void (*)(), void *, void *, void *), void (*_adapterF2tU_2tT_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, long unsigned int U, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__f__PF2tU_2tT_)(), void (*__j__PF2tU_2tT2tU_)(), void *, void *);
-void __l__F__(){
-    int __b__i;
-    float _temp1;
-    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
-    }
-    void _adapterFf_Pff_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((float *)_ret))=((float (*)(float *, float ))_adaptee)(_p0, (*((float *)_p1))));
-    }
-    void _adapterFf_i_(void (*_adaptee)(), void *_ret, void *_p0){
-        ((*((float *)_ret))=((float (*)(int ))_adaptee)((*((int *)_p0))));
-    }
-    void _adapterFf_if_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((float *)_ret))=((float (*)(int , float ))_adaptee)((*((int *)_p0)), (*((float *)_p1))));
-    }
-    __i__F_f_((__k__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0___j__PFt1_t0t1__Ft1_t0_(_adapterFf_if_, _adapterFf_i_, _adapterFf_Pff_, _adapterFi_Pii_, sizeof(int ), sizeof(float ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_assign__Ff_Pff_), ((void (*)())__f__Ff_i_), ((void (*)())__j__Ff_if_), (&_temp1), (&__b__i)) , _temp1));
-}
Index: src/Tests/Expect-r/Initialization.txt
===================================================================
--- src/Tests/Expect-r/Initialization.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,15674 +1,0 @@
-nameExpr is 0
-nameExpr is 0
-nameExpr is 0
-nameExpr is 0
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 20 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 20 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 20 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 20 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  w: tuple of types
-    signed int 
-
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    w: tuple of types
-      signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    w: tuple of types
-      signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  w: tuple of types
-    signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  w: tuple of types
-    signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-(types:
-    instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 2 signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _index0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: _index0: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: _index0: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is 0
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    b: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    b: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue instance of struct __anonymous1 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-(types:
-    instance of struct __anonymous1 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is 1
-nameExpr is 1
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  g1: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    g1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    g1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  g1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  g1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  g2: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    g2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    g2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  g2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  g2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  g3: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    g3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    g3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  g3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  g3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue instance of struct __anonymous2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-(types:
-    instance of struct __anonymous2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 4 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f1: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f2: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f3: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _index1: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: _index1: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: _index1: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is 0
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-(types:
-    instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is 0
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y3: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-(types:
-    instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct point 
-    _src: instance of struct point 
-  returning 
-    instance of struct point 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                y: instance of struct __anonymous4 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct point 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct point 
-          _src: instance of struct point 
-        returning 
-          instance of struct point 
-
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct point 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct point 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct point 
-              _src: instance of struct point 
-            returning 
-              instance of struct point 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct point 
-                  _src: instance of struct point 
-                returning 
-                  instance of struct point 
-
-)
-        Environment: 
-formal type is pointer to instance of struct point 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct point 
-    _src: instance of struct point 
-  returning 
-    instance of struct point 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                y: instance of struct __anonymous4 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct point 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct point 
-          _src: instance of struct point 
-        returning 
-          instance of struct point 
-
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  z: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    z: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    z: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  z: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct point 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  z: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct point 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct point 
-              _src: instance of struct point 
-            returning 
-              instance of struct point 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct point 
-                  _src: instance of struct point 
-                returning 
-                  instance of struct point 
-
-)
-        Environment: 
-formal type is pointer to instance of struct point 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct point 
-    _src: instance of struct point 
-  returning 
-    instance of struct point 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                y: instance of struct __anonymous4 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct point 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct point 
-          _src: instance of struct point 
-        returning 
-          instance of struct point 
-
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous4 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    lvalue instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous4 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    pointer to instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous4 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    pointer to instance of struct __anonymous4 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous4 
-from aggregate: 
-  Variable Expression: _src: instance of struct point 
-(types:
-    lvalue instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous4 
-from aggregate: 
-  Variable Expression: _src: instance of struct point 
-(types:
-    lvalue instance of struct __anonymous4 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct point 
-              _src: instance of struct point 
-            returning 
-              instance of struct point 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct point 
-                  _src: instance of struct point 
-                returning 
-                  instance of struct point 
-
-)
-        Environment: 
-formal type is pointer to instance of struct point 
-actual type is pointer to instance of struct __anonymous4 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to instance of struct __anonymous4 
-formal type is instance of struct __anonymous4 
-actual type is lvalue instance of struct __anonymous4 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to instance of struct __anonymous4 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to instance of struct __anonymous4 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to instance of struct __anonymous4 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of struct __anonymous4 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            y: instance of struct __anonymous4 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct point 
---- results are
-        pointer to instance of struct __anonymous4 
-
-converting pointer to instance of struct __anonymous4 
- to pointer to instance of struct __anonymous4 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          y: instance of struct __anonymous4 
-        from aggregate: 
-          Variable Expression: _src: instance of struct point 
---- results are
-        lvalue instance of struct __anonymous4 
-
-converting lvalue instance of struct __anonymous4 
- to instance of struct __anonymous4 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        _dst: pointer to instance of struct __anonymous4 
-        _src: instance of struct __anonymous4 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              y: instance of struct __anonymous4 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct point 
-
-                  Member Expression, with field: 
-            y: instance of struct __anonymous4 
-          from aggregate: 
-            Variable Expression: _src: instance of struct point 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: inline static function
-      with parameters
-        _dst: pointer to instance of struct __anonymous4 
-        _src: instance of struct __anonymous4 
-      returning 
-        instance of struct __anonymous4 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        y: instance of struct __anonymous4 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-
-      Member Expression, with field: 
-      y: instance of struct __anonymous4 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-(types:
-    instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: inline static function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          y: instance of struct __anonymous4 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct point 
-
-          Member Expression, with field: 
-        y: instance of struct __anonymous4 
-      from aggregate: 
-        Variable Expression: _src: instance of struct point 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct point 
-    _src: instance of struct point 
-  returning 
-    instance of struct point 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous4 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct point 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct point 
-          _src: instance of struct point 
-        returning 
-          instance of struct point 
-
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  w: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    w: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    w: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct point 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  w: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct point 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  w: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct point 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct point 
-              _src: instance of struct point 
-            returning 
-              instance of struct point 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct point 
-                  _src: instance of struct point 
-                returning 
-                  instance of struct point 
-
-)
-        Environment: 
-formal type is pointer to instance of struct point 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct point 
-(types:
-    lvalue instance of struct point 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct point 
-
-to:
-  instance of struct point 
-(types:
-    instance of struct point 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct point 
-    _src: instance of struct point 
-  returning 
-    instance of struct point 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous4 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct point 
-
-to:
-  instance of struct point 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct quintet 
-    _src: instance of struct quintet 
-  returning 
-    instance of struct quintet 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  v: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                v: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct point 
-          _src: instance of struct point 
-        returning 
-          instance of struct point 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct quintet 
-          _src: instance of struct quintet 
-        returning 
-          instance of struct quintet 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  v: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    v: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    v: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  v: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  v: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct quintet 
-              _src: instance of struct quintet 
-            returning 
-              instance of struct quintet 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct quintet 
-                  _src: instance of struct quintet 
-                returning 
-                  instance of struct quintet 
-
-)
-        Environment: 
-formal type is pointer to instance of struct quintet 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct point 
-              _src: instance of struct point 
-            returning 
-              instance of struct point 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct point 
-                  _src: instance of struct point 
-                returning 
-                  instance of struct point 
-
-)
-        Environment: 
-formal type is pointer to instance of struct point 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct point 
-    _src: instance of struct point 
-  returning 
-    instance of struct point 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous4 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct point 
-
-to:
-  instance of struct point 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct quintet 
-    _src: instance of struct quintet 
-  returning 
-    instance of struct quintet 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  v: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                v: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct point 
-          _src: instance of struct point 
-        returning 
-          instance of struct point 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct quintet 
-          _src: instance of struct quintet 
-        returning 
-          instance of struct quintet 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  w: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    w: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    w: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  w: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  w: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct quintet 
-              _src: instance of struct quintet 
-            returning 
-              instance of struct quintet 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct quintet 
-                  _src: instance of struct quintet 
-                returning 
-                  instance of struct quintet 
-
-)
-        Environment: 
-formal type is pointer to instance of struct quintet 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct point 
-              _src: instance of struct point 
-            returning 
-              instance of struct point 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct point 
-                  _src: instance of struct point 
-                returning 
-                  instance of struct point 
-
-)
-        Environment: 
-formal type is pointer to instance of struct point 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct point 
-    _src: instance of struct point 
-  returning 
-    instance of struct point 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous4 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct point 
-
-to:
-  instance of struct point 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct quintet 
-    _src: instance of struct quintet 
-  returning 
-    instance of struct quintet 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  v: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                v: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct point 
-          _src: instance of struct point 
-        returning 
-          instance of struct point 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct quintet 
-          _src: instance of struct quintet 
-        returning 
-          instance of struct quintet 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct quintet 
-              _src: instance of struct quintet 
-            returning 
-              instance of struct quintet 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct quintet 
-                  _src: instance of struct quintet 
-                returning 
-                  instance of struct quintet 
-
-)
-        Environment: 
-formal type is pointer to instance of struct quintet 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct point 
-              _src: instance of struct point 
-            returning 
-              instance of struct point 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct point 
-                  _src: instance of struct point 
-                returning 
-                  instance of struct point 
-
-)
-        Environment: 
-formal type is pointer to instance of struct point 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct point 
-    _src: instance of struct point 
-  returning 
-    instance of struct point 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous4 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct point 
-
-to:
-  instance of struct point 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct quintet 
-    _src: instance of struct quintet 
-  returning 
-    instance of struct quintet 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  v: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                v: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct point 
-          _src: instance of struct point 
-        returning 
-          instance of struct point 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct quintet 
-          _src: instance of struct quintet 
-        returning 
-          instance of struct quintet 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct quintet 
-              _src: instance of struct quintet 
-            returning 
-              instance of struct quintet 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct quintet 
-                  _src: instance of struct quintet 
-                returning 
-                  instance of struct quintet 
-
-)
-        Environment: 
-formal type is pointer to instance of struct quintet 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct point 
-              _src: instance of struct point 
-            returning 
-              instance of struct point 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct point 
-                  _src: instance of struct point 
-                returning 
-                  instance of struct point 
-
-)
-        Environment: 
-formal type is pointer to instance of struct point 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                w: tuple of types
-                  signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-      Declaration of _index0: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index0: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            a: array of signed int with dimension of                             Cast of:
-constant expression 3 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous1 
-                          Variable Expression: _index0: signed int 
-
-
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                g3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-      Declaration of _index1: C signed int 
-              Labels: {}
-        For Statement
-          initialization: 
-            Expression Statement:
-              Applying untyped: 
-                  Name: ?=?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-                  Name: 0
-
-          condition: 
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-          increment: 
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Variable Expression: _index1: signed int 
-
-          statement block: 
-            CompoundStmt
-                              Expression Statement:
-                  Applying untyped: 
-                      Name: ?=?
-                  ...to: 
-                      Applying untyped: 
-                          Name: ?+?
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-                      Applying untyped: 
-                          Name: ?[?]
-                      ...to: 
-                          Member Expression, with field: 
-                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
-constant expression 4 signed int 
-                            to:
-                              long unsigned int 
-                            with environment:
-                              Types:
-                              Non-types:
-
-                          from aggregate: 
-                            Variable Expression: _src: instance of struct __anonymous3 
-                          Variable Expression: _index1: signed int 
-
-
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct point 
-    _src: instance of struct point 
-  returning 
-    instance of struct point 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous4 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct point 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct point 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct point 
-
-to:
-  instance of struct point 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct quintet 
-    _src: instance of struct quintet 
-  returning 
-    instance of struct quintet 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  v: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                v: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                w: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct quintet 
-              Member Expression, with field: 
-                z: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct quintet 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct point 
-          _src: instance of struct point 
-        returning 
-          instance of struct point 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct quintet 
-          _src: instance of struct quintet 
-        returning 
-          instance of struct quintet 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  z: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    z: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    z: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct quintet 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  z: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  z: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct quintet 
-              _src: instance of struct quintet 
-            returning 
-              instance of struct quintet 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct quintet 
-                  _src: instance of struct quintet 
-                returning 
-                  instance of struct quintet 
-
-)
-        Environment: 
-formal type is pointer to instance of struct quintet 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct point 
-              _src: instance of struct point 
-            returning 
-              instance of struct point 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct point 
-                  _src: instance of struct point 
-                returning 
-                  instance of struct point 
-
-)
-        Environment: 
-formal type is pointer to instance of struct point 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct quintet 
-(types:
-    lvalue instance of struct quintet 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct quintet 
-
-to:
-  instance of struct quintet 
-(types:
-    instance of struct quintet 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 6 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        w: tuple of types
-          signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      w: tuple of types
-        signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Tuple:
-    constant expression 2 signed int 
-
-to:
-  instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        b: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      b: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Name: 1
-
-Error: No reasonable alternatives for expression Name: 1
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 2 signed int 
-to:
-  pointer to instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        g1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      g1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        g2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      g2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        g3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      g3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      f1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      f2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      f3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 7 signed int 
-to:
-  instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      y3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        z: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-    Member Expression, with field: 
-      z: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        w: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct point 
-    Member Expression, with field: 
-      w: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct point 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        v: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      v: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        w: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      w: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        z: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct quintet 
-    Member Expression, with field: 
-      z: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct quintet 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 6 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 17 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct point 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct point 
-
Index: src/Tests/Expect-r/Initialization2.txt
===================================================================
--- src/Tests/Expect-r/Initialization2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,21582 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-constant expression 3 signed int 
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-(types:
-    instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue instance of struct __anonymous1 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-(types:
-    instance of struct __anonymous1 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous2 
-(types:
-    lvalue instance of struct __anonymous2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-(types:
-    instance of struct __anonymous2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous3 
-(types:
-    lvalue instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-(types:
-    instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous3 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    lvalue instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous3 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous3 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-(types:
-    pointer to instance of struct __anonymous3 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous3 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous3 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue instance of struct __anonymous3 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to instance of struct __anonymous3 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to instance of struct __anonymous3 
-formal type is instance of struct __anonymous3 
-actual type is lvalue instance of struct __anonymous3 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to instance of struct __anonymous3 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to instance of struct __anonymous3 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of struct __anonymous3 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            y: instance of struct __anonymous3 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct __anonymous4 
---- results are
-        pointer to instance of struct __anonymous3 
-
-converting pointer to instance of struct __anonymous3 
- to pointer to instance of struct __anonymous3 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          y: instance of struct __anonymous3 
-        from aggregate: 
-          Variable Expression: _src: instance of struct __anonymous4 
---- results are
-        lvalue instance of struct __anonymous3 
-
-converting lvalue instance of struct __anonymous3 
- to instance of struct __anonymous3 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        _dst: pointer to instance of struct __anonymous3 
-        _src: instance of struct __anonymous3 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              y: instance of struct __anonymous3 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                  Member Expression, with field: 
-            y: instance of struct __anonymous3 
-          from aggregate: 
-            Variable Expression: _src: instance of struct __anonymous4 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: inline static function
-      with parameters
-        _dst: pointer to instance of struct __anonymous3 
-        _src: instance of struct __anonymous3 
-      returning 
-        instance of struct __anonymous3 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        y: instance of struct __anonymous3 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-      Member Expression, with field: 
-      y: instance of struct __anonymous3 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-(types:
-    instance of struct __anonymous3 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: inline static function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          y: instance of struct __anonymous3 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-          Member Expression, with field: 
-        y: instance of struct __anonymous3 
-      from aggregate: 
-        Variable Expression: _src: instance of struct __anonymous4 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous4 
-(types:
-    lvalue instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-(types:
-    instance of struct __anonymous4 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous5 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous5 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous5 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous5 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous5 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous5 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous5 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous5 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous5 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous5 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous5 
-(types:
-    lvalue instance of struct __anonymous5 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-(types:
-    instance of struct __anonymous5 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous6 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous6 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous6 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous6 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous6 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous6 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous5 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-(types:
-    lvalue instance of struct __anonymous5 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous5 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous6 
-(types:
-    pointer to instance of struct __anonymous5 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous5 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous6 
-(types:
-    pointer to instance of struct __anonymous5 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous5 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous6 
-(types:
-    lvalue instance of struct __anonymous5 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous5 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous6 
-(types:
-    lvalue instance of struct __anonymous5 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to instance of struct __anonymous5 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to instance of struct __anonymous5 
-formal type is instance of struct __anonymous5 
-actual type is lvalue instance of struct __anonymous5 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to instance of struct __anonymous5 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to instance of struct __anonymous5 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to instance of struct __anonymous5 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to instance of struct __anonymous5 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of struct __anonymous5 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            y: instance of struct __anonymous5 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct __anonymous6 
---- results are
-        pointer to instance of struct __anonymous5 
-
-converting pointer to instance of struct __anonymous5 
- to pointer to instance of struct __anonymous5 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          y: instance of struct __anonymous5 
-        from aggregate: 
-          Variable Expression: _src: instance of struct __anonymous6 
---- results are
-        lvalue instance of struct __anonymous5 
-
-converting lvalue instance of struct __anonymous5 
- to instance of struct __anonymous5 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        _dst: pointer to instance of struct __anonymous5 
-        _src: instance of struct __anonymous5 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              y: instance of struct __anonymous5 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                  Member Expression, with field: 
-            y: instance of struct __anonymous5 
-          from aggregate: 
-            Variable Expression: _src: instance of struct __anonymous6 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: inline static function
-      with parameters
-        _dst: pointer to instance of struct __anonymous5 
-        _src: instance of struct __anonymous5 
-      returning 
-        instance of struct __anonymous5 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        y: instance of struct __anonymous5 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-      Member Expression, with field: 
-      y: instance of struct __anonymous5 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous6 
-
-(types:
-    instance of struct __anonymous5 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: inline static function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          y: instance of struct __anonymous5 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-          Member Expression, with field: 
-        y: instance of struct __anonymous5 
-      from aggregate: 
-        Variable Expression: _src: instance of struct __anonymous6 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous6 
-(types:
-    lvalue instance of struct __anonymous6 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-(types:
-    instance of struct __anonymous6 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 9 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 8 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous7 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-there are 8 alternatives before elimination
-there are 8 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous7 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous7 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous7 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous7 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous7 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-there are 8 alternatives before elimination
-there are 8 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous7 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous7 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous7 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous7 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous7 
-(types:
-    lvalue instance of struct __anonymous7 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-(types:
-    instance of struct __anonymous7 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous8 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-there are 9 alternatives before elimination
-there are 9 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous8 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous8 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous8 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous8 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous8 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-there are 9 alternatives before elimination
-there are 9 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous7 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-(types:
-    lvalue instance of struct __anonymous7 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous7 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous8 
-(types:
-    pointer to instance of struct __anonymous7 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous7 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous8 
-(types:
-    pointer to instance of struct __anonymous7 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous7 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous8 
-(types:
-    lvalue instance of struct __anonymous7 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous7 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous8 
-(types:
-    lvalue instance of struct __anonymous7 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to instance of struct __anonymous7 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to instance of struct __anonymous7 
-formal type is instance of struct __anonymous7 
-actual type is lvalue instance of struct __anonymous7 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to instance of struct __anonymous7 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to instance of struct __anonymous7 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to instance of struct __anonymous7 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to instance of struct __anonymous7 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to instance of struct __anonymous7 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to instance of struct __anonymous7 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of struct __anonymous7 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            y: instance of struct __anonymous7 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct __anonymous8 
---- results are
-        pointer to instance of struct __anonymous7 
-
-converting pointer to instance of struct __anonymous7 
- to pointer to instance of struct __anonymous7 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          y: instance of struct __anonymous7 
-        from aggregate: 
-          Variable Expression: _src: instance of struct __anonymous8 
---- results are
-        lvalue instance of struct __anonymous7 
-
-converting lvalue instance of struct __anonymous7 
- to instance of struct __anonymous7 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        _dst: pointer to instance of struct __anonymous7 
-        _src: instance of struct __anonymous7 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              y: instance of struct __anonymous7 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-                  Member Expression, with field: 
-            y: instance of struct __anonymous7 
-          from aggregate: 
-            Variable Expression: _src: instance of struct __anonymous8 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: inline static function
-      with parameters
-        _dst: pointer to instance of struct __anonymous7 
-        _src: instance of struct __anonymous7 
-      returning 
-        instance of struct __anonymous7 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        y: instance of struct __anonymous7 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-      Member Expression, with field: 
-      y: instance of struct __anonymous7 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous8 
-
-(types:
-    instance of struct __anonymous7 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: inline static function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          y: instance of struct __anonymous7 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-          Member Expression, with field: 
-        y: instance of struct __anonymous7 
-      from aggregate: 
-        Variable Expression: _src: instance of struct __anonymous8 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous8 
-(types:
-    lvalue instance of struct __anonymous8 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous8 
-
-to:
-  instance of struct __anonymous8 
-(types:
-    instance of struct __anonymous8 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 9 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 8 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous8 
-
-to:
-  instance of struct __anonymous8 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous9 
-    _src: instance of struct __anonymous9 
-  returning 
-    instance of struct __anonymous9 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous9 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous9 
-          _src: instance of struct __anonymous9 
-        returning 
-          instance of struct __anonymous9 
-
-)
-Environment: 
-
-there are 10 alternatives before elimination
-there are 10 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous9 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous9 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous9 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous9 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous9 
-              _src: instance of struct __anonymous9 
-            returning 
-              instance of struct __anonymous9 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous9 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous8 
-
-to:
-  instance of struct __anonymous8 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous9 
-    _src: instance of struct __anonymous9 
-  returning 
-    instance of struct __anonymous9 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous9 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous9 
-          _src: instance of struct __anonymous9 
-        returning 
-          instance of struct __anonymous9 
-
-)
-Environment: 
-
-there are 10 alternatives before elimination
-there are 10 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous9 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous9 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous9 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous9 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous9 
-              _src: instance of struct __anonymous9 
-            returning 
-              instance of struct __anonymous9 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous9 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous9 
-(types:
-    lvalue instance of struct __anonymous9 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous9 
-
-to:
-  instance of struct __anonymous9 
-(types:
-    instance of struct __anonymous9 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous8 
-
-to:
-  instance of struct __anonymous8 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous9 
-    _src: instance of struct __anonymous9 
-  returning 
-    instance of struct __anonymous9 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous9 
-
-to:
-  instance of struct __anonymous9 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous10 
-    _src: instance of struct __anonymous10 
-  returning 
-    instance of struct __anonymous10 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous9 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-              Member Expression, with field: 
-                y: instance of struct __anonymous9 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous10 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous9 
-          _src: instance of struct __anonymous9 
-        returning 
-          instance of struct __anonymous9 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous10 
-          _src: instance of struct __anonymous10 
-        returning 
-          instance of struct __anonymous10 
-
-)
-Environment: 
-
-there are 11 alternatives before elimination
-there are 11 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous10 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous10 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous10 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous10 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous10 
-              _src: instance of struct __anonymous10 
-            returning 
-              instance of struct __anonymous10 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous10 
-                  _src: instance of struct __anonymous10 
-                returning 
-                  instance of struct __anonymous10 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous10 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous9 
-              _src: instance of struct __anonymous9 
-            returning 
-              instance of struct __anonymous9 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous9 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous8 
-
-to:
-  instance of struct __anonymous8 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous9 
-    _src: instance of struct __anonymous9 
-  returning 
-    instance of struct __anonymous9 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous9 
-
-to:
-  instance of struct __anonymous9 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous10 
-    _src: instance of struct __anonymous10 
-  returning 
-    instance of struct __anonymous10 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous9 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-              Member Expression, with field: 
-                y: instance of struct __anonymous9 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous10 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous9 
-          _src: instance of struct __anonymous9 
-        returning 
-          instance of struct __anonymous9 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous10 
-          _src: instance of struct __anonymous10 
-        returning 
-          instance of struct __anonymous10 
-
-)
-Environment: 
-
-there are 11 alternatives before elimination
-there are 11 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous9 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-(types:
-    lvalue instance of struct __anonymous9 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous9 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous10 
-(types:
-    pointer to instance of struct __anonymous9 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: instance of struct __anonymous9 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous10 
-(types:
-    pointer to instance of struct __anonymous9 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous9 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous10 
-(types:
-    lvalue instance of struct __anonymous9 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: instance of struct __anonymous9 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous10 
-(types:
-    lvalue instance of struct __anonymous9 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous10 
-              _src: instance of struct __anonymous10 
-            returning 
-              instance of struct __anonymous10 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous10 
-                  _src: instance of struct __anonymous10 
-                returning 
-                  instance of struct __anonymous10 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous10 
-actual type is pointer to instance of struct __anonymous9 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous9 
-              _src: instance of struct __anonymous9 
-            returning 
-              instance of struct __anonymous9 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous9 
-actual type is pointer to instance of struct __anonymous9 
-formal type is instance of struct __anonymous9 
-actual type is lvalue instance of struct __anonymous9 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to instance of struct __anonymous9 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to instance of struct __anonymous9 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to instance of struct __anonymous9 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to instance of struct __anonymous9 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to instance of struct __anonymous9 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to instance of struct __anonymous9 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to instance of struct __anonymous9 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to instance of struct __anonymous9 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of struct __anonymous9 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            y: instance of struct __anonymous9 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct __anonymous10 
---- results are
-        pointer to instance of struct __anonymous9 
-
-converting pointer to instance of struct __anonymous9 
- to pointer to instance of struct __anonymous9 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          y: instance of struct __anonymous9 
-        from aggregate: 
-          Variable Expression: _src: instance of struct __anonymous10 
---- results are
-        lvalue instance of struct __anonymous9 
-
-converting lvalue instance of struct __anonymous9 
- to instance of struct __anonymous9 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        _dst: pointer to instance of struct __anonymous9 
-        _src: instance of struct __anonymous9 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              y: instance of struct __anonymous9 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct __anonymous10 
-
-                  Member Expression, with field: 
-            y: instance of struct __anonymous9 
-          from aggregate: 
-            Variable Expression: _src: instance of struct __anonymous10 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: inline static function
-      with parameters
-        _dst: pointer to instance of struct __anonymous9 
-        _src: instance of struct __anonymous9 
-      returning 
-        instance of struct __anonymous9 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        y: instance of struct __anonymous9 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous10 
-
-      Member Expression, with field: 
-      y: instance of struct __anonymous9 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous10 
-
-(types:
-    instance of struct __anonymous9 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: inline static function
-        with parameters
-          _dst: pointer to instance of struct __anonymous9 
-          _src: instance of struct __anonymous9 
-        returning 
-          instance of struct __anonymous9 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          y: instance of struct __anonymous9 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct __anonymous10 
-
-          Member Expression, with field: 
-        y: instance of struct __anonymous9 
-      from aggregate: 
-        Variable Expression: _src: instance of struct __anonymous10 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous10 
-(types:
-    lvalue instance of struct __anonymous10 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous10 
-
-to:
-  instance of struct __anonymous10 
-(types:
-    instance of struct __anonymous10 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous8 
-
-to:
-  instance of struct __anonymous8 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous9 
-    _src: instance of struct __anonymous9 
-  returning 
-    instance of struct __anonymous9 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous9 
-
-to:
-  instance of struct __anonymous9 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous10 
-    _src: instance of struct __anonymous10 
-  returning 
-    instance of struct __anonymous10 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous9 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous9 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous10 
-
-to:
-  instance of struct __anonymous10 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct t 
-    _src: instance of struct t 
-  returning 
-    instance of struct t 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct t 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct t 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct t 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct t 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct t 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct t 
-      _src: instance of struct t 
-    returning 
-      instance of struct t 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous9 
-          _src: instance of struct __anonymous9 
-        returning 
-          instance of struct __anonymous9 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous10 
-          _src: instance of struct __anonymous10 
-        returning 
-          instance of struct __anonymous10 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct t 
-      _src: instance of struct t 
-    returning 
-      instance of struct t 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct t 
-          _src: instance of struct t 
-        returning 
-          instance of struct t 
-
-)
-Environment: 
-
-there are 12 alternatives before elimination
-there are 12 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct t 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct t 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct t 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct t 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct t 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct t 
-              _src: instance of struct t 
-            returning 
-              instance of struct t 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct t 
-                  _src: instance of struct t 
-                returning 
-                  instance of struct t 
-
-)
-        Environment: 
-formal type is pointer to instance of struct t 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous10 
-              _src: instance of struct __anonymous10 
-            returning 
-              instance of struct __anonymous10 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous10 
-                  _src: instance of struct __anonymous10 
-                returning 
-                  instance of struct __anonymous10 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous10 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous9 
-              _src: instance of struct __anonymous9 
-            returning 
-              instance of struct __anonymous9 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous9 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous8 
-
-to:
-  instance of struct __anonymous8 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous9 
-    _src: instance of struct __anonymous9 
-  returning 
-    instance of struct __anonymous9 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous9 
-
-to:
-  instance of struct __anonymous9 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous10 
-    _src: instance of struct __anonymous10 
-  returning 
-    instance of struct __anonymous10 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous9 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous9 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous10 
-
-to:
-  instance of struct __anonymous10 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct t 
-    _src: instance of struct t 
-  returning 
-    instance of struct t 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct t 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct t 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct t 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct t 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct t 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct t 
-      _src: instance of struct t 
-    returning 
-      instance of struct t 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous9 
-          _src: instance of struct __anonymous9 
-        returning 
-          instance of struct __anonymous9 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous10 
-          _src: instance of struct __anonymous10 
-        returning 
-          instance of struct __anonymous10 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct t 
-      _src: instance of struct t 
-    returning 
-      instance of struct t 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct t 
-          _src: instance of struct t 
-        returning 
-          instance of struct t 
-
-)
-Environment: 
-
-there are 12 alternatives before elimination
-there are 12 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct t 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    b: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct t 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    b: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct t 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct t 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct t 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct t 
-              _src: instance of struct t 
-            returning 
-              instance of struct t 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct t 
-                  _src: instance of struct t 
-                returning 
-                  instance of struct t 
-
-)
-        Environment: 
-formal type is pointer to instance of struct t 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous10 
-              _src: instance of struct __anonymous10 
-            returning 
-              instance of struct __anonymous10 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous10 
-                  _src: instance of struct __anonymous10 
-                returning 
-                  instance of struct __anonymous10 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous10 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous9 
-              _src: instance of struct __anonymous9 
-            returning 
-              instance of struct __anonymous9 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous9 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct t 
-(types:
-    lvalue instance of struct t 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct t 
-
-to:
-  instance of struct t 
-(types:
-    instance of struct t 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous8 
-
-to:
-  instance of struct __anonymous8 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous9 
-    _src: instance of struct __anonymous9 
-  returning 
-    instance of struct __anonymous9 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous9 
-
-to:
-  instance of struct __anonymous9 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous10 
-    _src: instance of struct __anonymous10 
-  returning 
-    instance of struct __anonymous10 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous9 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous9 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous10 
-
-to:
-  instance of struct __anonymous10 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous11 
-    _src: instance of struct __anonymous11 
-  returning 
-    instance of struct __anonymous11 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous11 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous11 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous11 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous11 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous11 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous11 
-      _src: instance of struct __anonymous11 
-    returning 
-      instance of struct __anonymous11 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct t 
-    _src: instance of struct t 
-  returning 
-    instance of struct t 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct t 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct t 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct t 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct t 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct t 
-
-to:
-  instance of struct t 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct t 
-      _src: instance of struct t 
-    returning 
-      instance of struct t 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous9 
-          _src: instance of struct __anonymous9 
-        returning 
-          instance of struct __anonymous9 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous10 
-          _src: instance of struct __anonymous10 
-        returning 
-          instance of struct __anonymous10 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous11 
-      _src: instance of struct __anonymous11 
-    returning 
-      instance of struct __anonymous11 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous11 
-          _src: instance of struct __anonymous11 
-        returning 
-          instance of struct __anonymous11 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct t 
-      _src: instance of struct t 
-    returning 
-      instance of struct t 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct t 
-          _src: instance of struct t 
-        returning 
-          instance of struct t 
-
-)
-Environment: 
-
-there are 13 alternatives before elimination
-there are 13 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous11 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous11 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    x: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous11 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous11 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  x: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous11 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct t 
-              _src: instance of struct t 
-            returning 
-              instance of struct t 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct t 
-                  _src: instance of struct t 
-                returning 
-                  instance of struct t 
-
-)
-        Environment: 
-formal type is pointer to instance of struct t 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous11 
-              _src: instance of struct __anonymous11 
-            returning 
-              instance of struct __anonymous11 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous11 
-                  _src: instance of struct __anonymous11 
-                returning 
-                  instance of struct __anonymous11 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous11 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous10 
-              _src: instance of struct __anonymous10 
-            returning 
-              instance of struct __anonymous10 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous10 
-                  _src: instance of struct __anonymous10 
-                returning 
-                  instance of struct __anonymous10 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous10 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous9 
-              _src: instance of struct __anonymous9 
-            returning 
-              instance of struct __anonymous9 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous9 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous2 
-    _src: instance of struct __anonymous2 
-  returning 
-    instance of struct __anonymous2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous2 
-
-to:
-  instance of struct __anonymous2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous3 
-    _src: instance of struct __anonymous3 
-  returning 
-    instance of struct __anonymous3 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous3 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous3 
-
-to:
-  instance of struct __anonymous3 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous4 
-    _src: instance of struct __anonymous4 
-  returning 
-    instance of struct __anonymous4 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous3 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous4 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous4 
-
-to:
-  instance of struct __anonymous4 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous5 
-    _src: instance of struct __anonymous5 
-  returning 
-    instance of struct __anonymous5 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous5 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous5 
-
-to:
-  instance of struct __anonymous5 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous6 
-    _src: instance of struct __anonymous6 
-  returning 
-    instance of struct __anonymous6 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous5 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous6 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous6 
-
-to:
-  instance of struct __anonymous6 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous7 
-    _src: instance of struct __anonymous7 
-  returning 
-    instance of struct __anonymous7 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous7 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous7 
-
-to:
-  instance of struct __anonymous7 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous8 
-    _src: instance of struct __anonymous8 
-  returning 
-    instance of struct __anonymous8 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous7 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous8 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous8 
-
-to:
-  instance of struct __anonymous8 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous9 
-    _src: instance of struct __anonymous9 
-  returning 
-    instance of struct __anonymous9 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
-              Member Expression, with field: 
-                y2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous9 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous9 
-
-to:
-  instance of struct __anonymous9 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous10 
-    _src: instance of struct __anonymous10 
-  returning 
-    instance of struct __anonymous10 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: instance of struct __anonymous9 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
-
-                          Member Expression, with field: 
-                y: instance of struct __anonymous9 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous10 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous10 
-
-to:
-  instance of struct __anonymous10 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous11 
-    _src: instance of struct __anonymous11 
-  returning 
-    instance of struct __anonymous11 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous11 
-              Member Expression, with field: 
-                x: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous11 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous11 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous11 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous11 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous11 
-      _src: instance of struct __anonymous11 
-    returning 
-      instance of struct __anonymous11 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct t 
-    _src: instance of struct t 
-  returning 
-    instance of struct t 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct t 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct t 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct t 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct t 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct t 
-
-to:
-  instance of struct t 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct t 
-      _src: instance of struct t 
-    returning 
-      instance of struct t 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous2 
-          _src: instance of struct __anonymous2 
-        returning 
-          instance of struct __anonymous2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous3 
-          _src: instance of struct __anonymous3 
-        returning 
-          instance of struct __anonymous3 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous4 
-          _src: instance of struct __anonymous4 
-        returning 
-          instance of struct __anonymous4 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous5 
-          _src: instance of struct __anonymous5 
-        returning 
-          instance of struct __anonymous5 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous6 
-          _src: instance of struct __anonymous6 
-        returning 
-          instance of struct __anonymous6 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous7 
-          _src: instance of struct __anonymous7 
-        returning 
-          instance of struct __anonymous7 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous8 
-          _src: instance of struct __anonymous8 
-        returning 
-          instance of struct __anonymous8 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous9 
-          _src: instance of struct __anonymous9 
-        returning 
-          instance of struct __anonymous9 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous10 
-          _src: instance of struct __anonymous10 
-        returning 
-          instance of struct __anonymous10 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous11 
-      _src: instance of struct __anonymous11 
-    returning 
-      instance of struct __anonymous11 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous11 
-          _src: instance of struct __anonymous11 
-        returning 
-          instance of struct __anonymous11 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct t 
-      _src: instance of struct t 
-    returning 
-      instance of struct t 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct t 
-          _src: instance of struct t 
-        returning 
-          instance of struct t 
-
-)
-Environment: 
-
-there are 13 alternatives before elimination
-there are 13 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous11 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous11 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous11 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous11 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous11 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct t 
-              _src: instance of struct t 
-            returning 
-              instance of struct t 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct t 
-                  _src: instance of struct t 
-                returning 
-                  instance of struct t 
-
-)
-        Environment: 
-formal type is pointer to instance of struct t 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous11 
-              _src: instance of struct __anonymous11 
-            returning 
-              instance of struct __anonymous11 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous11 
-                  _src: instance of struct __anonymous11 
-                returning 
-                  instance of struct __anonymous11 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous11 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous10 
-              _src: instance of struct __anonymous10 
-            returning 
-              instance of struct __anonymous10 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous10 
-                  _src: instance of struct __anonymous10 
-                returning 
-                  instance of struct __anonymous10 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous10 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous9 
-              _src: instance of struct __anonymous9 
-            returning 
-              instance of struct __anonymous9 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous9 
-                  _src: instance of struct __anonymous9 
-                returning 
-                  instance of struct __anonymous9 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous9 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous8 
-              _src: instance of struct __anonymous8 
-            returning 
-              instance of struct __anonymous8 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous8 
-                  _src: instance of struct __anonymous8 
-                returning 
-                  instance of struct __anonymous8 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous8 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous7 
-              _src: instance of struct __anonymous7 
-            returning 
-              instance of struct __anonymous7 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous7 
-                  _src: instance of struct __anonymous7 
-                returning 
-                  instance of struct __anonymous7 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous7 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous6 
-              _src: instance of struct __anonymous6 
-            returning 
-              instance of struct __anonymous6 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous6 
-                  _src: instance of struct __anonymous6 
-                returning 
-                  instance of struct __anonymous6 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous6 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous5 
-              _src: instance of struct __anonymous5 
-            returning 
-              instance of struct __anonymous5 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous5 
-                  _src: instance of struct __anonymous5 
-                returning 
-                  instance of struct __anonymous5 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous5 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous4 
-              _src: instance of struct __anonymous4 
-            returning 
-              instance of struct __anonymous4 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous4 
-                  _src: instance of struct __anonymous4 
-                returning 
-                  instance of struct __anonymous4 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous4 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous3 
-              _src: instance of struct __anonymous3 
-            returning 
-              instance of struct __anonymous3 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous3 
-                  _src: instance of struct __anonymous3 
-                returning 
-                  instance of struct __anonymous3 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous3 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous2 
-              _src: instance of struct __anonymous2 
-            returning 
-              instance of struct __anonymous2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous2 
-                  _src: instance of struct __anonymous2 
-                returning 
-                  instance of struct __anonymous2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous2 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous11 
-(types:
-    lvalue instance of struct __anonymous11 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous11 
-
-to:
-  instance of struct __anonymous11 
-(types:
-    instance of struct __anonymous11 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 6 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 7 signed int 
-to:
-  instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous2 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous3 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous3 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous4 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct __anonymous4 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous5 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous5 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous5 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous5 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous6 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous6 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 9 signed int 
-to:
-  instance of struct __anonymous6 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 8 signed int 
-to:
-  instance of struct __anonymous6 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 7 signed int 
-to:
-  instance of struct __anonymous6 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous7 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous7 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous7 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous7 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous8 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous8 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 7 signed int 
-to:
-  instance of struct __anonymous8 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 9 signed int 
-to:
-  instance of struct __anonymous8 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 8 signed int 
-to:
-  instance of struct __anonymous8 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous9 
-    Member Expression, with field: 
-      y1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous9 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous9 
-    Member Expression, with field: 
-      y2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous9 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous10 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous10 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous10 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous10 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct __anonymous10 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct t 
-    Member Expression, with field: 
-      a: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct t 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        b: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct t 
-    Member Expression, with field: 
-      b: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct t 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct t 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct t 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        x: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous11 
-    Member Expression, with field: 
-      x: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous11 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous11 
-    Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous11 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 5 signed int 
-to:
-  instance of struct __anonymous11 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 6 signed int 
-to:
-  instance of struct __anonymous11 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 4 signed int 
-to:
-  instance of struct __anonymous11 
-
Index: src/Tests/Expect-r/LabelledExit.txt
===================================================================
--- src/Tests/Expect-r/LabelledExit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Error: 'continue' target label must be an enclosing loop: 
Index: src/Tests/Expect-r/Members.txt
===================================================================
--- src/Tests/Expect-r/Members.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,9113 +1,0 @@
-nameExpr is ?=?
-decl is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-newExpr is Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct a_struct 
-    _src: instance of struct a_struct 
-  returning 
-    instance of struct a_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-              Member Expression, with field: 
-                a: char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-              Member Expression, with field: 
-                a: float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct a_struct 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    pointer to forall
-          _0_DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type _0_DT (not function type) 
-          pointer to instance of type _0_DT (not function type) 
-        returning 
-          pointer to instance of type _0_DT (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct a_struct 
-          _src: instance of struct a_struct 
-        returning 
-          instance of struct a_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct a_struct 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct a_struct 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct a_struct 
-              _src: instance of struct a_struct 
-            returning 
-              instance of struct a_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct a_struct 
-                  _src: instance of struct a_struct 
-                returning 
-                  instance of struct a_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct a_struct 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-(types:
-            pointer to forall
-                  _0_DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type _0_DT (not function type) 
-                  pointer to instance of type _0_DT (not function type) 
-                returning 
-                  pointer to instance of type _0_DT (not function type) 
-
-)
-        Environment: 
-formal type is pointer to pointer to instance of type _0_DT (not function type) 
-actual type is pointer to signed int 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            a: signed int 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct a_struct 
---- results are
-        pointer to signed int 
-
-converting pointer to signed int 
- to pointer to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          a: signed int 
-        from aggregate: 
-          Variable Expression: _src: instance of struct a_struct 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to signed int 
-        signed int 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              a: signed int 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                  Member Expression, with field: 
-            a: signed int 
-          from aggregate: 
-            Variable Expression: _src: instance of struct a_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct a_struct 
-
-      Member Expression, with field: 
-      a: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct a_struct 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          a: signed int 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct a_struct 
-
-          Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Variable Expression: _src: instance of struct a_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-newExpr is Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct a_struct 
-    _src: instance of struct a_struct 
-  returning 
-    instance of struct a_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-              Member Expression, with field: 
-                a: char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-              Member Expression, with field: 
-                a: float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct a_struct 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    pointer to forall
-          _0_DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type _0_DT (not function type) 
-          pointer to instance of type _0_DT (not function type) 
-        returning 
-          pointer to instance of type _0_DT (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct a_struct 
-          _src: instance of struct a_struct 
-        returning 
-          instance of struct a_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: char 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct a_struct 
-(types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: char 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct a_struct 
-(types:
-    pointer to char 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: _src: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: _src: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to char 
-formal type is char 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct a_struct 
-              _src: instance of struct a_struct 
-            returning 
-              instance of struct a_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct a_struct 
-                  _src: instance of struct a_struct 
-                returning 
-                  instance of struct a_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct a_struct 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-(types:
-            pointer to forall
-                  _0_DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type _0_DT (not function type) 
-                  pointer to instance of type _0_DT (not function type) 
-                returning 
-                  pointer to instance of type _0_DT (not function type) 
-
-)
-        Environment: 
-formal type is pointer to pointer to instance of type _0_DT (not function type) 
-actual type is pointer to char 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            a: char 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct a_struct 
---- results are
-        pointer to char 
-
-converting pointer to char 
- to pointer to char 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          a: char 
-        from aggregate: 
-          Variable Expression: _src: instance of struct a_struct 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to char 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to char 
-        char 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              a: char 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                  Member Expression, with field: 
-            a: char 
-          from aggregate: 
-            Variable Expression: _src: instance of struct a_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        pointer to char 
-        char 
-      returning 
-        char 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        a: char 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct a_struct 
-
-      Member Expression, with field: 
-      a: char 
-    from aggregate: 
-      Variable Expression: _src: instance of struct a_struct 
-
-(types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          a: char 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct a_struct 
-
-          Member Expression, with field: 
-        a: char 
-      from aggregate: 
-        Variable Expression: _src: instance of struct a_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-newExpr is Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct a_struct 
-    _src: instance of struct a_struct 
-  returning 
-    instance of struct a_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-              Member Expression, with field: 
-                a: float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct a_struct 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    pointer to forall
-          _0_DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type _0_DT (not function type) 
-          pointer to instance of type _0_DT (not function type) 
-        returning 
-          pointer to instance of type _0_DT (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct a_struct 
-          _src: instance of struct a_struct 
-        returning 
-          instance of struct a_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: float 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct a_struct 
-(types:
-    pointer to float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: float 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct a_struct 
-(types:
-    pointer to float 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: _src: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: _src: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to float 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to float 
-formal type is float 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to float 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct a_struct 
-              _src: instance of struct a_struct 
-            returning 
-              instance of struct a_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct a_struct 
-                  _src: instance of struct a_struct 
-                returning 
-                  instance of struct a_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct a_struct 
-actual type is pointer to float 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-(types:
-            pointer to forall
-                  _0_DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type _0_DT (not function type) 
-                  pointer to instance of type _0_DT (not function type) 
-                returning 
-                  pointer to instance of type _0_DT (not function type) 
-
-)
-        Environment: 
-formal type is pointer to pointer to instance of type _0_DT (not function type) 
-actual type is pointer to float 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            a: float 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct a_struct 
---- results are
-        pointer to float 
-
-converting pointer to float 
- to pointer to float 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          a: float 
-        from aggregate: 
-          Variable Expression: _src: instance of struct a_struct 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to float 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to float 
-        float 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              a: float 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                  Member Expression, with field: 
-            a: float 
-          from aggregate: 
-            Variable Expression: _src: instance of struct a_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        pointer to float 
-        float 
-      returning 
-        float 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        a: float 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct a_struct 
-
-      Member Expression, with field: 
-      a: float 
-    from aggregate: 
-      Variable Expression: _src: instance of struct a_struct 
-
-(types:
-    float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          a: float 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct a_struct 
-
-          Member Expression, with field: 
-        a: float 
-      from aggregate: 
-        Variable Expression: _src: instance of struct a_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct a_struct 
-(types:
-    lvalue instance of struct a_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct a_struct 
-
-to:
-  instance of struct a_struct 
-(types:
-    instance of struct a_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is __builtin_memcpy
-decl is __builtin_memcpy: function
-    accepting unspecified arguments
-  returning 
-    pointer to char 
-
-newExpr is Variable Expression: __builtin_memcpy: function
-      accepting unspecified arguments
-    returning 
-      pointer to char 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: __builtin_memcpy: function
-      accepting unspecified arguments
-    returning 
-      pointer to char 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          pointer to char 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of union b_struct 
-(types:
-    lvalue pointer to instance of union b_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of union b_struct 
-(types:
-    lvalue pointer to instance of union b_struct 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union b_struct 
-(types:
-    lvalue instance of union b_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: _src: instance of union b_struct 
-(types:
-    pointer to instance of union b_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: _src: instance of union b_struct 
-(types:
-    pointer to instance of union b_struct 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Sizeof Expression on: instance of union b_struct 
-(types:
-    unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Sizeof Expression on: instance of union b_struct 
-(types:
-    unsigned int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: __builtin_memcpy: function
-              accepting unspecified arguments
-            returning 
-              pointer to char 
-
-(types:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  pointer to char 
-
-)
-        Environment: 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: _dst: pointer to instance of union b_struct 
---- results are
-        lvalue pointer to instance of union b_struct 
-actual expression:
-        Address of:
-          Variable Expression: _src: instance of union b_struct 
---- results are
-        pointer to instance of union b_struct 
-actual expression:
-        Sizeof Expression on: instance of union b_struct 
---- results are
-        unsigned int 
-Case +++++++++++++
-formals are:
-actuals are:
-                  Variable Expression: _dst: pointer to instance of union b_struct 
-
-                  Address of:
-            Variable Expression: _src: instance of union b_struct 
-
-                  Sizeof Expression on: instance of union b_struct 
-
-bindings are:
-cost of conversion is:( 3, 0, 0 )
-alternatives before prune:
-Cost ( 3, 0, 0 ): Application of
-  Variable Expression: __builtin_memcpy: function
-        accepting unspecified arguments
-      returning 
-        pointer to char 
-
-to arguments
-      Variable Expression: _dst: pointer to instance of union b_struct 
-
-      Address of:
-      Variable Expression: _src: instance of union b_struct 
-
-      Sizeof Expression on: instance of union b_struct 
-
-(types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: __builtin_memcpy: function
-          accepting unspecified arguments
-        returning 
-          pointer to char 
-
-  to arguments
-          Variable Expression: _dst: pointer to instance of union b_struct 
-
-          Address of:
-        Variable Expression: _src: instance of union b_struct 
-
-          Sizeof Expression on: instance of union b_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union b_struct 
-(types:
-    lvalue instance of union b_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of union b_struct 
-
-to:
-  instance of union b_struct 
-(types:
-    instance of union b_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: function
-  with parameters
-    char 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: a: function
-    with parameters
-      char 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: function
-    with parameters
-      char 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          char 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is the_struct
-decl is the_struct: instance of struct a_struct 
-newExpr is Variable Expression: the_struct: instance of struct a_struct 
-
-decl is the_struct: instance of union b_struct 
-newExpr is Variable Expression: the_struct: instance of union b_struct 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue instance of struct a_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue instance of union b_struct 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to char 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to float 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to float 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to char 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: a: function
-            with parameters
-              char 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  char 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is char 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is char 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is char 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is char 
-actual type is lvalue pointer to signed int 
-formal type is char 
-actual type is lvalue pointer to float 
-formal type is char 
-actual type is lvalue pointer to char 
-actual expression:
-        Member Expression, with field: 
-          a: signed int 
-        from aggregate: 
-          Variable Expression: the_struct: instance of struct a_struct 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to char 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        char 
-actuals are:
-                  Cast of:
-            Member Expression, with field: 
-              a: signed int 
-            from aggregate: 
-              Variable Expression: the_struct: instance of struct a_struct 
-
-          to:
-            char 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          a: float 
-        from aggregate: 
-          Variable Expression: the_struct: instance of struct a_struct 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to char 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        char 
-actuals are:
-                  Cast of:
-            Member Expression, with field: 
-              a: float 
-            from aggregate: 
-              Variable Expression: the_struct: instance of struct a_struct 
-
-          to:
-            char 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          a: char 
-        from aggregate: 
-          Variable Expression: the_struct: instance of struct a_struct 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to char 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        char 
-actuals are:
-                  Member Expression, with field: 
-            a: char 
-          from aggregate: 
-            Variable Expression: the_struct: instance of struct a_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: a: function
-      with parameters
-        char 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Variable Expression: the_struct: instance of struct a_struct 
-
-    to:
-      char 
-
-(types:
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: a: function
-      with parameters
-        char 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Member Expression, with field: 
-        a: float 
-      from aggregate: 
-        Variable Expression: the_struct: instance of struct a_struct 
-
-    to:
-      char 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: a: function
-      with parameters
-        char 
-      returning 
-        nothing 
-
-to arguments
-      Member Expression, with field: 
-      a: char 
-    from aggregate: 
-      Variable Expression: the_struct: instance of struct a_struct 
-
-(types:
-)
-Environment: 
-
-marking ambiguous
-cost ( 0, 0, 0 ) beats ( 1, 0, 0 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: a: function
-        with parameters
-          char 
-        returning 
-          nothing 
-
-  to arguments
-          Member Expression, with field: 
-        a: char 
-      from aggregate: 
-        Variable Expression: the_struct: instance of struct a_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: b: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is the_struct
-decl is the_struct: instance of struct a_struct 
-newExpr is Variable Expression: the_struct: instance of struct a_struct 
-
-decl is the_struct: instance of union b_struct 
-newExpr is Variable Expression: the_struct: instance of union b_struct 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue instance of struct a_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue instance of union b_struct 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to char 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to float 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to float 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to char 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: b: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue pointer to signed int 
-formal type is signed int 
-actual type is lvalue pointer to float 
-formal type is signed int 
-actual type is lvalue pointer to char 
-actual expression:
-        Member Expression, with field: 
-          a: signed int 
-        from aggregate: 
-          Variable Expression: the_struct: instance of struct a_struct 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Member Expression, with field: 
-            a: signed int 
-          from aggregate: 
-            Variable Expression: the_struct: instance of struct a_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          a: float 
-        from aggregate: 
-          Variable Expression: the_struct: instance of struct a_struct 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Member Expression, with field: 
-              a: float 
-            from aggregate: 
-              Variable Expression: the_struct: instance of struct a_struct 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          a: char 
-        from aggregate: 
-          Variable Expression: the_struct: instance of struct a_struct 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Member Expression, with field: 
-              a: char 
-            from aggregate: 
-              Variable Expression: the_struct: instance of struct a_struct 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 4 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: b: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Member Expression, with field: 
-      a: signed int 
-    from aggregate: 
-      Variable Expression: the_struct: instance of struct a_struct 
-
-(types:
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: b: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Member Expression, with field: 
-        a: float 
-      from aggregate: 
-        Variable Expression: the_struct: instance of struct a_struct 
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 4 ): Application of
-  Variable Expression: b: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Member Expression, with field: 
-        a: char 
-      from aggregate: 
-        Variable Expression: the_struct: instance of struct a_struct 
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: b: function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Variable Expression: the_struct: instance of struct a_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is c
-decl is c: function
-  with parameters
-    pointer to signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: c: function
-    with parameters
-      pointer to signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: function
-    with parameters
-      pointer to signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is the_struct
-decl is the_struct: instance of struct a_struct 
-newExpr is Variable Expression: the_struct: instance of struct a_struct 
-
-decl is the_struct: instance of union b_struct 
-newExpr is Variable Expression: the_struct: instance of union b_struct 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue instance of struct a_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue instance of union b_struct 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to char 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to float 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to float 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to char 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: c: function
-            with parameters
-              pointer to signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is lvalue signed int 
-formal type is pointer to signed int 
-actual type is lvalue float 
-formal type is pointer to signed int 
-actual type is lvalue char 
-formal type is pointer to signed int 
-actual type is lvalue pointer to signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is pointer to signed int 
-actual type is lvalue pointer to float 
-formal type is pointer to signed int 
-actual type is lvalue pointer to char 
-actual expression:
-        Member Expression, with field: 
-          a: pointer to signed int 
-        from aggregate: 
-          Variable Expression: the_struct: instance of union b_struct 
---- results are
-        lvalue pointer to signed int 
-
-converting lvalue pointer to signed int 
- to pointer to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to signed int 
-actuals are:
-                  Member Expression, with field: 
-            a: pointer to signed int 
-          from aggregate: 
-            Variable Expression: the_struct: instance of union b_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: c: function
-      with parameters
-        pointer to signed int 
-      returning 
-        nothing 
-
-to arguments
-      Member Expression, with field: 
-      a: pointer to signed int 
-    from aggregate: 
-      Variable Expression: the_struct: instance of union b_struct 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: c: function
-        with parameters
-          pointer to signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Member Expression, with field: 
-        a: pointer to signed int 
-      from aggregate: 
-        Variable Expression: the_struct: instance of union b_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is d
-decl is d: function
-  with parameters
-    pointer to float 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: d: function
-    with parameters
-      pointer to float 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: d: function
-    with parameters
-      pointer to float 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is the_struct
-decl is the_struct: instance of struct a_struct 
-newExpr is Variable Expression: the_struct: instance of struct a_struct 
-
-decl is the_struct: instance of union b_struct 
-newExpr is Variable Expression: the_struct: instance of union b_struct 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue instance of struct a_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue instance of union b_struct 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to char 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to float 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: float 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: char 
-from aggregate: 
-  Variable Expression: the_struct: instance of struct a_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to signed int 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to float 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: pointer to char 
-from aggregate: 
-  Variable Expression: the_struct: instance of union b_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: d: function
-            with parameters
-              pointer to float 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is lvalue signed int 
-formal type is pointer to float 
-actual type is lvalue float 
-formal type is pointer to float 
-actual type is lvalue char 
-formal type is pointer to float 
-actual type is lvalue pointer to signed int 
-formal type is pointer to float 
-actual type is lvalue pointer to float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is pointer to float 
-actual type is lvalue pointer to char 
-actual expression:
-        Member Expression, with field: 
-          a: pointer to float 
-        from aggregate: 
-          Variable Expression: the_struct: instance of union b_struct 
---- results are
-        lvalue pointer to float 
-
-converting lvalue pointer to float 
- to pointer to float 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to float 
-actuals are:
-                  Member Expression, with field: 
-            a: pointer to float 
-          from aggregate: 
-            Variable Expression: the_struct: instance of union b_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: d: function
-      with parameters
-        pointer to float 
-      returning 
-        nothing 
-
-to arguments
-      Member Expression, with field: 
-      a: pointer to float 
-    from aggregate: 
-      Variable Expression: the_struct: instance of union b_struct 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: d: function
-        with parameters
-          pointer to float 
-        returning 
-          nothing 
-
-  to arguments
-          Member Expression, with field: 
-        a: pointer to float 
-      from aggregate: 
-        Variable Expression: the_struct: instance of union b_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-newExpr is Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct a_struct 
-    _src: instance of struct a_struct 
-  returning 
-    instance of struct a_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct a_struct 
-
-to:
-  instance of struct a_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct c_struct 
-    _src: instance of struct c_struct 
-  returning 
-    instance of struct c_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-              Member Expression, with field: 
-                char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-              Member Expression, with field: 
-                float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct c_struct 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of union b_struct 
-    _src: instance of union b_struct 
-  returning 
-    instance of union b_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: __builtin_memcpy: function
-                  accepting unspecified arguments
-                returning 
-                  pointer to char 
-
-          to arguments
-                          Variable Expression: _dst: pointer to instance of union b_struct 
-
-                          Address of:
-                Variable Expression: _src: instance of union b_struct 
-
-                          Sizeof Expression on: instance of union b_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of union b_struct 
-
-to:
-  instance of union b_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    pointer to forall
-          _0_DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type _0_DT (not function type) 
-          pointer to instance of type _0_DT (not function type) 
-        returning 
-          pointer to instance of type _0_DT (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct a_struct 
-          _src: instance of struct a_struct 
-        returning 
-          instance of struct a_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct c_struct 
-          _src: instance of struct c_struct 
-        returning 
-          instance of struct c_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of union b_struct 
-          _src: instance of union b_struct 
-        returning 
-          instance of union b_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct c_struct 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct c_struct 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of union b_struct 
-              _src: instance of union b_struct 
-            returning 
-              instance of union b_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of union b_struct 
-                  _src: instance of union b_struct 
-                returning 
-                  instance of union b_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of union b_struct 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct c_struct 
-              _src: instance of struct c_struct 
-            returning 
-              instance of struct c_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct c_struct 
-                  _src: instance of struct c_struct 
-                returning 
-                  instance of struct c_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct c_struct 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct a_struct 
-              _src: instance of struct a_struct 
-            returning 
-              instance of struct a_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct a_struct 
-                  _src: instance of struct a_struct 
-                returning 
-                  instance of struct a_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct a_struct 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-(types:
-            pointer to forall
-                  _0_DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type _0_DT (not function type) 
-                  pointer to instance of type _0_DT (not function type) 
-                returning 
-                  pointer to instance of type _0_DT (not function type) 
-
-)
-        Environment: 
-formal type is pointer to pointer to instance of type _0_DT (not function type) 
-actual type is pointer to signed int 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            signed int 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct c_struct 
---- results are
-        pointer to signed int 
-
-converting pointer to signed int 
- to pointer to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          signed int 
-        from aggregate: 
-          Variable Expression: _src: instance of struct c_struct 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to signed int 
-        signed int 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              signed int 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                  Member Expression, with field: 
-            signed int 
-          from aggregate: 
-            Variable Expression: _src: instance of struct c_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct c_struct 
-
-      Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct c_struct 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          signed int 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct c_struct 
-
-          Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Variable Expression: _src: instance of struct c_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-newExpr is Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct a_struct 
-    _src: instance of struct a_struct 
-  returning 
-    instance of struct a_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct a_struct 
-
-to:
-  instance of struct a_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct c_struct 
-    _src: instance of struct c_struct 
-  returning 
-    instance of struct c_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                          Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-              Member Expression, with field: 
-                char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-              Member Expression, with field: 
-                float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct c_struct 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of union b_struct 
-    _src: instance of union b_struct 
-  returning 
-    instance of union b_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: __builtin_memcpy: function
-                  accepting unspecified arguments
-                returning 
-                  pointer to char 
-
-          to arguments
-                          Variable Expression: _dst: pointer to instance of union b_struct 
-
-                          Address of:
-                Variable Expression: _src: instance of union b_struct 
-
-                          Sizeof Expression on: instance of union b_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of union b_struct 
-
-to:
-  instance of union b_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    pointer to forall
-          _0_DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type _0_DT (not function type) 
-          pointer to instance of type _0_DT (not function type) 
-        returning 
-          pointer to instance of type _0_DT (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct a_struct 
-          _src: instance of struct a_struct 
-        returning 
-          instance of struct a_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct c_struct 
-          _src: instance of struct c_struct 
-        returning 
-          instance of struct c_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of union b_struct 
-          _src: instance of union b_struct 
-        returning 
-          instance of union b_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    char 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct c_struct 
-(types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    char 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct c_struct 
-(types:
-    pointer to char 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: _src: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: _src: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to char 
-formal type is char 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of union b_struct 
-              _src: instance of union b_struct 
-            returning 
-              instance of union b_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of union b_struct 
-                  _src: instance of union b_struct 
-                returning 
-                  instance of union b_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of union b_struct 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct c_struct 
-              _src: instance of struct c_struct 
-            returning 
-              instance of struct c_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct c_struct 
-                  _src: instance of struct c_struct 
-                returning 
-                  instance of struct c_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct c_struct 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct a_struct 
-              _src: instance of struct a_struct 
-            returning 
-              instance of struct a_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct a_struct 
-                  _src: instance of struct a_struct 
-                returning 
-                  instance of struct a_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct a_struct 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-(types:
-            pointer to forall
-                  _0_DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type _0_DT (not function type) 
-                  pointer to instance of type _0_DT (not function type) 
-                returning 
-                  pointer to instance of type _0_DT (not function type) 
-
-)
-        Environment: 
-formal type is pointer to pointer to instance of type _0_DT (not function type) 
-actual type is pointer to char 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            char 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct c_struct 
---- results are
-        pointer to char 
-
-converting pointer to char 
- to pointer to char 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          char 
-        from aggregate: 
-          Variable Expression: _src: instance of struct c_struct 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to char 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to char 
-        char 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              char 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                  Member Expression, with field: 
-            char 
-          from aggregate: 
-            Variable Expression: _src: instance of struct c_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        pointer to char 
-        char 
-      returning 
-        char 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        char 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct c_struct 
-
-      Member Expression, with field: 
-      char 
-    from aggregate: 
-      Variable Expression: _src: instance of struct c_struct 
-
-(types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          char 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct c_struct 
-
-          Member Expression, with field: 
-        char 
-      from aggregate: 
-        Variable Expression: _src: instance of struct c_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-newExpr is Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct a_struct 
-    _src: instance of struct a_struct 
-  returning 
-    instance of struct a_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct a_struct 
-
-to:
-  instance of struct a_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct c_struct 
-    _src: instance of struct c_struct 
-  returning 
-    instance of struct c_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                          Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                          Member Expression, with field: 
-                char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-              Member Expression, with field: 
-                float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct c_struct 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of union b_struct 
-    _src: instance of union b_struct 
-  returning 
-    instance of union b_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: __builtin_memcpy: function
-                  accepting unspecified arguments
-                returning 
-                  pointer to char 
-
-          to arguments
-                          Variable Expression: _dst: pointer to instance of union b_struct 
-
-                          Address of:
-                Variable Expression: _src: instance of union b_struct 
-
-                          Sizeof Expression on: instance of union b_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of union b_struct 
-
-to:
-  instance of union b_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    pointer to forall
-          _0_DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type _0_DT (not function type) 
-          pointer to instance of type _0_DT (not function type) 
-        returning 
-          pointer to instance of type _0_DT (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct a_struct 
-          _src: instance of struct a_struct 
-        returning 
-          instance of struct a_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct c_struct 
-          _src: instance of struct c_struct 
-        returning 
-          instance of struct c_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of union b_struct 
-          _src: instance of union b_struct 
-        returning 
-          instance of union b_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    float 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct c_struct 
-(types:
-    pointer to float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    float 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct c_struct 
-(types:
-    pointer to float 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: _src: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: _src: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to float 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to float 
-formal type is float 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to float 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of union b_struct 
-              _src: instance of union b_struct 
-            returning 
-              instance of union b_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of union b_struct 
-                  _src: instance of union b_struct 
-                returning 
-                  instance of union b_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of union b_struct 
-actual type is pointer to float 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct c_struct 
-              _src: instance of struct c_struct 
-            returning 
-              instance of struct c_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct c_struct 
-                  _src: instance of struct c_struct 
-                returning 
-                  instance of struct c_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct c_struct 
-actual type is pointer to float 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct a_struct 
-              _src: instance of struct a_struct 
-            returning 
-              instance of struct a_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct a_struct 
-                  _src: instance of struct a_struct 
-                returning 
-                  instance of struct a_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct a_struct 
-actual type is pointer to float 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-(types:
-            pointer to forall
-                  _0_DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type _0_DT (not function type) 
-                  pointer to instance of type _0_DT (not function type) 
-                returning 
-                  pointer to instance of type _0_DT (not function type) 
-
-)
-        Environment: 
-formal type is pointer to pointer to instance of type _0_DT (not function type) 
-actual type is pointer to float 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            float 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct c_struct 
---- results are
-        pointer to float 
-
-converting pointer to float 
- to pointer to float 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          float 
-        from aggregate: 
-          Variable Expression: _src: instance of struct c_struct 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to float 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to float 
-        float 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              float 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                  Member Expression, with field: 
-            float 
-          from aggregate: 
-            Variable Expression: _src: instance of struct c_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        pointer to float 
-        float 
-      returning 
-        float 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        float 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct c_struct 
-
-      Member Expression, with field: 
-      float 
-    from aggregate: 
-      Variable Expression: _src: instance of struct c_struct 
-
-(types:
-    float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          float 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct c_struct 
-
-          Member Expression, with field: 
-        float 
-      from aggregate: 
-        Variable Expression: _src: instance of struct c_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct c_struct 
-(types:
-    lvalue instance of struct c_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct c_struct 
-
-to:
-  instance of struct c_struct 
-(types:
-    instance of struct c_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is __builtin_memcpy
-decl is __builtin_memcpy: function
-    accepting unspecified arguments
-  returning 
-    pointer to char 
-
-newExpr is Variable Expression: __builtin_memcpy: function
-      accepting unspecified arguments
-    returning 
-      pointer to char 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: __builtin_memcpy: function
-      accepting unspecified arguments
-    returning 
-      pointer to char 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          pointer to char 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of union d_struct 
-(types:
-    lvalue pointer to instance of union d_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of union d_struct 
-(types:
-    lvalue pointer to instance of union d_struct 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: _src: instance of union d_struct 
-(types:
-    pointer to instance of union d_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: _src: instance of union d_struct 
-(types:
-    pointer to instance of union d_struct 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Sizeof Expression on: instance of union d_struct 
-(types:
-    unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Sizeof Expression on: instance of union d_struct 
-(types:
-    unsigned int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: __builtin_memcpy: function
-              accepting unspecified arguments
-            returning 
-              pointer to char 
-
-(types:
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  pointer to char 
-
-)
-        Environment: 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: _dst: pointer to instance of union d_struct 
---- results are
-        lvalue pointer to instance of union d_struct 
-actual expression:
-        Address of:
-          Variable Expression: _src: instance of union d_struct 
---- results are
-        pointer to instance of union d_struct 
-actual expression:
-        Sizeof Expression on: instance of union d_struct 
---- results are
-        unsigned int 
-Case +++++++++++++
-formals are:
-actuals are:
-                  Variable Expression: _dst: pointer to instance of union d_struct 
-
-                  Address of:
-            Variable Expression: _src: instance of union d_struct 
-
-                  Sizeof Expression on: instance of union d_struct 
-
-bindings are:
-cost of conversion is:( 3, 0, 0 )
-alternatives before prune:
-Cost ( 3, 0, 0 ): Application of
-  Variable Expression: __builtin_memcpy: function
-        accepting unspecified arguments
-      returning 
-        pointer to char 
-
-to arguments
-      Variable Expression: _dst: pointer to instance of union d_struct 
-
-      Address of:
-      Variable Expression: _src: instance of union d_struct 
-
-      Sizeof Expression on: instance of union d_struct 
-
-(types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: __builtin_memcpy: function
-          accepting unspecified arguments
-        returning 
-          pointer to char 
-
-  to arguments
-          Variable Expression: _dst: pointer to instance of union d_struct 
-
-          Address of:
-        Variable Expression: _src: instance of union d_struct 
-
-          Sizeof Expression on: instance of union d_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of union d_struct 
-
-to:
-  instance of union d_struct 
-(types:
-    instance of union d_struct 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: function
-  with parameters
-    char 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: a: function
-    with parameters
-      char 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: function
-    with parameters
-      char 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          char 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is x
-decl is x: instance of struct c_struct 
-newExpr is Variable Expression: x: instance of struct c_struct 
-
-decl is x: instance of union d_struct 
-newExpr is Variable Expression: x: instance of union d_struct 
-
-decl is x: short unsigned int 
-newExpr is Variable Expression: x: short unsigned int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue instance of struct c_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to char 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to float 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
-(types:
-    lvalue short unsigned int 
-)
-Environment: 
-
-there are 9 alternatives before elimination
-there are 9 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
-(types:
-    lvalue short unsigned int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to float 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to char 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue instance of struct c_struct 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: a: function
-            with parameters
-              char 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  char 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is char 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is char 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is char 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is char 
-actual type is lvalue short unsigned int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is char 
-actual type is lvalue pointer to signed int 
-formal type is char 
-actual type is lvalue pointer to float 
-formal type is char 
-actual type is lvalue pointer to char 
-formal type is char 
-actual type is lvalue instance of union d_struct 
-formal type is char 
-actual type is lvalue instance of struct c_struct 
-actual expression:
-        Member Expression, with field: 
-          signed int 
-        from aggregate: 
-          Variable Expression: x: instance of struct c_struct 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to char 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        char 
-actuals are:
-                  Cast of:
-            Member Expression, with field: 
-              signed int 
-            from aggregate: 
-              Variable Expression: x: instance of struct c_struct 
-
-          to:
-            char 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          float 
-        from aggregate: 
-          Variable Expression: x: instance of struct c_struct 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to char 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        char 
-actuals are:
-                  Cast of:
-            Member Expression, with field: 
-              float 
-            from aggregate: 
-              Variable Expression: x: instance of struct c_struct 
-
-          to:
-            char 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          char 
-        from aggregate: 
-          Variable Expression: x: instance of struct c_struct 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to char 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        char 
-actuals are:
-                  Member Expression, with field: 
-            char 
-          from aggregate: 
-            Variable Expression: x: instance of struct c_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Variable Expression: x: short unsigned int 
---- results are
-        lvalue short unsigned int 
-
-converting lvalue short unsigned int 
- to char 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        char 
-actuals are:
-                  Cast of:
-            Variable Expression: x: short unsigned int 
-
-          to:
-            char 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: a: function
-      with parameters
-        char 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Variable Expression: x: short unsigned int 
-
-    to:
-      char 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: a: function
-        with parameters
-          char 
-        returning 
-          nothing 
-
-  to arguments
-          Cast of:
-        Variable Expression: x: short unsigned int 
-
-      to:
-        char 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: b: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is x
-decl is x: instance of struct c_struct 
-newExpr is Variable Expression: x: instance of struct c_struct 
-
-decl is x: instance of union d_struct 
-newExpr is Variable Expression: x: instance of union d_struct 
-
-decl is x: short unsigned int 
-newExpr is Variable Expression: x: short unsigned int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue instance of struct c_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to char 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to float 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
-(types:
-    lvalue short unsigned int 
-)
-Environment: 
-
-there are 9 alternatives before elimination
-there are 9 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
-(types:
-    lvalue short unsigned int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to float 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to char 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue instance of struct c_struct 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: b: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue short unsigned int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue pointer to signed int 
-formal type is signed int 
-actual type is lvalue pointer to float 
-formal type is signed int 
-actual type is lvalue pointer to char 
-formal type is signed int 
-actual type is lvalue instance of union d_struct 
-formal type is signed int 
-actual type is lvalue instance of struct c_struct 
-actual expression:
-        Member Expression, with field: 
-          signed int 
-        from aggregate: 
-          Variable Expression: x: instance of struct c_struct 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Member Expression, with field: 
-            signed int 
-          from aggregate: 
-            Variable Expression: x: instance of struct c_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          float 
-        from aggregate: 
-          Variable Expression: x: instance of struct c_struct 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Member Expression, with field: 
-              float 
-            from aggregate: 
-              Variable Expression: x: instance of struct c_struct 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          char 
-        from aggregate: 
-          Variable Expression: x: instance of struct c_struct 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Member Expression, with field: 
-              char 
-            from aggregate: 
-              Variable Expression: x: instance of struct c_struct 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 4 )
-actual expression:
-        Variable Expression: x: short unsigned int 
---- results are
-        lvalue short unsigned int 
-
-converting lvalue short unsigned int 
- to signed int 
-cost is( 0, 0, 1 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: x: short unsigned int 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 1 )
-alternatives before prune:
-Cost ( 0, 0, 1 ): Application of
-  Variable Expression: b: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Variable Expression: x: short unsigned int 
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: b: function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Cast of:
-        Variable Expression: x: short unsigned int 
-
-      to:
-        signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is c
-decl is c: function
-  with parameters
-    pointer to signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: c: function
-    with parameters
-      pointer to signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: function
-    with parameters
-      pointer to signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is x
-decl is x: instance of struct c_struct 
-newExpr is Variable Expression: x: instance of struct c_struct 
-
-decl is x: instance of union d_struct 
-newExpr is Variable Expression: x: instance of union d_struct 
-
-decl is x: short unsigned int 
-newExpr is Variable Expression: x: short unsigned int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue instance of struct c_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to char 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to float 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
-(types:
-    lvalue short unsigned int 
-)
-Environment: 
-
-there are 9 alternatives before elimination
-there are 9 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
-(types:
-    lvalue short unsigned int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to float 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to char 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue instance of struct c_struct 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: c: function
-            with parameters
-              pointer to signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is lvalue signed int 
-formal type is pointer to signed int 
-actual type is lvalue float 
-formal type is pointer to signed int 
-actual type is lvalue char 
-formal type is pointer to signed int 
-actual type is lvalue short unsigned int 
-formal type is pointer to signed int 
-actual type is lvalue pointer to signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is pointer to signed int 
-actual type is lvalue pointer to float 
-formal type is pointer to signed int 
-actual type is lvalue pointer to char 
-formal type is pointer to signed int 
-actual type is lvalue instance of union d_struct 
-formal type is pointer to signed int 
-actual type is lvalue instance of struct c_struct 
-actual expression:
-        Member Expression, with field: 
-          pointer to signed int 
-        from aggregate: 
-          Variable Expression: x: instance of union d_struct 
---- results are
-        lvalue pointer to signed int 
-
-converting lvalue pointer to signed int 
- to pointer to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to signed int 
-actuals are:
-                  Member Expression, with field: 
-            pointer to signed int 
-          from aggregate: 
-            Variable Expression: x: instance of union d_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: c: function
-      with parameters
-        pointer to signed int 
-      returning 
-        nothing 
-
-to arguments
-      Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: x: instance of union d_struct 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: c: function
-        with parameters
-          pointer to signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Variable Expression: x: instance of union d_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is d
-decl is d: function
-  with parameters
-    pointer to float 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: d: function
-    with parameters
-      pointer to float 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: d: function
-    with parameters
-      pointer to float 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is x
-decl is x: instance of struct c_struct 
-newExpr is Variable Expression: x: instance of struct c_struct 
-
-decl is x: instance of union d_struct 
-newExpr is Variable Expression: x: instance of union d_struct 
-
-decl is x: short unsigned int 
-newExpr is Variable Expression: x: short unsigned int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue instance of struct c_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to char 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to float 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
-(types:
-    lvalue short unsigned int 
-)
-Environment: 
-
-there are 9 alternatives before elimination
-there are 9 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  float 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  char 
-from aggregate: 
-  Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
-(types:
-    lvalue short unsigned int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to float 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to float 
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Member Expression, with field: 
-  pointer to char 
-from aggregate: 
-  Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
-(types:
-    lvalue instance of union d_struct 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
-(types:
-    lvalue instance of struct c_struct 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: d: function
-            with parameters
-              pointer to float 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is lvalue signed int 
-formal type is pointer to float 
-actual type is lvalue float 
-formal type is pointer to float 
-actual type is lvalue char 
-formal type is pointer to float 
-actual type is lvalue short unsigned int 
-formal type is pointer to float 
-actual type is lvalue pointer to signed int 
-formal type is pointer to float 
-actual type is lvalue pointer to float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is pointer to float 
-actual type is lvalue pointer to char 
-formal type is pointer to float 
-actual type is lvalue instance of union d_struct 
-formal type is pointer to float 
-actual type is lvalue instance of struct c_struct 
-actual expression:
-        Member Expression, with field: 
-          pointer to float 
-        from aggregate: 
-          Variable Expression: x: instance of union d_struct 
---- results are
-        lvalue pointer to float 
-
-converting lvalue pointer to float 
- to pointer to float 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to float 
-actuals are:
-                  Member Expression, with field: 
-            pointer to float 
-          from aggregate: 
-            Variable Expression: x: instance of union d_struct 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: d: function
-      with parameters
-        pointer to float 
-      returning 
-        nothing 
-
-to arguments
-      Member Expression, with field: 
-      pointer to float 
-    from aggregate: 
-      Variable Expression: x: instance of union d_struct 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: d: function
-        with parameters
-          pointer to float 
-        returning 
-          nothing 
-
-  to arguments
-          Member Expression, with field: 
-        pointer to float 
-      from aggregate: 
-        Variable Expression: x: instance of union d_struct 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-newExpr is Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct forward 
-    _src: instance of struct forward 
-  returning 
-    instance of struct forward 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct forward 
-              Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct forward 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct forward 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct forward 
-      _src: instance of struct forward 
-    returning 
-      instance of struct forward 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct a_struct 
-    _src: instance of struct a_struct 
-  returning 
-    instance of struct a_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct a_struct 
-
-to:
-  instance of struct a_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct c_struct 
-    _src: instance of struct c_struct 
-  returning 
-    instance of struct c_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                          Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                          Member Expression, with field: 
-                char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                          Member Expression, with field: 
-                float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct c_struct 
-
-to:
-  instance of struct c_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of union b_struct 
-    _src: instance of union b_struct 
-  returning 
-    instance of union b_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: __builtin_memcpy: function
-                  accepting unspecified arguments
-                returning 
-                  pointer to char 
-
-          to arguments
-                          Variable Expression: _dst: pointer to instance of union b_struct 
-
-                          Address of:
-                Variable Expression: _src: instance of union b_struct 
-
-                          Sizeof Expression on: instance of union b_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of union b_struct 
-
-to:
-  instance of union b_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of union d_struct 
-    _src: instance of union d_struct 
-  returning 
-    instance of union d_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: __builtin_memcpy: function
-                  accepting unspecified arguments
-                returning 
-                  pointer to char 
-
-          to arguments
-                          Variable Expression: _dst: pointer to instance of union d_struct 
-
-                          Address of:
-                Variable Expression: _src: instance of union d_struct 
-
-                          Sizeof Expression on: instance of union d_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of union d_struct 
-
-to:
-  instance of union d_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union d_struct 
-      _src: instance of union d_struct 
-    returning 
-      instance of union d_struct 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    pointer to forall
-          _0_DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type _0_DT (not function type) 
-          pointer to instance of type _0_DT (not function type) 
-        returning 
-          pointer to instance of type _0_DT (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct forward 
-      _src: instance of struct forward 
-    returning 
-      instance of struct forward 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct forward 
-          _src: instance of struct forward 
-        returning 
-          instance of struct forward 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct a_struct 
-          _src: instance of struct a_struct 
-        returning 
-          instance of struct a_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct c_struct 
-          _src: instance of struct c_struct 
-        returning 
-          instance of struct c_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of union b_struct 
-          _src: instance of union b_struct 
-        returning 
-          instance of union b_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of union d_struct 
-      _src: instance of union d_struct 
-    returning 
-      instance of union d_struct 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of union d_struct 
-          _src: instance of union d_struct 
-        returning 
-          instance of union d_struct 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to char 
-          char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to float 
-          float 
-        returning 
-          float 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 9 alternatives before elimination
-there are 9 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct forward 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct forward 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct forward 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct forward 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct forward 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to float 
-              float 
-            returning 
-              float 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-)
-        Environment: 
-formal type is pointer to float 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to char 
-              char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of union d_struct 
-              _src: instance of union d_struct 
-            returning 
-              instance of union d_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of union d_struct 
-                  _src: instance of union d_struct 
-                returning 
-                  instance of union d_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of union d_struct 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of union b_struct 
-              _src: instance of union b_struct 
-            returning 
-              instance of union b_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of union b_struct 
-                  _src: instance of union b_struct 
-                returning 
-                  instance of union b_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of union b_struct 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct c_struct 
-              _src: instance of struct c_struct 
-            returning 
-              instance of struct c_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct c_struct 
-                  _src: instance of struct c_struct 
-                returning 
-                  instance of struct c_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct c_struct 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct a_struct 
-              _src: instance of struct a_struct 
-            returning 
-              instance of struct a_struct 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct a_struct 
-                  _src: instance of struct a_struct 
-                returning 
-                  instance of struct a_struct 
-
-)
-        Environment: 
-formal type is pointer to instance of struct a_struct 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct forward 
-              _src: instance of struct forward 
-            returning 
-              instance of struct forward 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct forward 
-                  _src: instance of struct forward 
-                returning 
-                  instance of struct forward 
-
-)
-        Environment: 
-formal type is pointer to instance of struct forward 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-(types:
-            pointer to forall
-                  _0_DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type _0_DT (not function type) 
-                  pointer to instance of type _0_DT (not function type) 
-                returning 
-                  pointer to instance of type _0_DT (not function type) 
-
-)
-        Environment: 
-formal type is pointer to pointer to instance of type _0_DT (not function type) 
-actual type is pointer to signed int 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            y: signed int 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct forward 
---- results are
-        pointer to signed int 
-
-converting pointer to signed int 
- to pointer to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          y: signed int 
-        from aggregate: 
-          Variable Expression: _src: instance of struct forward 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to signed int 
-        signed int 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              y: signed int 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct forward 
-
-                  Member Expression, with field: 
-            y: signed int 
-          from aggregate: 
-            Variable Expression: _src: instance of struct forward 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct forward 
-
-      Member Expression, with field: 
-      y: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct forward 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          y: signed int 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct forward 
-
-          Member Expression, with field: 
-        y: signed int 
-      from aggregate: 
-        Variable Expression: _src: instance of struct forward 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct forward 
-(types:
-    lvalue instance of struct forward 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct forward 
-
-to:
-  instance of struct forward 
-(types:
-    instance of struct forward 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is *?
-decl is *?: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    pointer to instance of type T (not function type) 
-  returning 
-    lvalue instance of type T (not function type) 
-
-newExpr is Variable Expression: *?: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type T (not function type) 
-    returning 
-      lvalue instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: *?: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type T (not function type) 
-    returning 
-      lvalue instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          pointer to instance of type _0_T (not function type) 
-        returning 
-          lvalue instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is q
-decl is q: pointer to instance of struct forward 
-newExpr is Variable Expression: q: pointer to instance of struct forward 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: q: pointer to instance of struct forward 
-(types:
-    lvalue pointer to instance of struct forward 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: q: pointer to instance of struct forward 
-(types:
-    lvalue pointer to instance of struct forward 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: *?: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              pointer to instance of type T (not function type) 
-            returning 
-              lvalue instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  pointer to instance of type _0_T (not function type) 
-                returning 
-                  lvalue instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type _0_T (not function type) 
-actual type is lvalue pointer to instance of struct forward 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to forall
-    _1_DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type _1_DT (not function type) 
-    pointer to instance of type _1_DT (not function type) 
-  returning 
-    pointer to instance of type _1_DT (not function type) 
-
-inferRecursive: candidate is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct forward 
-    _src: instance of struct forward 
-  returning 
-    instance of struct forward 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct forward 
-
-                          Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct forward 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct forward 
-
-to:
-  instance of struct forward 
-with environment:
-  Types:
-  Non-types:
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of struct forward 
-    _src: instance of struct forward 
-  returning 
-    instance of struct forward 
-
-success!
-satisfying assertion 25 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 79 ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct forward 
-    _src: instance of struct forward 
-  returning 
-    instance of struct forward 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct forward 
-
-                          Member Expression, with field: 
-                y: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct forward 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct forward 
-
-to:
-  instance of struct forward 
-with environment:
-  Types:
-  Non-types:
-
-
-
-inferRecursive: candidate is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct a_struct 
-    _src: instance of struct a_struct 
-  returning 
-    instance of struct a_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct a_struct 
-
-                          Member Expression, with field: 
-                a: float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct a_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct a_struct 
-
-to:
-  instance of struct a_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of struct a_struct 
-    _src: instance of struct a_struct 
-  returning 
-    instance of struct a_struct 
-
-inferRecursive: candidate is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct c_struct 
-    _src: instance of struct c_struct 
-  returning 
-    instance of struct c_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                          Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to char 
-                  char 
-                returning 
-                  char 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  char 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                          Member Expression, with field: 
-                char 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: function
-                with parameters
-                  pointer to float 
-                  float 
-                returning 
-                  float 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  float 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct c_struct 
-
-                          Member Expression, with field: 
-                float 
-              from aggregate: 
-                Variable Expression: _src: instance of struct c_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct c_struct 
-
-to:
-  instance of struct c_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of struct c_struct 
-    _src: instance of struct c_struct 
-  returning 
-    instance of struct c_struct 
-
-inferRecursive: candidate is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of union b_struct 
-    _src: instance of union b_struct 
-  returning 
-    instance of union b_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: __builtin_memcpy: function
-                  accepting unspecified arguments
-                returning 
-                  pointer to char 
-
-          to arguments
-                          Variable Expression: _dst: pointer to instance of union b_struct 
-
-                          Address of:
-                Variable Expression: _src: instance of union b_struct 
-
-                          Sizeof Expression on: instance of union b_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of union b_struct 
-
-to:
-  instance of union b_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of union b_struct 
-    _src: instance of union b_struct 
-  returning 
-    instance of union b_struct 
-
-inferRecursive: candidate is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of union d_struct 
-    _src: instance of union d_struct 
-  returning 
-    instance of union d_struct 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Application of
-            Variable Expression: __builtin_memcpy: function
-                  accepting unspecified arguments
-                returning 
-                  pointer to char 
-
-          to arguments
-                          Variable Expression: _dst: pointer to instance of union d_struct 
-
-                          Address of:
-                Variable Expression: _src: instance of union d_struct 
-
-                          Sizeof Expression on: instance of union d_struct 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of union d_struct 
-
-to:
-  instance of union d_struct 
-with environment:
-  Types:
-  Non-types:
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of union d_struct 
-    _src: instance of union d_struct 
-  returning 
-    instance of union d_struct 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to char 
-    char 
-  returning 
-    char 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to float 
-    float 
-  returning 
-    float 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: q: pointer to instance of struct forward 
---- results are
-        lvalue pointer to instance of struct forward 
-
-converting lvalue pointer to instance of struct forward 
- to pointer to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            _dst: pointer to instance of struct forward 
-            _src: instance of struct forward 
-          returning 
-            instance of struct forward 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to instance of type _0_T (not function type) 
-actuals are:
-                  Variable Expression: q: pointer to instance of struct forward 
-
-bindings are:
-        ( _0_T ) -> instance of struct forward  (no widening)
-cost of conversion is:( 0, 4, 0 )
-alternatives before prune:
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: *?: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        pointer to instance of type T (not function type) 
-      returning 
-        lvalue instance of type T (not function type) 
-
-to arguments
-      Variable Expression: q: pointer to instance of struct forward 
-
-with inferred parameters:
-  ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct forward 
-      _src: instance of struct forward 
-    returning 
-      instance of struct forward 
-
-(types:
-    lvalue instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> instance of struct forward  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 4, 0 ): Member Expression, with field: 
-  y: signed int 
-from aggregate: 
-  Application of
-    Variable Expression: *?: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-        function
-        with parameters
-          pointer to instance of type T (not function type) 
-        returning 
-          lvalue instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: q: pointer to instance of struct forward 
-
-  with inferred parameters:
-    ?=?: inline static function
-      with parameters
-        _dst: pointer to instance of struct forward 
-        _src: instance of struct forward 
-      returning 
-        instance of struct forward 
-
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Member Expression, with field: 
-    y: signed int 
-  from aggregate: 
-    Application of
-      Variable Expression: *?: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            pointer to instance of type T (not function type) 
-          returning 
-            lvalue instance of type T (not function type) 
-
-    to arguments
-              Variable Expression: q: pointer to instance of struct forward 
-
-    with inferred parameters:
-      ?=?: inline static function
-        with parameters
-          _dst: pointer to instance of struct forward 
-          _src: instance of struct forward 
-        returning 
-          instance of struct forward 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: unbound type variable in application Application of
-  Variable Expression: *?: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        pointer to instance of type T (not function type) 
-      returning 
-        pointer to instance of type T (not function type) 
-
-to arguments
-      Variable Expression: q: pointer to instance of struct forward 
-
-with inferred parameters:
-  ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct forward 
-      _src: instance of struct forward 
-    returning 
-      instance of struct forward 
-
-
Index: src/Tests/Expect-r/Misc.txt
===================================================================
--- src/Tests/Expect-r/Misc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1510 +1,0 @@
-nameExpr is g
-decl is g: function
-  with parameters
-    unsigned int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          unsigned int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: a: signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: float 
-newExpr is Variable Expression: b: float 
-
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Comma Expression:
-  Variable Expression: a: signed int 
-
-  Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Comma Expression:
-  Variable Expression: a: signed int 
-
-  Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Comma Expression:
-  Variable Expression: a: signed int 
-
-  Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Comma Expression:
-  Variable Expression: a: signed int 
-
-  Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              unsigned int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  unsigned int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is unsigned int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is unsigned int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Comma Expression:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: b: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Comma Expression:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Comma Expression:
-              Variable Expression: a: signed int 
-
-              Variable Expression: b: float 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Comma Expression:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to unsigned int 
-cost is( 0, 0, 1 )
-Case +++++++++++++
-formals are:
-        unsigned int 
-actuals are:
-                  Cast of:
-            Comma Expression:
-              Variable Expression: a: signed int 
-
-              Variable Expression: b: signed int 
-
-          to:
-            unsigned int 
-
-bindings are:
-cost of conversion is:( 0, 0, 1 )
-actual expression:
-        Comma Expression:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to unsigned int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        unsigned int 
-actuals are:
-                  Cast of:
-            Comma Expression:
-              Variable Expression: a: signed int 
-
-              Variable Expression: b: float 
-
-          to:
-            unsigned int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Comma Expression:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Comma Expression:
-        Variable Expression: a: signed int 
-
-        Variable Expression: b: float 
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Application of
-  Variable Expression: g: function
-      with parameters
-        unsigned int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Comma Expression:
-        Variable Expression: a: signed int 
-
-        Variable Expression: b: signed int 
-
-    to:
-      unsigned int 
-
-(types:
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        unsigned int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Comma Expression:
-        Variable Expression: a: signed int 
-
-        Variable Expression: b: float 
-
-    to:
-      unsigned int 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Comma Expression:
-        Variable Expression: a: signed int 
-
-        Variable Expression: b: signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is g
-decl is g: function
-  with parameters
-    unsigned int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          unsigned int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: a: signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Comma Expression:
-  Variable Expression: a: signed int 
-
-  Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Comma Expression:
-    Variable Expression: a: signed int 
-
-    Variable Expression: a: signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: float 
-newExpr is Variable Expression: b: float 
-
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Comma Expression:
-  Comma Expression:
-    Variable Expression: a: signed int 
-
-    Variable Expression: a: signed int 
-
-  Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Comma Expression:
-  Comma Expression:
-    Variable Expression: a: signed int 
-
-    Variable Expression: a: signed int 
-
-  Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Comma Expression:
-  Comma Expression:
-    Variable Expression: a: signed int 
-
-    Variable Expression: a: signed int 
-
-  Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Comma Expression:
-  Comma Expression:
-    Variable Expression: a: signed int 
-
-    Variable Expression: a: signed int 
-
-  Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              unsigned int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  unsigned int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is unsigned int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is unsigned int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Comma Expression:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Comma Expression:
-            Comma Expression:
-              Variable Expression: a: signed int 
-
-              Variable Expression: a: signed int 
-
-            Variable Expression: b: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Comma Expression:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: a: signed int 
-
-          Variable Expression: b: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Comma Expression:
-              Comma Expression:
-                Variable Expression: a: signed int 
-
-                Variable Expression: a: signed int 
-
-              Variable Expression: b: float 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Comma Expression:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to unsigned int 
-cost is( 0, 0, 1 )
-Case +++++++++++++
-formals are:
-        unsigned int 
-actuals are:
-                  Cast of:
-            Comma Expression:
-              Comma Expression:
-                Variable Expression: a: signed int 
-
-                Variable Expression: a: signed int 
-
-              Variable Expression: b: signed int 
-
-          to:
-            unsigned int 
-
-bindings are:
-cost of conversion is:( 0, 0, 1 )
-actual expression:
-        Comma Expression:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: a: signed int 
-
-          Variable Expression: b: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to unsigned int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        unsigned int 
-actuals are:
-                  Cast of:
-            Comma Expression:
-              Comma Expression:
-                Variable Expression: a: signed int 
-
-                Variable Expression: a: signed int 
-
-              Variable Expression: b: float 
-
-          to:
-            unsigned int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Comma Expression:
-      Comma Expression:
-        Variable Expression: a: signed int 
-
-        Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Comma Expression:
-        Comma Expression:
-          Variable Expression: a: signed int 
-
-          Variable Expression: a: signed int 
-
-        Variable Expression: b: float 
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Application of
-  Variable Expression: g: function
-      with parameters
-        unsigned int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Comma Expression:
-        Comma Expression:
-          Variable Expression: a: signed int 
-
-          Variable Expression: a: signed int 
-
-        Variable Expression: b: signed int 
-
-    to:
-      unsigned int 
-
-(types:
-)
-Environment: 
-
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        unsigned int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Comma Expression:
-        Comma Expression:
-          Variable Expression: a: signed int 
-
-          Variable Expression: a: signed int 
-
-        Variable Expression: b: float 
-
-    to:
-      unsigned int 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Comma Expression:
-        Comma Expression:
-          Variable Expression: a: signed int 
-
-          Variable Expression: a: signed int 
-
-        Variable Expression: b: signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is g
-decl is g: function
-  with parameters
-    unsigned int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          unsigned int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Sizeof Expression on:   Variable Expression: a: signed int 
-
-(types:
-    unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Sizeof Expression on:   Variable Expression: a: signed int 
-
-(types:
-    unsigned int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is unsigned int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              unsigned int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  unsigned int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is unsigned int 
-actual type is unsigned int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Sizeof Expression on:           Variable Expression: a: signed int 
-
---- results are
-        unsigned int 
-
-converting unsigned int 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Sizeof Expression on:               Variable Expression: a: signed int 
-
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Sizeof Expression on:           Variable Expression: a: signed int 
-
---- results are
-        unsigned int 
-
-converting unsigned int 
- to unsigned int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        unsigned int 
-actuals are:
-                  Sizeof Expression on:             Variable Expression: a: signed int 
-
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Sizeof Expression on:         Variable Expression: a: signed int 
-
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        unsigned int 
-      returning 
-        nothing 
-
-to arguments
-      Sizeof Expression on:       Variable Expression: a: signed int 
-
-
-(types:
-)
-Environment: 
-
-cost ( 0, 0, 0 ) beats ( 1, 0, 0 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          unsigned int 
-        returning 
-          nothing 
-
-  to arguments
-          Sizeof Expression on:         Variable Expression: a: signed int 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is g
-decl is g: function
-  with parameters
-    unsigned int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          unsigned int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Sizeof Expression on: signed int 
-(types:
-    unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Sizeof Expression on: signed int 
-(types:
-    unsigned int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is unsigned int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              unsigned int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  unsigned int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is unsigned int 
-actual type is unsigned int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Sizeof Expression on: signed int 
---- results are
-        unsigned int 
-
-converting unsigned int 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Sizeof Expression on: signed int 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Sizeof Expression on: signed int 
---- results are
-        unsigned int 
-
-converting unsigned int 
- to unsigned int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        unsigned int 
-actuals are:
-                  Sizeof Expression on: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Sizeof Expression on: signed int 
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        unsigned int 
-      returning 
-        nothing 
-
-to arguments
-      Sizeof Expression on: signed int 
-
-(types:
-)
-Environment: 
-
-cost ( 0, 0, 0 ) beats ( 1, 0, 0 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          unsigned int 
-        returning 
-          nothing 
-
-  to arguments
-          Sizeof Expression on: signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int __a__i;
-int __b__i;
-float __b__f;
-void __g__F_i_(int );
-void __g__F_Ui_(unsigned int );
-void __f__F__(void){
-    __g__F_i_((__a__i , __b__i));
-    __g__F_i_(((__a__i , __a__i) , __b__i));
-    __g__F_Ui_(sizeof(__a__i));
-    __g__F_Ui_(sizeof(int ));
-}
Index: src/Tests/Expect-r/MiscError.txt
===================================================================
--- src/Tests/Expect-r/MiscError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,385 +1,0 @@
-nameExpr is g
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: float 
-newExpr is Variable Expression: b: float 
-
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: b: signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: b: float 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-marking ambiguous
-there are 1 alternatives before elimination
-nameExpr is g
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: float 
-newExpr is Variable Expression: b: float 
-
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: b: signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: b: float 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-marking ambiguous
-there are 1 alternatives before elimination
-nameExpr is g
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: a: signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: float 
-newExpr is Variable Expression: b: float 
-
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Comma Expression:
-  Variable Expression: a: signed int 
-
-  Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Comma Expression:
-  Variable Expression: a: signed int 
-
-  Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Comma Expression:
-    Variable Expression: a: signed int 
-
-    Variable Expression: b: signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 1 ): Cast of:
-  Comma Expression:
-    Variable Expression: a: signed int 
-
-    Variable Expression: b: float 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-marking ambiguous
-there are 1 alternatives before elimination
-nameExpr is b
-decl is b: float 
-newExpr is Variable Expression: b: float 
-
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-Error: Can't choose between alternatives for expression Cast of:
-  Name: b
-
-to:
-  nothing
-Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: signed int 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: float 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-
-Error: Can't choose between alternatives for expression Cast of:
-  Name: b
-
-to:
-  nothing
-Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: signed int 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-        Cost ( 0, 0, 1 ):         Cast of:
-          Variable Expression: b: float 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-
-Error: Can't choose between alternatives for expression Cast of:
-  Comma Expression:
-    Name: a
-
-    Name: b
-
-to:
-  nothing
-Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: b: signed int 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-        Cost ( 0, 0, 1 ):         Cast of:
-          Comma Expression:
-            Variable Expression: a: signed int 
-
-            Variable Expression: b: float 
-
-        to:
-          nothing
-(types:
-)
-        Environment: 
-
-
-Error: Ambiguous expression in sizeof operand: Name: b
-
Index: src/Tests/Expect-r/NamedParmArg.txt
===================================================================
--- src/Tests/Expect-r/NamedParmArg.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1095 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-constant expression 3 signed int 
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is 0
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-constant expression 3 signed int 
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f1
-decl is f1: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int with initializer 
-      Simple Initializer:         Name: 0
-
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int with initializer 
-            Simple Initializer:               Name: 0
-
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f1: function
-            with parameters
-              i: signed int with initializer 
-                Simple Initializer:                   Cast of:
-constant expression 3 signed int 
-                  to:
-                    signed int 
-                  with environment:
-                    Types:
-                    Non-types:
-
-              j: pointer to signed int with initializer 
-                Simple Initializer:                   Name: 0
-
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  i: signed int with initializer 
-                    Simple Initializer:                       Cast of:
-constant expression 3 signed int 
-                      to:
-                        signed int 
-                      with environment:
-                        Types:
-                        Non-types:
-
-                  j: pointer to signed int with initializer 
-                    Simple Initializer:                       Name: 0
-
-                returning 
-                  signed int 
-
-)
-        Environment: 
-nameExpr is f1
-decl is f1: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int with initializer 
-      Simple Initializer:         Name: 0
-
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int with initializer 
-            Simple Initializer:               Name: 0
-
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f1: function
-            with parameters
-              i: signed int with initializer 
-                Simple Initializer:                   Cast of:
-constant expression 3 signed int 
-                  to:
-                    signed int 
-                  with environment:
-                    Types:
-                    Non-types:
-
-              j: pointer to signed int with initializer 
-                Simple Initializer:                   Name: 0
-
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  i: signed int with initializer 
-                    Simple Initializer:                       Cast of:
-constant expression 3 signed int 
-                      to:
-                        signed int 
-                      with environment:
-                        Types:
-                        Non-types:
-
-                  j: pointer to signed int with initializer 
-                    Simple Initializer:                       Name: 0
-
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-nameExpr is f1
-decl is f1: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int with initializer 
-      Simple Initializer:         Name: 0
-
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int with initializer 
-            Simple Initializer:               Name: 0
-
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f1: function
-            with parameters
-              i: signed int with initializer 
-                Simple Initializer:                   Cast of:
-constant expression 3 signed int 
-                  to:
-                    signed int 
-                  with environment:
-                    Types:
-                    Non-types:
-
-              j: pointer to signed int with initializer 
-                Simple Initializer:                   Name: 0
-
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  i: signed int with initializer 
-                    Simple Initializer:                       Cast of:
-constant expression 3 signed int 
-                      to:
-                        signed int 
-                      with environment:
-                        Types:
-                        Non-types:
-
-                  j: pointer to signed int with initializer 
-                    Simple Initializer:                       Name: 0
-
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-nameExpr is f1
-decl is f1: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int with initializer 
-      Simple Initializer:         Name: 0
-
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int with initializer 
-            Simple Initializer:               Name: 0
-
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-nameExpr is 0
-nameExpr is f1
-decl is f1: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int with initializer 
-      Simple Initializer:         Name: 0
-
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int with initializer 
-            Simple Initializer:               Name: 0
-
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-nameExpr is 0
-nameExpr is f1
-decl is f1: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int with initializer 
-      Simple Initializer:         Name: 0
-
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int with initializer 
-            Simple Initializer:               Name: 0
-
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is 0
-nameExpr is f1
-decl is f1: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int with initializer 
-      Simple Initializer:         Name: 0
-
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int with initializer 
-            Simple Initializer:               Name: 0
-
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int with designator:  Name: i
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int with designator:  Name: i
-(types:
-    signed int 
-)
-Environment: 
-
-nameExpr is 0
-nameExpr is f1
-decl is f1: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int with initializer 
-      Simple Initializer:         Name: 0
-
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int with initializer 
-            Simple Initializer:               Name: 0
-
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is 0
-nameExpr is f1
-decl is f1: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int with initializer 
-      Simple Initializer:         Name: 0
-
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int with initializer 
-            Simple Initializer:               Name: 0
-
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f2
-decl is f2: function
-  with parameters
-    i: signed int with initializer 
-      Simple Initializer:         Cast of:
-constant expression 3 signed int 
-        to:
-          signed int 
-        with environment:
-          Types:
-          Non-types:
-
-    j: pointer to signed int 
-  returning 
-    signed int 
-    signed int 
-  with body 
-    CompoundStmt
-
-newExpr is Variable Expression: f2: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int 
-    returning 
-      signed int 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f2: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer:           Cast of:
-constant expression 3 signed int 
-          to:
-            signed int 
-          with environment:
-            Types:
-            Non-types:
-
-      j: pointer to signed int 
-    returning 
-      signed int 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          i: signed int with initializer 
-            Simple Initializer:               Cast of:
-constant expression 3 signed int 
-              to:
-                signed int 
-              with environment:
-                Types:
-                Non-types:
-
-          j: pointer to signed int 
-        returning 
-          signed int 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f2: function
-            with parameters
-              i: signed int with initializer 
-                Simple Initializer:                   Cast of:
-constant expression 3 signed int 
-                  to:
-                    signed int 
-                  with environment:
-                    Types:
-                    Non-types:
-
-              j: pointer to signed int 
-            returning 
-              signed int 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  i: signed int with initializer 
-                    Simple Initializer:                       Cast of:
-constant expression 3 signed int 
-                      to:
-                        signed int 
-                      with environment:
-                        Types:
-                        Non-types:
-
-                  j: pointer to signed int 
-                returning 
-                  signed int 
-                  signed int 
-
-)
-        Environment: 
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f1
-...to: 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f1
-...to: 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f1
-...to: 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Name: 0
-with designator:  Name: j
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f2
-...to: 
-with designator:  Tuple:
-          Name: j
-
-          Name: i
-
-
Index: src/Tests/Expect-r/NumericConstants.txt
===================================================================
--- src/Tests/Expect-r/NumericConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,744 +1,0 @@
-nameExpr is 1
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 21 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 21 signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 2147483647 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 2147483647 signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 37LL long long signed int (types:
-    long long signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 37LL long long signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 45ull long long unsigned int (types:
-    long long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 45ull long long unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 89llu long long unsigned int (types:
-    long long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 89llu long long unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 99LLu long long unsigned int (types:
-    long long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 99LLu long long unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 56lu long unsigned int (types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 56lu long unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 88LLu long long unsigned int (types:
-    long long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 88LLu long long unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0u unsigned int (types:
-    unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0u unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0377 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0377 signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0377ul long unsigned int (types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0377ul long unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0x1 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0x1 signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0x1u unsigned int (types:
-    unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0x1u unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0xabL long signed int (types:
-    long signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0xabL long signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0x80000000 unsigned int (types:
-    unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0x80000000 unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0xfff signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0xfff signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0xef3daa5c unsigned int (types:
-    unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0xef3daa5c unsigned int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0x3LL long long signed int (types:
-    long long signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0x3LL long long signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3. double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3. double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3100. double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3100. double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 1000000. double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 1000000. double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.1 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3.1 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.141592654L long double (types:
-    long double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3.141592654L long double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 123456.123456 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 123456.123456 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3E1 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3E1 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3e1f float (types:
-    float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3e1f float 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3E11F float (types:
-    float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3E11F float 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3E11 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3E11 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3e+11 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3e+11 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3E-11 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3E-11 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.0E1 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3.0E1 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.0E1L long double (types:
-    long double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3.0E1L long double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.0e11 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3.0e11 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.0E11l long double (types:
-    long double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3.0E11l long double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.0e+11l long double (types:
-    long double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3.0e+11l long double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.0E-11 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3.0E-11 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 123456.123456E-16 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 123456.123456E-16 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0xff.ffp0 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0xff.ffp0 double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 0x1.ffffffffp128l long double (types:
-    long double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 0x1.ffffffffp128l long double 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Name: 1
-
Index: src/Tests/Expect-r/OccursError.txt
===================================================================
--- src/Tests/Expect-r/OccursError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,303 +1,0 @@
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    pointer to function
-        with parameters
-          instance of type T (not function type) 
-          pointer to instance of type T (not function type) 
-        returning 
-          nothing 
-
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to function
-          with parameters
-            instance of type T (not function type) 
-            pointer to instance of type T (not function type) 
-          returning 
-            nothing 
-
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to function
-          with parameters
-            instance of type T (not function type) 
-            pointer to instance of type T (not function type) 
-          returning 
-            nothing 
-
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          pointer to function
-              with parameters
-                instance of type _0_T (not function type) 
-                pointer to instance of type _0_T (not function type) 
-              returning 
-                nothing 
-
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is g
-decl is g: forall
-    U: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type U (not function type) 
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-
-  function
-  with parameters
-    pointer to instance of type U (not function type) 
-    instance of type U (not function type) 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: forall
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type U (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: forall
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type U (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _1_U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_U (not function type) 
-                    instance of type _1_U (not function type) 
-                  returning 
-                    instance of type _1_U (not function type) 
-
-
-        function
-        with parameters
-          pointer to instance of type _1_U (not function type) 
-          instance of type _1_U (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: g: forall
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type U (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _1_U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_U (not function type) 
-                    instance of type _1_U (not function type) 
-                  returning 
-                    instance of type _1_U (not function type) 
-
-
-        function
-        with parameters
-          pointer to instance of type _1_U (not function type) 
-          instance of type _1_U (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              pointer to function
-                  with parameters
-                    instance of type T (not function type) 
-                    pointer to instance of type T (not function type) 
-                  returning 
-                    nothing 
-
-            returning 
-              nothing 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  pointer to function
-                      with parameters
-                        instance of type _0_T (not function type) 
-                        pointer to instance of type _0_T (not function type) 
-                      returning 
-                        nothing 
-
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    pointer to instance of type _0_T (not function type) 
-  returning 
-    nothing 
-
-actual type is pointer to forall
-    _1_U: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _1_U (not function type) 
-              instance of type _1_U (not function type) 
-            returning 
-              instance of type _1_U (not function type) 
-
-
-  function
-  with parameters
-    pointer to instance of type _1_U (not function type) 
-    instance of type _1_U (not function type) 
-  returning 
-    nothing 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f
-...to: 
-    Name: g
-
Index: src/Tests/Expect-r/Operators.txt
===================================================================
--- src/Tests/Expect-r/Operators.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1796 +1,0 @@
-nameExpr is ?*?
-decl is ?*?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is number1
-decl is number1: signed int 
-newExpr is Variable Expression: number1: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: number1: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: number1: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is number2
-decl is number2: signed int 
-newExpr is Variable Expression: number2: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: number2: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: number2: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?*?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: number1: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: number2: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: number1: signed int 
-
-                  Variable Expression: number2: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?*?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: number1: signed int 
-
-      Variable Expression: number2: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?*?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: number1: signed int 
-
-          Variable Expression: number2: signed int 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct accumulator 
-    _src: instance of struct accumulator 
-  returning 
-    instance of struct accumulator 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  total: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct accumulator 
-              Member Expression, with field: 
-                total: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct accumulator 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct accumulator 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct accumulator 
-      _src: instance of struct accumulator 
-    returning 
-      instance of struct accumulator 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct accumulator 
-      _src: instance of struct accumulator 
-    returning 
-      instance of struct accumulator 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct accumulator 
-          _src: instance of struct accumulator 
-        returning 
-          instance of struct accumulator 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  total: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct accumulator 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    total: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct accumulator 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    total: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct accumulator 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  total: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct accumulator 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  total: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct accumulator 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct accumulator 
-              _src: instance of struct accumulator 
-            returning 
-              instance of struct accumulator 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct accumulator 
-                  _src: instance of struct accumulator 
-                returning 
-                  instance of struct accumulator 
-
-)
-        Environment: 
-formal type is pointer to instance of struct accumulator 
-actual type is pointer to signed int 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            total: signed int 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct accumulator 
---- results are
-        pointer to signed int 
-
-converting pointer to signed int 
- to pointer to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          total: signed int 
-        from aggregate: 
-          Variable Expression: _src: instance of struct accumulator 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to signed int 
-        signed int 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              total: signed int 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct accumulator 
-
-                  Member Expression, with field: 
-            total: signed int 
-          from aggregate: 
-            Variable Expression: _src: instance of struct accumulator 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        total: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct accumulator 
-
-      Member Expression, with field: 
-      total: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct accumulator 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          total: signed int 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct accumulator 
-
-          Member Expression, with field: 
-        total: signed int 
-      from aggregate: 
-        Variable Expression: _src: instance of struct accumulator 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct accumulator 
-(types:
-    lvalue instance of struct accumulator 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct accumulator 
-
-to:
-  instance of struct accumulator 
-(types:
-    instance of struct accumulator 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?()
-decl is ?(): function
-  with parameters
-    a: instance of struct accumulator 
-    number1: char 
-    number2: char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?(): function
-    with parameters
-      a: instance of struct accumulator 
-      number1: char 
-      number2: char 
-    returning 
-      char 
-
-
-decl is ?(): function
-  with parameters
-    number1: signed int 
-    number2: signed int 
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?*?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: number1: signed int 
-
-          Variable Expression: number2: signed int 
-
-
-to:
-  signed int 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?(): function
-    with parameters
-      number1: signed int 
-      number2: signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?(): function
-    with parameters
-      a: instance of struct accumulator 
-      number1: char 
-      number2: char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          a: instance of struct accumulator 
-          number1: char 
-          number2: char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?(): function
-    with parameters
-      number1: signed int 
-      number2: signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          number1: signed int 
-          number2: signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: char 
-newExpr is Variable Expression: a: char 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-nameExpr is b
-decl is b: char 
-newExpr is Variable Expression: b: char 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
-            with parameters
-              number1: signed int 
-              number2: signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  number1: signed int 
-                  number2: signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
-            with parameters
-              a: instance of struct accumulator 
-              number1: char 
-              number2: char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  a: instance of struct accumulator 
-                  number1: char 
-                  number2: char 
-                returning 
-                  char 
-
-)
-        Environment: 
-formal type is instance of struct accumulator 
-actual type is lvalue char 
-actual expression:
-        Variable Expression: a: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-actual expression:
-        Variable Expression: b: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        number1: signed int 
-        number2: signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: a: char 
-
-          to:
-            signed int 
-
-                  Cast of:
-            Variable Expression: b: char 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 8 )
-alternatives before prune:
-Cost ( 0, 0, 8 ): Application of
-  Variable Expression: ?(): function
-      with parameters
-        number1: signed int 
-        number2: signed int 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: a: char 
-
-    to:
-      signed int 
-
-      Cast of:
-      Variable Expression: b: char 
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?(): function
-        with parameters
-          number1: signed int 
-          number2: signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Cast of:
-        Variable Expression: a: char 
-
-      to:
-        signed int 
-
-          Cast of:
-        Variable Expression: b: char 
-
-      to:
-        signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: char 
-newExpr is Variable Expression: a: char 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: char 
-newExpr is Variable Expression: b: char 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: a: char 
-(types:
-            lvalue char 
-)
-        Environment: 
-nameExpr is ?()
-decl is ?(): function
-  with parameters
-    a: instance of struct accumulator 
-    number1: char 
-    number2: char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?(): function
-    with parameters
-      a: instance of struct accumulator 
-      number1: char 
-      number2: char 
-    returning 
-      char 
-
-
-decl is ?(): function
-  with parameters
-    number1: signed int 
-    number2: signed int 
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?*?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: number1: signed int 
-
-          Variable Expression: number2: signed int 
-
-
-to:
-  signed int 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?(): function
-    with parameters
-      number1: signed int 
-      number2: signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?(): function
-    with parameters
-      a: instance of struct accumulator 
-      number1: char 
-      number2: char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          a: instance of struct accumulator 
-          number1: char 
-          number2: char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?(): function
-    with parameters
-      number1: signed int 
-      number2: signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          number1: signed int 
-          number2: signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-known function ops:
-        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
-            with parameters
-              number1: signed int 
-              number2: signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  number1: signed int 
-                  number2: signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-
-        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
-            with parameters
-              a: instance of struct accumulator 
-              number1: char 
-              number2: char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  a: instance of struct accumulator 
-                  number1: char 
-                  number2: char 
-                returning 
-                  char 
-
-)
-        Environment: 
-
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is instance of struct accumulator 
-actual type is lvalue char 
-actual expression:
-        Variable Expression: a: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-actual expression:
-        Variable Expression: b: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        number1: signed int 
-        number2: signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: a: char 
-
-          to:
-            signed int 
-
-                  Cast of:
-            Variable Expression: b: char 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 8 )
-alternatives before prune:
-Cost ( 0, 0, 8 ): Application of
-  Variable Expression: ?(): function
-      with parameters
-        number1: signed int 
-        number2: signed int 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: a: char 
-
-    to:
-      signed int 
-
-      Cast of:
-      Variable Expression: b: char 
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?(): function
-        with parameters
-          number1: signed int 
-          number2: signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Cast of:
-        Variable Expression: a: char 
-
-      to:
-        signed int 
-
-          Cast of:
-        Variable Expression: b: char 
-
-      to:
-        signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?+?
-decl is ?+?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?+?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: char 
-newExpr is Variable Expression: a: char 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-nameExpr is b
-decl is b: char 
-newExpr is Variable Expression: b: char 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: a: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-actual expression:
-        Variable Expression: b: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: a: char 
-
-          to:
-            signed int 
-
-                  Cast of:
-            Variable Expression: b: char 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 8 )
-alternatives before prune:
-Cost ( 0, 0, 8 ): Application of
-  Variable Expression: ?+?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: a: char 
-
-    to:
-      signed int 
-
-      Cast of:
-      Variable Expression: b: char 
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?+?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Cast of:
-        Variable Expression: a: char 
-
-      to:
-        signed int 
-
-          Cast of:
-        Variable Expression: b: char 
-
-      to:
-        signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?+?
-decl is ?+?: instance of struct accumulator 
-newExpr is Variable Expression: ?+?: instance of struct accumulator 
-
-decl is ?+?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?+?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?+?: instance of struct accumulator 
-(types:
-    lvalue instance of struct accumulator 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: char 
-newExpr is Variable Expression: a: char 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-nameExpr is b
-decl is b: char 
-newExpr is Variable Expression: b: char 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue char 
-formal type is signed int 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: instance of struct accumulator 
-(types:
-            lvalue instance of struct accumulator 
-)
-        Environment: 
-nameExpr is ?()
-decl is ?(): function
-  with parameters
-    a: instance of struct accumulator 
-    number1: char 
-    number2: char 
-  returning 
-    char 
-
-newExpr is Variable Expression: ?(): function
-    with parameters
-      a: instance of struct accumulator 
-      number1: char 
-      number2: char 
-    returning 
-      char 
-
-
-decl is ?(): function
-  with parameters
-    number1: signed int 
-    number2: signed int 
-  returning 
-    signed int 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?*?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: number1: signed int 
-
-          Variable Expression: number2: signed int 
-
-
-to:
-  signed int 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?(): function
-    with parameters
-      number1: signed int 
-      number2: signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?(): function
-    with parameters
-      a: instance of struct accumulator 
-      number1: char 
-      number2: char 
-    returning 
-      char 
-
-(types:
-    pointer to function
-        with parameters
-          a: instance of struct accumulator 
-          number1: char 
-          number2: char 
-        returning 
-          char 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?(): function
-    with parameters
-      number1: signed int 
-      number2: signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          number1: signed int 
-          number2: signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-known function ops:
-        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
-            with parameters
-              number1: signed int 
-              number2: signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  number1: signed int 
-                  number2: signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-
-        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
-            with parameters
-              a: instance of struct accumulator 
-              number1: char 
-              number2: char 
-            returning 
-              char 
-
-(types:
-            pointer to function
-                with parameters
-                  a: instance of struct accumulator 
-                  number1: char 
-                  number2: char 
-                returning 
-                  char 
-
-)
-        Environment: 
-
-formal type is signed int 
-actual type is lvalue instance of struct accumulator 
-formal type is instance of struct accumulator 
-actual type is lvalue instance of struct accumulator 
-formal type is char 
-actual type is lvalue char 
-formal type is char 
-actual type is lvalue char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: a: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-actual expression:
-        Variable Expression: b: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to signed int 
-cost is( 0, 0, 4 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: a: char 
-
-          to:
-            signed int 
-
-                  Cast of:
-            Variable Expression: b: char 
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 8 )
-actual expression:
-        Variable Expression: ?+?: instance of struct accumulator 
---- results are
-        lvalue instance of struct accumulator 
-
-converting lvalue instance of struct accumulator 
- to instance of struct accumulator 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: a: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to char 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: b: char 
---- results are
-        lvalue char 
-
-converting lvalue char 
- to char 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        a: instance of struct accumulator 
-        number1: char 
-        number2: char 
-actuals are:
-                  Variable Expression: ?+?: instance of struct accumulator 
-
-                  Variable Expression: a: char 
-
-                  Variable Expression: b: char 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 8 ): Application of
-  Variable Expression: ?+?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: a: char 
-
-    to:
-      signed int 
-
-      Cast of:
-      Variable Expression: b: char 
-
-    to:
-      signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?(): function
-      with parameters
-        a: instance of struct accumulator 
-        number1: char 
-        number2: char 
-      returning 
-        char 
-
-to arguments
-      Variable Expression: ?+?: instance of struct accumulator 
-
-      Variable Expression: a: char 
-
-      Variable Expression: b: char 
-
-(types:
-    char 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?(): function
-        with parameters
-          a: instance of struct accumulator 
-          number1: char 
-          number2: char 
-        returning 
-          char 
-
-  to arguments
-          Variable Expression: ?+?: instance of struct accumulator 
-
-          Variable Expression: a: char 
-
-          Variable Expression: b: char 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int ___operator_multiply__Fi_ii_(int , int );
-int ___operator_call__Fi_ii_(int __number1__i, int __number2__i){
-    return ___operator_multiply__Fi_ii_(__number1__i, __number2__i);
-}
-int ___operator_add__Fi_ii_(int , int );
-int ___operator_assign__Fi_Pii_(int *, int );
-struct accumulator
-{
-    int __total__i;
-};
-static inline struct accumulator ___operator_assign__F12saccumulator_P12saccumulator12saccumulator_(struct accumulator *___dst__P12saccumulator, struct accumulator ___src__12saccumulator){
-    ___operator_assign__Fi_Pii_((&(*___dst__P12saccumulator).__total__i), ___src__12saccumulator.__total__i);
-    return ___src__12saccumulator;
-}
-char ___operator_call__Fc_12saccumulatorcc_(struct accumulator __a__12saccumulator, char __number1__c, char __number2__c);
-void __f__F__(void){
-    char __a__c;
-    char __b__c;
-    ___operator_call__Fi_ii_(((int )__a__c), ((int )__b__c));
-    ___operator_call__Fi_ii_(((int )__a__c), ((int )__b__c));
-    ___operator_add__Fi_ii_(((int )__a__c), ((int )__b__c));
-    struct accumulator ___operator_add__12saccumulator;
-    ___operator_call__Fc_12saccumulatorcc_(___operator_add__12saccumulator, __a__c, __b__c);
-}
Index: src/Tests/Expect-r/Quad.txt
===================================================================
--- src/Tests/Expect-r/Quad.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1851 +1,0 @@
-nameExpr is ?*?
-decl is ?*?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-decl is ?*?: pointer to function
-  with parameters
-    instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: ?*?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?*?: pointer to function
-    with parameters
-      instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is t
-decl is t: instance of type T (not function type) 
-newExpr is Variable Expression: t: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-nameExpr is t
-decl is t: instance of type T (not function type) 
-newExpr is Variable Expression: t: instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?*?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?*?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-formal type is instance of type T (not function type) 
-actual type is lvalue instance of type T (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: t: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: t: instance of type T (not function type) 
---- results are
-        lvalue instance of type T (not function type) 
-
-converting lvalue instance of type T (not function type) 
- to instance of type T (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-actuals are:
-                  Variable Expression: t: instance of type T (not function type) 
-
-                  Variable Expression: t: instance of type T (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?*?: pointer to function
-      with parameters
-        instance of type T (not function type) 
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: t: instance of type T (not function type) 
-
-      Variable Expression: t: instance of type T (not function type) 
-
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?*?: pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: t: instance of type T (not function type) 
-
-          Variable Expression: t: instance of type T (not function type) 
-
-
-to:
-  instance of type T (not function type) 
-(types:
-    instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is square
-decl is square: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        ?*?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    t: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?*?: pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: t: instance of type T (not function type) 
-
-          Variable Expression: t: instance of type T (not function type) 
-
-
-to:
-  instance of type T (not function type) 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: square: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?*?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-decl is square: pointer to function
-  with parameters
-    instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-
-newExpr is Variable Expression: square: pointer to function
-    with parameters
-      instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: square: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?*?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-              ?*?: pointer to function
-                  with parameters
-                    instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          t: instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: square: pointer to function
-    with parameters
-      instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          instance of type U (not function type) 
-        returning 
-          instance of type U (not function type) 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is square
-decl is square: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        ?*?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    t: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?*?: pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: t: instance of type T (not function type) 
-
-          Variable Expression: t: instance of type T (not function type) 
-
-
-to:
-  instance of type T (not function type) 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: square: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?*?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-decl is square: pointer to function
-  with parameters
-    instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-
-newExpr is Variable Expression: square: pointer to function
-    with parameters
-      instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: square: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?*?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _1_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_T (not function type) 
-                    instance of type _1_T (not function type) 
-                  returning 
-                    instance of type _1_T (not function type) 
-
-              ?*?: pointer to function
-                  with parameters
-                    instance of type _1_T (not function type) 
-                    instance of type _1_T (not function type) 
-                  returning 
-                    instance of type _1_T (not function type) 
-
-
-        function
-        with parameters
-          t: instance of type _1_T (not function type) 
-        returning 
-          instance of type _1_T (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: square: pointer to function
-    with parameters
-      instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          instance of type U (not function type) 
-        returning 
-          instance of type U (not function type) 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is u
-decl is u: instance of type U (not function type) 
-newExpr is Variable Expression: u: instance of type U (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
-(types:
-    lvalue instance of type U (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: square: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-                  ?*?: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              t: instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _1_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _1_T (not function type) 
-                            instance of type _1_T (not function type) 
-                          returning 
-                            instance of type _1_T (not function type) 
-
-                      ?*?: pointer to function
-                          with parameters
-                            instance of type _1_T (not function type) 
-                            instance of type _1_T (not function type) 
-                          returning 
-                            instance of type _1_T (not function type) 
-
-
-                function
-                with parameters
-                  t: instance of type _1_T (not function type) 
-                returning 
-                  instance of type _1_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _1_T (not function type) 
-actual type is lvalue instance of type U (not function type) 
-need assertions:
-?*?: pointer to function
-          with parameters
-            instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?*?: pointer to function
-  with parameters
-    instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-inferRecursive: candidate is ?*?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: square: pointer to function
-            with parameters
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-)
-        Environment: 
-formal type is instance of type U (not function type) 
-actual type is lvalue instance of type U (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: u: instance of type U (not function type) 
---- results are
-        lvalue instance of type U (not function type) 
-
-converting lvalue instance of type U (not function type) 
- to instance of type U (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type U (not function type) 
-actuals are:
-                  Variable Expression: u: instance of type U (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: square: pointer to function
-      with parameters
-        instance of type U (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Variable Expression: u: instance of type U (not function type) 
-
-(types:
-    instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: square: pointer to function
-      with parameters
-        instance of type U (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Variable Expression: u: instance of type U (not function type) 
-
-(types:
-    instance of type U (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: square: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-                  ?*?: pointer to function
-                      with parameters
-                        instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              t: instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-                      ?*?: pointer to function
-                          with parameters
-                            instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  t: instance of type _0_T (not function type) 
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is instance of type U (not function type) 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)?*?: pointer to function
-          with parameters
-            instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: candidate is ?=?: pointer to function
-  with parameters
-    pointer to instance of type U (not function type) 
-    instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to instance of type U (not function type) 
-    instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-
-success!
-satisfying assertion 12 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 23 ?=?: pointer to function
-  with parameters
-    pointer to instance of type U (not function type) 
-    instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-
-inferRecursive: assertion is ?*?: pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?*?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: square: pointer to function
-            with parameters
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-)
-        Environment: 
-formal type is instance of type U (not function type) 
-actual type is instance of type U (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Application of
-          Variable Expression: square: pointer to function
-              with parameters
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-        to arguments
-                      Variable Expression: u: instance of type U (not function type) 
-
---- results are
-        instance of type U (not function type) 
-
-converting instance of type U (not function type) 
- to instance of type U (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type U (not function type) 
-actuals are:
-                  Application of
-            Variable Expression: square: pointer to function
-                with parameters
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-          to arguments
-                          Variable Expression: u: instance of type U (not function type) 
-
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: square: pointer to function
-      with parameters
-        instance of type U (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-      Application of
-      Variable Expression: square: pointer to function
-          with parameters
-            instance of type U (not function type) 
-          returning 
-            instance of type U (not function type) 
-
-    to arguments
-              Variable Expression: u: instance of type U (not function type) 
-
-
-(types:
-    instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: square: pointer to function
-        with parameters
-          instance of type U (not function type) 
-        returning 
-          instance of type U (not function type) 
-
-  to arguments
-          Application of
-        Variable Expression: square: pointer to function
-            with parameters
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-      to arguments
-                  Variable Expression: u: instance of type U (not function type) 
-
-
-
-to:
-  instance of type U (not function type) 
-(types:
-    instance of type U (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is quad
-decl is quad: forall
-    U: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type U (not function type) 
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-        square: pointer to function
-            with parameters
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-
-  function
-  with parameters
-    u: instance of type U (not function type) 
-  returning 
-    instance of type U (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: square: pointer to function
-        with parameters
-          instance of type U (not function type) 
-        returning 
-          instance of type U (not function type) 
-
-  to arguments
-          Application of
-        Variable Expression: square: pointer to function
-            with parameters
-              instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-      to arguments
-                  Variable Expression: u: instance of type U (not function type) 
-
-
-
-to:
-  instance of type U (not function type) 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: quad: forall
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          square: pointer to function
-              with parameters
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      u: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: quad: forall
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          square: pointer to function
-              with parameters
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      u: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-(types:
-    pointer to forall
-          _0_U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_U (not function type) 
-                    instance of type _0_U (not function type) 
-                  returning 
-                    instance of type _0_U (not function type) 
-
-              square: pointer to function
-                  with parameters
-                    instance of type _0_U (not function type) 
-                  returning 
-                    instance of type _0_U (not function type) 
-
-
-        function
-        with parameters
-          u: instance of type _0_U (not function type) 
-        returning 
-          instance of type _0_U (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: quad: forall
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-                  square: pointer to function
-                      with parameters
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              u: instance of type U (not function type) 
-            returning 
-              instance of type U (not function type) 
-
-(types:
-            pointer to forall
-                  _0_U: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_U (not function type) 
-                            instance of type _0_U (not function type) 
-                          returning 
-                            instance of type _0_U (not function type) 
-
-                      square: pointer to function
-                          with parameters
-                            instance of type _0_U (not function type) 
-                          returning 
-                            instance of type _0_U (not function type) 
-
-
-                function
-                with parameters
-                  u: instance of type _0_U (not function type) 
-                returning 
-                  instance of type _0_U (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_U (not function type) 
-actual type is signed int 
-need assertions:
-square: pointer to function
-          with parameters
-            instance of type _0_U (not function type) 
-          returning 
-            instance of type _0_U (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_U (not function type) 
-            instance of type _0_U (not function type) 
-          returning 
-            instance of type _0_U (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is square: pointer to function
-  with parameters
-    instance of type _0_U (not function type) 
-  returning 
-    instance of type _0_U (not function type) 
-
-inferRecursive: candidate is square: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        ?*?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    t: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?*?: pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: t: instance of type T (not function type) 
-
-          Variable Expression: t: instance of type T (not function type) 
-
-
-to:
-  instance of type T (not function type) 
-with environment:
-  Types:
-  Non-types:
-
-
-
-unifying pointer to function
-  with parameters
-    instance of type _0_U (not function type) 
-  returning 
-    instance of type _0_U (not function type) 
- with pointer to forall
-    _1_T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _1_T (not function type) 
-              instance of type _1_T (not function type) 
-            returning 
-              instance of type _1_T (not function type) 
-
-        ?*?: pointer to function
-            with parameters
-              instance of type _1_T (not function type) 
-              instance of type _1_T (not function type) 
-            returning 
-              instance of type _1_T (not function type) 
-
-
-  function
-  with parameters
-    t: instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-success!
-satisfying assertion 26 square: pointer to function
-  with parameters
-    instance of type _0_U (not function type) 
-  returning 
-    instance of type _0_U (not function type) 
- with declaration 19 square: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        ?*?: pointer to function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    t: instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Cast of:
-  Application of
-    Variable Expression: ?*?: pointer to function
-        with parameters
-          instance of type T (not function type) 
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-  to arguments
-          Variable Expression: t: instance of type T (not function type) 
-
-          Variable Expression: t: instance of type T (not function type) 
-
-
-to:
-  instance of type T (not function type) 
-with environment:
-  Types:
-  Non-types:
-
-
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_U (not function type) 
-    instance of type _0_U (not function type) 
-  returning 
-    instance of type _0_U (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_U (not function type) 
-    instance of type _0_U (not function type) 
-  returning 
-    instance of type _0_U (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 23 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_U (not function type) 
-    instance of type _0_U (not function type) 
-  returning 
-    instance of type _0_U (not function type) 
- with declaration 4 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-recursing with new set:
-?*?: pointer to function
-          with parameters
-            instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)inferRecursive: assertion is ?*?: pointer to function
-  with parameters
-    instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-inferRecursive: candidate is ?*?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 16 ?*?: pointer to function
-  with parameters
-    instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with declaration 8 ?*?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 12 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with declaration 4 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-constant expression 7 signed int --- results are
-        signed int 
-
-converting signed int 
- to instance of type _0_U (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_U (not function type) 
-            instance of type _0_U (not function type) 
-          returning 
-            instance of type _0_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-
-converting pointer to forall
-            _1_T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type _1_T (not function type) 
-                      instance of type _1_T (not function type) 
-                    returning 
-                      instance of type _1_T (not function type) 
-
-                ?*?: pointer to function
-                    with parameters
-                      instance of type _1_T (not function type) 
-                      instance of type _1_T (not function type) 
-                    returning 
-                      instance of type _1_T (not function type) 
-
-
-          function
-          with parameters
-            t: instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-
- to pointer to function
-          with parameters
-            instance of type _0_U (not function type) 
-          returning 
-            instance of type _0_U (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        u: instance of type _0_U (not function type) 
-actuals are:
-        constant expression 7 signed int 
-bindings are:
-        ( _0_U _1_T ) -> signed int  (no widening)
-cost of conversion is:( 0, 20, 0 )
-alternatives before prune:
-Cost ( 0, 20, 0 ): Application of
-  Variable Expression: quad: forall
-        U: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type U (not function type) 
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-            square: pointer to function
-                with parameters
-                  instance of type U (not function type) 
-                returning 
-                  instance of type U (not function type) 
-
-
-      function
-      with parameters
-        u: instance of type U (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-to arguments
-  constant expression 7 signed int 
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-  square: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?*?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    instance of type _0_U (not function type) 
-)
-Environment:   ( _0_U _1_T ) -> signed int  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: quad: forall
-          U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type U (not function type) 
-                    instance of type U (not function type) 
-                  returning 
-                    instance of type U (not function type) 
-
-              square: pointer to function
-                  with parameters
-                    instance of type U (not function type) 
-                  returning 
-                    instance of type U (not function type) 
-
-
-        function
-        with parameters
-          u: instance of type U (not function type) 
-        returning 
-          instance of type U (not function type) 
-
-  to arguments
-    constant expression 7 signed int 
-  with inferred parameters:
-    ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-    ?*?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-    ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-    square: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-            ?*?: pointer to function
-                with parameters
-                  instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        t: instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _0_U _1_T ) -> signed int  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int ___operator_assign__Fi_Pii_(int *, int );
-int ___operator_multiply__Fi_ii_(int , int );
-void __square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(void (*_adapterF2tT_2tT2tT_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_multiply__PF2tT_2tT2tT_)(), void *_retparm, void *__t__2tT){
-    _adapterF2tT_2tT2tT_(___operator_multiply__PF2tT_2tT2tT_, _retparm, __t__2tT, __t__2tT);
-    return ;
-}
-void __quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(void (*_adapterF2tU_2tU_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), long unsigned int U, void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__square__PF2tU_2tU_)(), void *_retparm, void *__u__2tU){
-    void *_temp0;
-    (_temp0=__builtin_alloca(U));
-    _adapterF2tU_2tU_(__square__PF2tU_2tU_, _retparm, (_adapterF2tU_2tU_(__square__PF2tU_2tU_, _temp0, __u__2tU) , _temp0));
-    return ;
-}
-void __f__F__(){
-    int _thunk0(int _p0){
-        int _temp1;
-        void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-            ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
-        }
-        void _adapterFi_ii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-            ((*((int *)_ret))=((int (*)(int , int ))_adaptee)((*((int *)_p0)), (*((int *)_p1))));
-        }
-        return (__square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(_adapterFi_ii_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_multiply__Fi_ii_), (&_temp1), (&_p0)) , _temp1);
-    }
-    int _temp2;
-    int _temp3;
-    (_temp3=7);
-    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
-    }
-    void _adapterFi_i_(void (*_adaptee)(), void *_ret, void *_p0){
-        ((*((int *)_ret))=((int (*)(int ))_adaptee)((*((int *)_p0))));
-    }
-    (__quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(_adapterFi_i_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())(&_thunk0)), (&_temp2), (&_temp3)) , _temp2);
-}
Index: src/Tests/Expect-r/Rank2.txt
===================================================================
--- src/Tests/Expect-r/Rank2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,3600 +1,0 @@
-nameExpr is g
-decl is g: function
-  with parameters
-    p: pointer to forall
-          U: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type U (not function type) 
-                    instance of type U (not function type) 
-                  returning 
-                    instance of type U (not function type) 
-
-
-        function
-        with parameters
-          instance of type U (not function type) 
-        returning 
-          nothing 
-
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      p: pointer to forall
-            U: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type U (not function type) 
-                      instance of type U (not function type) 
-                    returning 
-                      instance of type U (not function type) 
-
-
-          function
-          with parameters
-            instance of type U (not function type) 
-          returning 
-            nothing 
-
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      p: pointer to forall
-            U: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type U (not function type) 
-                      instance of type U (not function type) 
-                    returning 
-                      instance of type U (not function type) 
-
-
-          function
-          with parameters
-            instance of type U (not function type) 
-          returning 
-            nothing 
-
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          p: pointer to forall
-                _0_U: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type _0_U (not function type) 
-                          instance of type _0_U (not function type) 
-                        returning 
-                          instance of type _0_U (not function type) 
-
-
-              function
-              with parameters
-                instance of type _0_U (not function type) 
-              returning 
-                nothing 
-
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _1_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_T (not function type) 
-                    instance of type _1_T (not function type) 
-                  returning 
-                    instance of type _1_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _1_T (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      nothing 
-
-(types:
-    pointer to forall
-          _1_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_T (not function type) 
-                    instance of type _1_T (not function type) 
-                  returning 
-                    instance of type _1_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _1_T (not function type) 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              p: pointer to forall
-                    U: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type U (not function type) 
-                              instance of type U (not function type) 
-                            returning 
-                              instance of type U (not function type) 
-
-
-                  function
-                  with parameters
-                    instance of type U (not function type) 
-                  returning 
-                    nothing 
-
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  p: pointer to forall
-                        _0_U: type
-                          with assertions
-                            ?=?: pointer to function
-                                with parameters
-                                  pointer to instance of type _0_U (not function type) 
-                                  instance of type _0_U (not function type) 
-                                returning 
-                                  instance of type _0_U (not function type) 
-
-
-                      function
-                      with parameters
-                        instance of type _0_U (not function type) 
-                      returning 
-                        nothing 
-
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is pointer to forall
-    _0_U: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_U (not function type) 
-              instance of type _0_U (not function type) 
-            returning 
-              instance of type _0_U (not function type) 
-
-
-  function
-  with parameters
-    instance of type _0_U (not function type) 
-  returning 
-    nothing 
-
-actual type is pointer to forall
-    _1_T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _1_T (not function type) 
-              instance of type _1_T (not function type) 
-            returning 
-              instance of type _1_T (not function type) 
-
-
-  function
-  with parameters
-    instance of type _1_T (not function type) 
-  returning 
-    nothing 
-
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-inferRecursive: candidate is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to forall
-    _2_DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type _2_DT (not function type) 
-    pointer to instance of type _2_DT (not function type) 
-  returning 
-    pointer to instance of type _2_DT (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-inferRecursive: candidate is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_U (not function type) 
-    instance of type _0_U (not function type) 
-  returning 
-    instance of type _0_U (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to instance of type _0_U (not function type) 
-    instance of type _0_U (not function type) 
-  returning 
-    instance of type _0_U (not function type) 
-
-success!
-satisfying assertion 12 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with declaration 18 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_U (not function type) 
-    instance of type _0_U (not function type) 
-  returning 
-    instance of type _0_U (not function type) 
-
-actual expression:
-        Variable Expression: f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              nothing 
-
---- results are
-        pointer to forall
-              _1_T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type _1_T (not function type) 
-                        instance of type _1_T (not function type) 
-                      returning 
-                        instance of type _1_T (not function type) 
-
-
-            function
-            with parameters
-              instance of type _1_T (not function type) 
-            returning 
-              nothing 
-
-
-converting pointer to forall
-            _1_T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type _1_T (not function type) 
-                      instance of type _1_T (not function type) 
-                    returning 
-                      instance of type _1_T (not function type) 
-
-
-          function
-          with parameters
-            instance of type _1_T (not function type) 
-          returning 
-            nothing 
-
- to pointer to forall
-            _0_U: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type _0_U (not function type) 
-                      instance of type _0_U (not function type) 
-                    returning 
-                      instance of type _0_U (not function type) 
-
-
-          function
-          with parameters
-            instance of type _0_U (not function type) 
-          returning 
-            nothing 
-
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to instance of type _0_U (not function type) 
-            instance of type _0_U (not function type) 
-          returning 
-            instance of type _0_U (not function type) 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        p: pointer to forall
-              _0_U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type _0_U (not function type) 
-                        instance of type _0_U (not function type) 
-                      returning 
-                        instance of type _0_U (not function type) 
-
-
-            function
-            with parameters
-              instance of type _0_U (not function type) 
-            returning 
-              nothing 
-
-actuals are:
-                  Variable Expression: f: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                nothing 
-
-
-bindings are:
-        ( _1_T ) -> instance of type _0_U (not function type)  (no widening)
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        p: pointer to forall
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type U (not function type) 
-            returning 
-              nothing 
-
-      returning 
-        nothing 
-
-to arguments
-      Variable Expression: f: forall
-          T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type T (not function type) 
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-
-        function
-        with parameters
-          instance of type T (not function type) 
-        returning 
-          nothing 
-
-
-with inferred parameters:
-  ?=?: pointer to function
-    with parameters
-      pointer to instance of type U (not function type) 
-      instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-(types:
-)
-Environment:   ( _1_T ) -> instance of type _0_U (not function type)  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          p: pointer to forall
-                U: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type U (not function type) 
-                          instance of type U (not function type) 
-                        returning 
-                          instance of type U (not function type) 
-
-
-              function
-              with parameters
-                instance of type U (not function type) 
-              returning 
-                nothing 
-
-        returning 
-          nothing 
-
-  to arguments
-          Variable Expression: f: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            nothing 
-
-
-  with inferred parameters:
-    ?=?: pointer to function
-      with parameters
-        pointer to instance of type U (not function type) 
-        instance of type U (not function type) 
-      returning 
-        instance of type U (not function type) 
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _1_T ) -> instance of type _0_U (not function type)  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is h
-decl is h: function
-  with parameters
-    null: pointer to signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: h: function
-    with parameters
-      null: pointer to signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: h: function
-    with parameters
-      null: pointer to signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          null: pointer to signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is id
-decl is id: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: id: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: id: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _0_T (not function type) 
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is id
-decl is id: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: id: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: id: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _1_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _1_T (not function type) 
-                    instance of type _1_T (not function type) 
-                  returning 
-                    instance of type _1_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _1_T (not function type) 
-        returning 
-          instance of type _1_T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is id
-decl is id: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-newExpr is Variable Expression: id: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: id: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _2_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _2_T (not function type) 
-                    instance of type _2_T (not function type) 
-                  returning 
-                    instance of type _2_T (not function type) 
-
-
-        function
-        with parameters
-          instance of type _2_T (not function type) 
-        returning 
-          instance of type _2_T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is 0
-decl is 0: forall
-    T: incomplete type
-  pointer to instance of type T (not function type) 
-newExpr is Variable Expression: 0: forall
-      T: incomplete type
-    pointer to instance of type T (not function type) 
-
-decl is 0: signed int 
-newExpr is Variable Expression: 0: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: forall
-      T: incomplete type
-    pointer to instance of type T (not function type) 
-(types:
-    forall
-          _3_T: incomplete type
-        lvalue pointer to instance of type _3_T (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: 0: forall
-      T: incomplete type
-    pointer to instance of type T (not function type) 
-(types:
-    forall
-          _3_T: incomplete type
-        lvalue pointer to instance of type _3_T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: id: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _2_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _2_T (not function type) 
-                            instance of type _2_T (not function type) 
-                          returning 
-                            instance of type _2_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _2_T (not function type) 
-                returning 
-                  instance of type _2_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _2_T (not function type) 
-actual type is lvalue signed int 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _2_T (not function type) 
-            instance of type _2_T (not function type) 
-          returning 
-            instance of type _2_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_T (not function type) 
-    instance of type _2_T (not function type) 
-  returning 
-    instance of type _2_T (not function type) 
-
-inferRecursive: candidate is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_T (not function type) 
-    instance of type _2_T (not function type) 
-  returning 
-    instance of type _2_T (not function type) 
- with pointer to forall
-    _4_DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type _4_DT (not function type) 
-    pointer to instance of type _4_DT (not function type) 
-  returning 
-    pointer to instance of type _4_DT (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_T (not function type) 
-    instance of type _2_T (not function type) 
-  returning 
-    instance of type _2_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 28 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_T (not function type) 
-    instance of type _2_T (not function type) 
-  returning 
-    instance of type _2_T (not function type) 
- with declaration 4 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-formal type is instance of type _2_T (not function type) 
-actual type is forall
-    _3_T: incomplete type
-  lvalue pointer to instance of type _3_T (not function type) 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _2_T (not function type) 
-            instance of type _2_T (not function type) 
-          returning 
-            instance of type _2_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_T (not function type) 
-    instance of type _2_T (not function type) 
-  returning 
-    instance of type _2_T (not function type) 
-
-inferRecursive: candidate is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_T (not function type) 
-    instance of type _2_T (not function type) 
-  returning 
-    instance of type _2_T (not function type) 
- with pointer to forall
-    _5_DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type _5_DT (not function type) 
-    pointer to instance of type _5_DT (not function type) 
-  returning 
-    pointer to instance of type _5_DT (not function type) 
-
-success!
-satisfying assertion 28 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _2_T (not function type) 
-    instance of type _2_T (not function type) 
-  returning 
-    instance of type _2_T (not function type) 
- with declaration 8 ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _2_T (not function type) 
-    instance of type _2_T (not function type) 
-  returning 
-    instance of type _2_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to instance of type _2_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _2_T (not function type) 
-            instance of type _2_T (not function type) 
-          returning 
-            instance of type _2_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _2_T (not function type) 
-actuals are:
-                  Variable Expression: 0: signed int 
-
-bindings are:
-        ( _2_T ) -> signed int 
-cost of conversion is:( 0, 4, 0 )
-actual expression:
-        Variable Expression: 0: forall
-              T: incomplete type
-            pointer to instance of type T (not function type) 
---- results are
-        forall
-              _3_T: incomplete type
-            lvalue pointer to instance of type _3_T (not function type) 
-
-converting forall
-            _3_T: incomplete type
-          lvalue pointer to instance of type _3_T (not function type) 
- to instance of type _2_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to forall
-            _5_DT: incomplete type
-          function
-          with parameters
-            pointer to pointer to instance of type _5_DT (not function type) 
-            pointer to instance of type _5_DT (not function type) 
-          returning 
-            pointer to instance of type _5_DT (not function type) 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _2_T (not function type) 
-            instance of type _2_T (not function type) 
-          returning 
-            instance of type _2_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _2_T (not function type) 
-actuals are:
-                  Variable Expression: 0: forall
-                T: incomplete type
-              pointer to instance of type T (not function type) 
-
-bindings are:
-        ( _2_T ) -> forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type) 
-        ( _3_T _5_DT ) (no widening)
-cost of conversion is:( 0, 4, 0 )
-alternatives before prune:
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: 0: signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    instance of type _2_T (not function type) 
-)
-Environment:   ( _2_T ) -> signed int 
-
-
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: 0: forall
-          T: incomplete type
-        pointer to instance of type T (not function type) 
-
-with inferred parameters:
-  ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    instance of type _2_T (not function type) 
-)
-Environment:   ( _2_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type) 
-  ( _3_T _5_DT ) (no widening)
-
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: 0: signed int 
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    signed int 
-)
-Environment:   ( _2_T ) -> signed int 
-
-
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Variable Expression: 0: forall
-          T: incomplete type
-        pointer to instance of type T (not function type) 
-
-with inferred parameters:
-  ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    forall
-          _3_T: incomplete type
-        pointer to instance of type _3_T (not function type) 
-)
-Environment:   ( _2_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type) 
-  ( _3_T _5_DT ) (no widening)
-
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: id: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _1_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _1_T (not function type) 
-                            instance of type _1_T (not function type) 
-                          returning 
-                            instance of type _1_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _1_T (not function type) 
-                returning 
-                  instance of type _1_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _1_T (not function type) 
-actual type is signed int 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-inferRecursive: candidate is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to forall
-    _6_DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type _6_DT (not function type) 
-    pointer to instance of type _6_DT (not function type) 
-  returning 
-    pointer to instance of type _6_DT (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 28 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with declaration 4 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-formal type is instance of type _1_T (not function type) 
-actual type is forall
-    _3_T: incomplete type
-  pointer to instance of type _3_T (not function type) 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
-
-inferRecursive: candidate is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to forall
-    _7_DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type _7_DT (not function type) 
-    pointer to instance of type _7_DT (not function type) 
-  returning 
-    pointer to instance of type _7_DT (not function type) 
-
-success!
-satisfying assertion 28 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with declaration 8 ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _1_T (not function type) 
-    instance of type _1_T (not function type) 
-  returning 
-    instance of type _1_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Variable Expression: 0: signed int 
-
-        with inferred parameters:
-          ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
---- results are
-        signed int 
-
-converting signed int 
- to instance of type _1_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _1_T (not function type) 
-actuals are:
-                  Application of
-            Variable Expression: id: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Variable Expression: 0: signed int 
-
-          with inferred parameters:
-            ?=?: function
-              with parameters
-                pointer to signed int 
-                signed int 
-              returning 
-                signed int 
-
-
-bindings are:
-        ( _2_T ) -> signed int  (no widening)
-        ( _1_T ) -> signed int 
-cost of conversion is:( 0, 4, 0 )
-actual expression:
-        Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Variable Expression: 0: forall
-                  T: incomplete type
-                pointer to instance of type T (not function type) 
-
-        with inferred parameters:
-          ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
---- results are
-        forall
-              _3_T: incomplete type
-            pointer to instance of type _3_T (not function type) 
-
-converting forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type) 
- to instance of type _1_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to forall
-            _7_DT: incomplete type
-          function
-          with parameters
-            pointer to pointer to instance of type _7_DT (not function type) 
-            pointer to instance of type _7_DT (not function type) 
-          returning 
-            pointer to instance of type _7_DT (not function type) 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _1_T (not function type) 
-            instance of type _1_T (not function type) 
-          returning 
-            instance of type _1_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _1_T (not function type) 
-actuals are:
-                  Application of
-            Variable Expression: id: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Variable Expression: 0: forall
-                    T: incomplete type
-                  pointer to instance of type T (not function type) 
-
-          with inferred parameters:
-            ?=?: forall
-                DT: incomplete type
-              function
-              with parameters
-                pointer to pointer to instance of type DT (not function type) 
-                pointer to instance of type DT (not function type) 
-              returning 
-                pointer to instance of type DT (not function type) 
-
-
-bindings are:
-        ( _2_T ) -> forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type)  (no widening)
-        ( _1_T ) -> forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type) 
-        ( _3_T _5_DT _7_DT ) (no widening)
-cost of conversion is:( 0, 4, 0 )
-alternatives before prune:
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Application of
-      Variable Expression: id: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Variable Expression: 0: signed int 
-
-    with inferred parameters:
-      ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    instance of type _1_T (not function type) 
-)
-Environment:   ( _2_T ) -> signed int  (no widening)
-  ( _1_T ) -> signed int 
-
-
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Application of
-      Variable Expression: id: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Variable Expression: 0: forall
-              T: incomplete type
-            pointer to instance of type T (not function type) 
-
-    with inferred parameters:
-      ?=?: forall
-          DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type DT (not function type) 
-          pointer to instance of type DT (not function type) 
-        returning 
-          pointer to instance of type DT (not function type) 
-
-
-with inferred parameters:
-  ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    instance of type _1_T (not function type) 
-)
-Environment:   ( _2_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _1_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type) 
-  ( _3_T _5_DT _7_DT ) (no widening)
-
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Application of
-      Variable Expression: id: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Variable Expression: 0: signed int 
-
-    with inferred parameters:
-      ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    signed int 
-)
-Environment:   ( _2_T ) -> signed int  (no widening)
-  ( _1_T ) -> signed int 
-
-
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Application of
-      Variable Expression: id: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Variable Expression: 0: forall
-              T: incomplete type
-            pointer to instance of type T (not function type) 
-
-    with inferred parameters:
-      ?=?: forall
-          DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type DT (not function type) 
-          pointer to instance of type DT (not function type) 
-        returning 
-          pointer to instance of type DT (not function type) 
-
-
-with inferred parameters:
-  ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    forall
-          _3_T: incomplete type
-        pointer to instance of type _3_T (not function type) 
-)
-Environment:   ( _2_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _1_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type) 
-  ( _3_T _5_DT _7_DT ) (no widening)
-
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: id: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type _0_T (not function type) 
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type _0_T (not function type) 
-actual type is signed int 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to forall
-    _8_DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type _8_DT (not function type) 
-    pointer to instance of type _8_DT (not function type) 
-  returning 
-    pointer to instance of type _8_DT (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-success!
-satisfying assertion 28 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 4 ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-formal type is instance of type _0_T (not function type) 
-actual type is forall
-    _3_T: incomplete type
-  pointer to instance of type _3_T (not function type) 
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to forall
-    _9_DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type _9_DT (not function type) 
-    pointer to instance of type _9_DT (not function type) 
-  returning 
-    pointer to instance of type _9_DT (not function type) 
-
-success!
-satisfying assertion 28 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 8 ?=?: forall
-    DT: incomplete type
-  function
-  with parameters
-    pointer to pointer to instance of type DT (not function type) 
-    pointer to instance of type DT (not function type) 
-  returning 
-    pointer to instance of type DT (not function type) 
-
-inferRecursive: candidate is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-actual expression:
-        Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Application of
-              Variable Expression: id: forall
-                    T: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type T (not function type) 
-                              instance of type T (not function type) 
-                            returning 
-                              instance of type T (not function type) 
-
-
-                  function
-                  with parameters
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-            to arguments
-                              Variable Expression: 0: signed int 
-
-            with inferred parameters:
-              ?=?: function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-
-        with inferred parameters:
-          ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
---- results are
-        signed int 
-
-converting signed int 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to signed int 
-            signed int 
-          returning 
-            signed int 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Application of
-            Variable Expression: id: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Application of
-                Variable Expression: id: forall
-                      T: type
-                        with assertions
-                          ?=?: pointer to function
-                              with parameters
-                                pointer to instance of type T (not function type) 
-                                instance of type T (not function type) 
-                              returning 
-                                instance of type T (not function type) 
-
-
-                    function
-                    with parameters
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-              to arguments
-                                  Variable Expression: 0: signed int 
-
-              with inferred parameters:
-                ?=?: function
-                  with parameters
-                    pointer to signed int 
-                    signed int 
-                  returning 
-                    signed int 
-
-
-          with inferred parameters:
-            ?=?: function
-              with parameters
-                pointer to signed int 
-                signed int 
-              returning 
-                signed int 
-
-
-bindings are:
-        ( _2_T ) -> signed int  (no widening)
-        ( _1_T ) -> signed int  (no widening)
-        ( _0_T ) -> signed int 
-cost of conversion is:( 0, 4, 0 )
-actual expression:
-        Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Application of
-              Variable Expression: id: forall
-                    T: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type T (not function type) 
-                              instance of type T (not function type) 
-                            returning 
-                              instance of type T (not function type) 
-
-
-                  function
-                  with parameters
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-            to arguments
-                              Variable Expression: 0: forall
-                      T: incomplete type
-                    pointer to instance of type T (not function type) 
-
-            with inferred parameters:
-              ?=?: forall
-                  DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type DT (not function type) 
-                  pointer to instance of type DT (not function type) 
-                returning 
-                  pointer to instance of type DT (not function type) 
-
-
-        with inferred parameters:
-          ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
---- results are
-        forall
-              _3_T: incomplete type
-            pointer to instance of type _3_T (not function type) 
-
-converting forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type) 
- to instance of type _0_T (not function type) 
-cost is( 0, 0, 0 )
-
-converting pointer to forall
-            _9_DT: incomplete type
-          function
-          with parameters
-            pointer to pointer to instance of type _9_DT (not function type) 
-            pointer to instance of type _9_DT (not function type) 
-          returning 
-            pointer to instance of type _9_DT (not function type) 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type _0_T (not function type) 
-actuals are:
-                  Application of
-            Variable Expression: id: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Application of
-                Variable Expression: id: forall
-                      T: type
-                        with assertions
-                          ?=?: pointer to function
-                              with parameters
-                                pointer to instance of type T (not function type) 
-                                instance of type T (not function type) 
-                              returning 
-                                instance of type T (not function type) 
-
-
-                    function
-                    with parameters
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-              to arguments
-                                  Variable Expression: 0: forall
-                        T: incomplete type
-                      pointer to instance of type T (not function type) 
-
-              with inferred parameters:
-                ?=?: forall
-                    DT: incomplete type
-                  function
-                  with parameters
-                    pointer to pointer to instance of type DT (not function type) 
-                    pointer to instance of type DT (not function type) 
-                  returning 
-                    pointer to instance of type DT (not function type) 
-
-
-          with inferred parameters:
-            ?=?: forall
-                DT: incomplete type
-              function
-              with parameters
-                pointer to pointer to instance of type DT (not function type) 
-                pointer to instance of type DT (not function type) 
-              returning 
-                pointer to instance of type DT (not function type) 
-
-
-bindings are:
-        ( _2_T ) -> forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type)  (no widening)
-        ( _1_T ) -> forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type)  (no widening)
-        ( _0_T ) -> forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type) 
-        ( _3_T _5_DT _7_DT _9_DT ) (no widening)
-cost of conversion is:( 0, 4, 0 )
-alternatives before prune:
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Application of
-      Variable Expression: id: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Variable Expression: 0: signed int 
-
-        with inferred parameters:
-          ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-
-    with inferred parameters:
-      ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _2_T ) -> signed int  (no widening)
-  ( _1_T ) -> signed int  (no widening)
-  ( _0_T ) -> signed int 
-
-
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Application of
-      Variable Expression: id: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Variable Expression: 0: forall
-                  T: incomplete type
-                pointer to instance of type T (not function type) 
-
-        with inferred parameters:
-          ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-
-    with inferred parameters:
-      ?=?: forall
-          DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type DT (not function type) 
-          pointer to instance of type DT (not function type) 
-        returning 
-          pointer to instance of type DT (not function type) 
-
-
-with inferred parameters:
-  ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _2_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _1_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _0_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type) 
-  ( _3_T _5_DT _7_DT _9_DT ) (no widening)
-
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Application of
-      Variable Expression: id: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Variable Expression: 0: signed int 
-
-        with inferred parameters:
-          ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-
-    with inferred parameters:
-      ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    signed int 
-)
-Environment:   ( _2_T ) -> signed int  (no widening)
-  ( _1_T ) -> signed int  (no widening)
-  ( _0_T ) -> signed int 
-
-
-Cost ( 0, 4, 0 ): Application of
-  Variable Expression: id: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        instance of type T (not function type) 
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Application of
-      Variable Expression: id: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Variable Expression: 0: forall
-                  T: incomplete type
-                pointer to instance of type T (not function type) 
-
-        with inferred parameters:
-          ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-
-    with inferred parameters:
-      ?=?: forall
-          DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type DT (not function type) 
-          pointer to instance of type DT (not function type) 
-        returning 
-          pointer to instance of type DT (not function type) 
-
-
-with inferred parameters:
-  ?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-(types:
-    forall
-          _3_T: incomplete type
-        pointer to instance of type _3_T (not function type) 
-)
-Environment:   ( _2_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _1_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _0_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type) 
-  ( _3_T _5_DT _7_DT _9_DT ) (no widening)
-
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: h: function
-            with parameters
-              null: pointer to signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  null: pointer to signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is signed int 
-formal type is pointer to signed int 
-actual type is forall
-    _3_T: incomplete type
-  pointer to instance of type _3_T (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-T
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Application of
-              Variable Expression: id: forall
-                    T: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type T (not function type) 
-                              instance of type T (not function type) 
-                            returning 
-                              instance of type T (not function type) 
-
-
-                  function
-                  with parameters
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-            to arguments
-                              Application of
-                  Variable Expression: id: forall
-                        T: type
-                          with assertions
-                            ?=?: pointer to function
-                                with parameters
-                                  pointer to instance of type T (not function type) 
-                                  instance of type T (not function type) 
-                                returning 
-                                  instance of type T (not function type) 
-
-
-                      function
-                      with parameters
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-                to arguments
-                                      Variable Expression: 0: forall
-                          T: incomplete type
-                        pointer to instance of type T (not function type) 
-
-                with inferred parameters:
-                  ?=?: forall
-                      DT: incomplete type
-                    function
-                    with parameters
-                      pointer to pointer to instance of type DT (not function type) 
-                      pointer to instance of type DT (not function type) 
-                    returning 
-                      pointer to instance of type DT (not function type) 
-
-
-            with inferred parameters:
-              ?=?: forall
-                  DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type DT (not function type) 
-                  pointer to instance of type DT (not function type) 
-                returning 
-                  pointer to instance of type DT (not function type) 
-
-
-        with inferred parameters:
-          ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
---- results are
-        forall
-              _3_T: incomplete type
-            pointer to instance of type _3_T (not function type) 
-
-converting forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type) 
- to pointer to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        null: pointer to signed int 
-actuals are:
-                  Application of
-            Variable Expression: id: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Application of
-                Variable Expression: id: forall
-                      T: type
-                        with assertions
-                          ?=?: pointer to function
-                              with parameters
-                                pointer to instance of type T (not function type) 
-                                instance of type T (not function type) 
-                              returning 
-                                instance of type T (not function type) 
-
-
-                    function
-                    with parameters
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-              to arguments
-                                  Application of
-                    Variable Expression: id: forall
-                          T: type
-                            with assertions
-                              ?=?: pointer to function
-                                  with parameters
-                                    pointer to instance of type T (not function type) 
-                                    instance of type T (not function type) 
-                                  returning 
-                                    instance of type T (not function type) 
-
-
-                        function
-                        with parameters
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-                  to arguments
-                                          Variable Expression: 0: forall
-                            T: incomplete type
-                          pointer to instance of type T (not function type) 
-
-                  with inferred parameters:
-                    ?=?: forall
-                        DT: incomplete type
-                      function
-                      with parameters
-                        pointer to pointer to instance of type DT (not function type) 
-                        pointer to instance of type DT (not function type) 
-                      returning 
-                        pointer to instance of type DT (not function type) 
-
-
-              with inferred parameters:
-                ?=?: forall
-                    DT: incomplete type
-                  function
-                  with parameters
-                    pointer to pointer to instance of type DT (not function type) 
-                    pointer to instance of type DT (not function type) 
-                  returning 
-                    pointer to instance of type DT (not function type) 
-
-
-          with inferred parameters:
-            ?=?: forall
-                DT: incomplete type
-              function
-              with parameters
-                pointer to pointer to instance of type DT (not function type) 
-                pointer to instance of type DT (not function type) 
-              returning 
-                pointer to instance of type DT (not function type) 
-
-
-bindings are:
-        ( _2_T ) -> forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type)  (no widening)
-        ( _1_T ) -> forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type)  (no widening)
-        ( _0_T ) -> forall
-            _3_T: incomplete type
-          pointer to instance of type _3_T (not function type)  (no widening)
-        ( _3_T _5_DT _7_DT _9_DT ) -> signed int  (no widening)
-cost of conversion is:( 0, 1, 0 )
-alternatives before prune:
-Cost ( 0, 1, 0 ): Application of
-  Variable Expression: h: function
-      with parameters
-        null: pointer to signed int 
-      returning 
-        nothing 
-
-to arguments
-      Application of
-      Variable Expression: id: forall
-            T: type
-              with assertions
-                ?=?: pointer to function
-                    with parameters
-                      pointer to instance of type T (not function type) 
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-
-          function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-    to arguments
-              Application of
-          Variable Expression: id: forall
-                T: type
-                  with assertions
-                    ?=?: pointer to function
-                        with parameters
-                          pointer to instance of type T (not function type) 
-                          instance of type T (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-
-              function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-        to arguments
-                      Application of
-              Variable Expression: id: forall
-                    T: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type T (not function type) 
-                              instance of type T (not function type) 
-                            returning 
-                              instance of type T (not function type) 
-
-
-                  function
-                  with parameters
-                    instance of type T (not function type) 
-                  returning 
-                    instance of type T (not function type) 
-
-            to arguments
-                              Variable Expression: 0: forall
-                      T: incomplete type
-                    pointer to instance of type T (not function type) 
-
-            with inferred parameters:
-              ?=?: forall
-                  DT: incomplete type
-                function
-                with parameters
-                  pointer to pointer to instance of type DT (not function type) 
-                  pointer to instance of type DT (not function type) 
-                returning 
-                  pointer to instance of type DT (not function type) 
-
-
-        with inferred parameters:
-          ?=?: forall
-              DT: incomplete type
-            function
-            with parameters
-              pointer to pointer to instance of type DT (not function type) 
-              pointer to instance of type DT (not function type) 
-            returning 
-              pointer to instance of type DT (not function type) 
-
-
-    with inferred parameters:
-      ?=?: forall
-          DT: incomplete type
-        function
-        with parameters
-          pointer to pointer to instance of type DT (not function type) 
-          pointer to instance of type DT (not function type) 
-        returning 
-          pointer to instance of type DT (not function type) 
-
-
-(types:
-)
-Environment:   ( _2_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _1_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _0_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _3_T _5_DT _7_DT _9_DT ) -> signed int  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: h: function
-        with parameters
-          null: pointer to signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Application of
-        Variable Expression: id: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-      to arguments
-                  Application of
-            Variable Expression: id: forall
-                  T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type T (not function type) 
-                            instance of type T (not function type) 
-                          returning 
-                            instance of type T (not function type) 
-
-
-                function
-                with parameters
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-          to arguments
-                          Application of
-                Variable Expression: id: forall
-                      T: type
-                        with assertions
-                          ?=?: pointer to function
-                              with parameters
-                                pointer to instance of type T (not function type) 
-                                instance of type T (not function type) 
-                              returning 
-                                instance of type T (not function type) 
-
-
-                    function
-                    with parameters
-                      instance of type T (not function type) 
-                    returning 
-                      instance of type T (not function type) 
-
-              to arguments
-                                  Variable Expression: 0: forall
-                        T: incomplete type
-                      pointer to instance of type T (not function type) 
-
-              with inferred parameters:
-                ?=?: forall
-                    DT: incomplete type
-                  function
-                  with parameters
-                    pointer to pointer to instance of type DT (not function type) 
-                    pointer to instance of type DT (not function type) 
-                  returning 
-                    pointer to instance of type DT (not function type) 
-
-
-          with inferred parameters:
-            ?=?: forall
-                DT: incomplete type
-              function
-              with parameters
-                pointer to pointer to instance of type DT (not function type) 
-                pointer to instance of type DT (not function type) 
-              returning 
-                pointer to instance of type DT (not function type) 
-
-
-      with inferred parameters:
-        ?=?: forall
-            DT: incomplete type
-          function
-          with parameters
-            pointer to pointer to instance of type DT (not function type) 
-            pointer to instance of type DT (not function type) 
-          returning 
-            pointer to instance of type DT (not function type) 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment:   ( _2_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _1_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _0_T ) -> forall
-      _3_T: incomplete type
-    pointer to instance of type _3_T (not function type)  (no widening)
-  ( _3_T _5_DT _7_DT _9_DT ) -> signed int  (no widening)
-
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int ___operator_assign__Fi_Pii_(int *, int );
-void *___operator_assign__A0_1_0__FPd0_PPd0Pd0_(void **, void *);
-void __a__F__(){
-    void __f__A1_0_0____operator_assign__PFt0_Pt0t0__F_t0_(void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void *);
-    void __g__F_PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0__(void (*__p__PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0_)(void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), long unsigned int U, void (*___operator_assign__PF2tU_P2tU2tU_)(), void *));
-    __g__F_PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0__(__f__A1_0_0____operator_assign__PFt0_Pt0t0__F_t0_);
-}
-void __g__F__(){
-    void __h__F_Pi_(int *__null__Pi);
-    void __id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void *, void *);
-    void *___constant_zero__A0_1_0__Pd0;
-    int ___constant_zero__i;
-    void *_thunk0(void **_p0, void *_p1){
-        return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
-    }
-    void *_thunk1(void **_p0, void *_p1){
-        return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
-    }
-    void *_thunk2(void **_p0, void *_p1){
-        return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
-    }
-    void *_temp0;
-    void _adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
-        ((*((_3_T **)_ret))=((void *(*)(void **, void *))_adaptee)(_p0, (*((_3_T **)_p1))));
-    }
-    void *_temp1;
-    void *_temp2;
-    __h__F_Pi_((__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk2)), (&_temp2), (&(__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk1)), (&_temp1), (&(__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk0)), (&_temp0), (&___constant_zero__A0_1_0__Pd0)) , _temp0))) , _temp1))) , _temp2));
-}
Index: src/Tests/Expect-r/Scope.txt
===================================================================
--- src/Tests/Expect-r/Scope.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,3706 +1,0 @@
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    a: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  a: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: double 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    b: double 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    b: double 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to double 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: double 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: double 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue double 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to double 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-(types:
-    instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type u (not function type) 
-    _src: instance of type u (not function type) 
-  returning 
-    instance of type u (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type u (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type u (not function type) 
-          _src: instance of type u (not function type) 
-        returning 
-          instance of type u (not function type) 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type u (not function type) 
-(types:
-    lvalue pointer to instance of type u (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is y
-decl is y: double 
-newExpr is Variable Expression: y: double 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type u (not function type) 
-    _src: instance of type u (not function type) 
-  returning 
-    instance of type u (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type u (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type x (not function type) 
-    _src: instance of type x (not function type) 
-  returning 
-    instance of type x (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type u (not function type) 
-          _src: instance of type u (not function type) 
-        returning 
-          instance of type u (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type x (not function type) 
-          _src: instance of type x (not function type) 
-        returning 
-          instance of type x (not function type) 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-nameExpr is u
-nameExpr is t
-decl is t: function
-  with parameters
-    instance of type u (not function type) 
-  returning 
-    instance of type x (not function type) 
-
-newExpr is Variable Expression: t: function
-    with parameters
-      instance of type u (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t: function
-    with parameters
-      instance of type u (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          instance of type u (not function type) 
-        returning 
-          instance of type x (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is u
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type u (not function type) 
-    _src: instance of type u (not function type) 
-  returning 
-    instance of type u (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type u (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type x (not function type) 
-    _src: instance of type x (not function type) 
-  returning 
-    instance of type x (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type u (not function type) 
-          _src: instance of type u (not function type) 
-        returning 
-          instance of type u (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type x (not function type) 
-          _src: instance of type x (not function type) 
-        returning 
-          instance of type x (not function type) 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-nameExpr is z
-decl is z: double 
-newExpr is Variable Expression: z: double 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: z: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: z: double 
-(types:
-    pointer to double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: z: double 
-(types:
-    pointer to double 
-)
-Environment: 
-
-nameExpr is t
-decl is t: function
-  with parameters
-    instance of type u (not function type) 
-  returning 
-    instance of type x (not function type) 
-
-newExpr is Variable Expression: t: function
-    with parameters
-      instance of type u (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t: function
-    with parameters
-      instance of type u (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          instance of type u (not function type) 
-        returning 
-          instance of type x (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is u
-nameExpr is u
-decl is u: pointer to function
-  with parameters
-    instance of type t (not function type) 
-  returning 
-    instance of type t (not function type) 
-
-newExpr is Variable Expression: u: pointer to function
-    with parameters
-      instance of type t (not function type) 
-    returning 
-      instance of type t (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: u: pointer to function
-    with parameters
-      instance of type t (not function type) 
-    returning 
-      instance of type t (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          instance of type t (not function type) 
-        returning 
-          instance of type t (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is the_t
-decl is the_t: instance of type t (not function type) 
-newExpr is Variable Expression: the_t: instance of type t (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: the_t: instance of type t (not function type) 
-(types:
-    lvalue instance of type t (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: the_t: instance of type t (not function type) 
-(types:
-    lvalue instance of type t (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: u: pointer to function
-            with parameters
-              instance of type t (not function type) 
-            returning 
-              instance of type t (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-)
-        Environment: 
-formal type is instance of type t (not function type) 
-actual type is lvalue instance of type t (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: the_t: instance of type t (not function type) 
---- results are
-        lvalue instance of type t (not function type) 
-
-converting lvalue instance of type t (not function type) 
- to instance of type t (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type t (not function type) 
-actuals are:
-                  Variable Expression: the_t: instance of type t (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: u: pointer to function
-      with parameters
-        instance of type t (not function type) 
-      returning 
-        instance of type t (not function type) 
-
-to arguments
-      Variable Expression: the_t: instance of type t (not function type) 
-
-(types:
-    instance of type t (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: u: pointer to function
-        with parameters
-          instance of type t (not function type) 
-        returning 
-          instance of type t (not function type) 
-
-  to arguments
-          Variable Expression: the_t: instance of type t (not function type) 
-
-
-to:
-  instance of type t (not function type) 
-(types:
-    instance of type t (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type u (not function type) 
-    _src: instance of type u (not function type) 
-  returning 
-    instance of type u (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type u (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type x (not function type) 
-    _src: instance of type x (not function type) 
-  returning 
-    instance of type x (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-
-decl is ?=?: pointer to function
-  with parameters
-    pointer to instance of type t (not function type) 
-    instance of type t (not function type) 
-  returning 
-    instance of type t (not function type) 
-
-newExpr is Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type t (not function type) 
-      instance of type t (not function type) 
-    returning 
-      instance of type t (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type u (not function type) 
-          _src: instance of type u (not function type) 
-        returning 
-          instance of type u (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type x (not function type) 
-          _src: instance of type x (not function type) 
-        returning 
-          instance of type x (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
-    with parameters
-      pointer to instance of type t (not function type) 
-      instance of type t (not function type) 
-    returning 
-      instance of type t (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          pointer to instance of type t (not function type) 
-          instance of type t (not function type) 
-        returning 
-          instance of type t (not function type) 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-nameExpr is y
-decl is y: instance of type t (not function type) with initializer 
-Simple Initializer:   Cast of:
-    Application of
-      Variable Expression: u: pointer to function
-          with parameters
-            instance of type t (not function type) 
-          returning 
-            instance of type t (not function type) 
-
-    to arguments
-              Variable Expression: the_t: instance of type t (not function type) 
-
-
-  to:
-    instance of type t (not function type) 
-  with environment:
-    Types:
-    Non-types:
-
-newExpr is Variable Expression: y: instance of type t (not function type) 
-
-decl is y: double 
-newExpr is Variable Expression: y: double 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: instance of type t (not function type) 
-(types:
-    lvalue instance of type t (not function type) 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: y: double 
-(types:
-    pointer to double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: y: instance of type t (not function type) 
-(types:
-    pointer to instance of type t (not function type) 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: y: double 
-(types:
-    pointer to double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: y: instance of type t (not function type) 
-(types:
-    pointer to instance of type t (not function type) 
-)
-Environment: 
-
-nameExpr is u
-decl is u: pointer to function
-  with parameters
-    instance of type t (not function type) 
-  returning 
-    instance of type t (not function type) 
-
-newExpr is Variable Expression: u: pointer to function
-    with parameters
-      instance of type t (not function type) 
-    returning 
-      instance of type t (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: u: pointer to function
-    with parameters
-      instance of type t (not function type) 
-    returning 
-      instance of type t (not function type) 
-
-(types:
-    lvalue pointer to function
-        with parameters
-          instance of type t (not function type) 
-        returning 
-          instance of type t (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is the_t
-decl is the_t: instance of type t (not function type) 
-newExpr is Variable Expression: the_t: instance of type t (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: the_t: instance of type t (not function type) 
-(types:
-    lvalue instance of type t (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: the_t: instance of type t (not function type) 
-(types:
-    lvalue instance of type t (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: u: pointer to function
-            with parameters
-              instance of type t (not function type) 
-            returning 
-              instance of type t (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-)
-        Environment: 
-formal type is instance of type t (not function type) 
-actual type is lvalue instance of type t (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: the_t: instance of type t (not function type) 
---- results are
-        lvalue instance of type t (not function type) 
-
-converting lvalue instance of type t (not function type) 
- to instance of type t (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        instance of type t (not function type) 
-actuals are:
-                  Variable Expression: the_t: instance of type t (not function type) 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: u: pointer to function
-      with parameters
-        instance of type t (not function type) 
-      returning 
-        instance of type t (not function type) 
-
-to arguments
-      Variable Expression: the_t: instance of type t (not function type) 
-
-(types:
-    instance of type t (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: u: pointer to function
-      with parameters
-        instance of type t (not function type) 
-      returning 
-        instance of type t (not function type) 
-
-to arguments
-      Variable Expression: the_t: instance of type t (not function type) 
-
-(types:
-    instance of type t (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type x (not function type) 
-              _src: instance of type x (not function type) 
-            returning 
-              instance of type x (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type x (not function type) 
-                  _src: instance of type x (not function type) 
-                returning 
-                  instance of type x (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to instance of type t (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type u (not function type) 
-              _src: instance of type u (not function type) 
-            returning 
-              instance of type u (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type u (not function type) 
-                  _src: instance of type u (not function type) 
-                returning 
-                  instance of type u (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to instance of type t (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to double 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type t (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
-            with parameters
-              pointer to instance of type t (not function type) 
-              instance of type t (not function type) 
-            returning 
-              instance of type t (not function type) 
-
-(types:
-            lvalue pointer to function
-                with parameters
-                  pointer to instance of type t (not function type) 
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type t (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type t (not function type) 
-actual type is pointer to instance of type t (not function type) 
-formal type is instance of type t (not function type) 
-actual type is instance of type t (not function type) 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Address of:
-          Variable Expression: y: instance of type t (not function type) 
---- results are
-        pointer to instance of type t (not function type) 
-
-converting pointer to instance of type t (not function type) 
- to pointer to instance of type t (not function type) 
-cost is( 0, 0, 0 )
-actual expression:
-        Application of
-          Variable Expression: u: pointer to function
-              with parameters
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-        to arguments
-                      Variable Expression: the_t: instance of type t (not function type) 
-
---- results are
-        instance of type t (not function type) 
-
-converting instance of type t (not function type) 
- to instance of type t (not function type) 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to instance of type t (not function type) 
-        instance of type t (not function type) 
-actuals are:
-                  Address of:
-            Variable Expression: y: instance of type t (not function type) 
-
-                  Application of
-            Variable Expression: u: pointer to function
-                with parameters
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-          to arguments
-                          Variable Expression: the_t: instance of type t (not function type) 
-
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: pointer to function
-      with parameters
-        pointer to instance of type t (not function type) 
-        instance of type t (not function type) 
-      returning 
-        instance of type t (not function type) 
-
-to arguments
-      Address of:
-      Variable Expression: y: instance of type t (not function type) 
-
-      Application of
-      Variable Expression: u: pointer to function
-          with parameters
-            instance of type t (not function type) 
-          returning 
-            instance of type t (not function type) 
-
-    to arguments
-              Variable Expression: the_t: instance of type t (not function type) 
-
-
-(types:
-    instance of type t (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: pointer to function
-        with parameters
-          pointer to instance of type t (not function type) 
-          instance of type t (not function type) 
-        returning 
-          instance of type t (not function type) 
-
-  to arguments
-          Address of:
-        Variable Expression: y: instance of type t (not function type) 
-
-          Application of
-        Variable Expression: u: pointer to function
-            with parameters
-              instance of type t (not function type) 
-            returning 
-              instance of type t (not function type) 
-
-      to arguments
-                  Variable Expression: the_t: instance of type t (not function type) 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is x
-decl is x: char 
-newExpr is Variable Expression: x: char 
-
-decl is x: signed int 
-newExpr is Variable Expression: x: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: x: char 
-
-to:
-  char 
-(types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type u (not function type) 
-    _src: instance of type u (not function type) 
-  returning 
-    instance of type u (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type u (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type x (not function type) 
-    _src: instance of type x (not function type) 
-  returning 
-    instance of type x (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type u (not function type) 
-          _src: instance of type u (not function type) 
-        returning 
-          instance of type u (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type x (not function type) 
-          _src: instance of type x (not function type) 
-        returning 
-          instance of type x (not function type) 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-nameExpr is z
-decl is z: char with initializer 
-Simple Initializer:   Cast of:
-    Variable Expression: x: char 
-
-  to:
-    char 
-  with environment:
-    Types:
-    Non-types:
-
-newExpr is Variable Expression: z: char 
-
-decl is z: double 
-newExpr is Variable Expression: z: double 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: z: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: z: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: z: double 
-(types:
-    pointer to double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: z: char 
-(types:
-    pointer to char 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: z: double 
-(types:
-    pointer to double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: z: char 
-(types:
-    pointer to char 
-)
-Environment: 
-
-nameExpr is x
-decl is x: char 
-newExpr is Variable Expression: x: char 
-
-decl is x: signed int 
-newExpr is Variable Expression: x: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type x (not function type) 
-              _src: instance of type x (not function type) 
-            returning 
-              instance of type x (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type x (not function type) 
-                  _src: instance of type x (not function type) 
-                returning 
-                  instance of type x (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type u (not function type) 
-              _src: instance of type u (not function type) 
-            returning 
-              instance of type u (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type u (not function type) 
-                  _src: instance of type u (not function type) 
-                returning 
-                  instance of type u (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to double 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to char 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to double 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to char 
-nameExpr is y
-decl is y: char 
-newExpr is Variable Expression: y: char 
-
-decl is y: double 
-newExpr is Variable Expression: y: double 
-
-decl is y: signed int 
-newExpr is Variable Expression: y: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: y: char 
-
-to:
-  char 
-(types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type u (not function type) 
-    _src: instance of type u (not function type) 
-  returning 
-    instance of type u (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type u (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type x (not function type) 
-    _src: instance of type x (not function type) 
-  returning 
-    instance of type x (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type u (not function type) 
-          _src: instance of type u (not function type) 
-        returning 
-          instance of type u (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type x (not function type) 
-          _src: instance of type x (not function type) 
-        returning 
-          instance of type x (not function type) 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-nameExpr is x
-decl is x: char 
-newExpr is Variable Expression: x: char 
-
-decl is x: signed int 
-newExpr is Variable Expression: x: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: x: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: x: char 
-(types:
-    pointer to char 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: x: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: x: char 
-(types:
-    pointer to char 
-)
-Environment: 
-
-nameExpr is y
-decl is y: char 
-newExpr is Variable Expression: y: char 
-
-decl is y: double 
-newExpr is Variable Expression: y: double 
-
-decl is y: signed int 
-newExpr is Variable Expression: y: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type x (not function type) 
-              _src: instance of type x (not function type) 
-            returning 
-              instance of type x (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type x (not function type) 
-                  _src: instance of type x (not function type) 
-                returning 
-                  instance of type x (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type u (not function type) 
-              _src: instance of type u (not function type) 
-            returning 
-              instance of type u (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type u (not function type) 
-                  _src: instance of type u (not function type) 
-                returning 
-                  instance of type u (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to signed int 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to char 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to char 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to char 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to char 
-nameExpr is y
-decl is y: char 
-newExpr is Variable Expression: y: char 
-
-decl is y: double 
-newExpr is Variable Expression: y: double 
-
-decl is y: signed int 
-newExpr is Variable Expression: y: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: y: char 
-
-to:
-  char 
-(types:
-    char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                a: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type u (not function type) 
-    _src: instance of type u (not function type) 
-  returning 
-    instance of type u (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type u (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type x (not function type) 
-    _src: instance of type x (not function type) 
-  returning 
-    instance of type x (not function type) 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type u (not function type) 
-          _src: instance of type u (not function type) 
-        returning 
-          instance of type u (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type x (not function type) 
-      _src: instance of type x (not function type) 
-    returning 
-      instance of type x (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type x (not function type) 
-          _src: instance of type x (not function type) 
-        returning 
-          instance of type x (not function type) 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-nameExpr is q
-decl is q: forall
-    t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type t (not function type) 
-              instance of type t (not function type) 
-            returning 
-              instance of type t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type t (not function type) 
-            returning 
-              instance of type t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type t (not function type) 
-  returning 
-    double 
-  with body 
-    CompoundStmt
-      Declaration of y: instance of type t (not function type) with initializer 
-        Simple Initializer:           Cast of:
-            Application of
-              Variable Expression: u: pointer to function
-                  with parameters
-                    instance of type t (not function type) 
-                  returning 
-                    instance of type t (not function type) 
-
-            to arguments
-                              Variable Expression: the_t: instance of type t (not function type) 
-
-
-          to:
-            instance of type t (not function type) 
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: pointer to function
-                with parameters
-                  pointer to instance of type t (not function type) 
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-          to arguments
-                          Address of:
-                Variable Expression: y: instance of type t (not function type) 
-
-                          Application of
-                Variable Expression: u: pointer to function
-                    with parameters
-                      instance of type t (not function type) 
-                    returning 
-                      instance of type t (not function type) 
-
-              to arguments
-                                  Variable Expression: the_t: instance of type t (not function type) 
-
-
-          with environment:
-            Types:
-            Non-types:
-
-
-newExpr is Variable Expression: q: forall
-      t: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type t (not function type) 
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-          u: pointer to function
-              with parameters
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-
-    function
-    with parameters
-      the_t: instance of type t (not function type) 
-    returning 
-      double 
-
-
-decl is q: char with initializer 
-Simple Initializer:   Cast of:
-    Variable Expression: y: char 
-
-  to:
-    char 
-  with environment:
-    Types:
-    Non-types:
-
-newExpr is Variable Expression: q: char 
-
-decl is q: double 
-newExpr is Variable Expression: q: double 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: q: forall
-      t: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type t (not function type) 
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-          u: pointer to function
-              with parameters
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-
-    function
-    with parameters
-      the_t: instance of type t (not function type) 
-    returning 
-      double 
-
-(types:
-    forall
-          _0_t: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_t (not function type) 
-                    instance of type _0_t (not function type) 
-                  returning 
-                    instance of type _0_t (not function type) 
-
-              u: pointer to function
-                  with parameters
-                    instance of type _0_t (not function type) 
-                  returning 
-                    instance of type _0_t (not function type) 
-
-
-        lvalue function
-        with parameters
-          the_t: instance of type _0_t (not function type) 
-        returning 
-          double 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: q: double 
-(types:
-    pointer to double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: q: char 
-(types:
-    pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: q: forall
-        t: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type t (not function type) 
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-            u: pointer to function
-                with parameters
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-
-      function
-      with parameters
-        the_t: instance of type t (not function type) 
-      returning 
-        double 
-
-(types:
-    pointer to forall
-          _0_t: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_t (not function type) 
-                    instance of type _0_t (not function type) 
-                  returning 
-                    instance of type _0_t (not function type) 
-
-              u: pointer to function
-                  with parameters
-                    instance of type _0_t (not function type) 
-                  returning 
-                    instance of type _0_t (not function type) 
-
-
-        function
-        with parameters
-          the_t: instance of type _0_t (not function type) 
-        returning 
-          double 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: q: double 
-(types:
-    pointer to double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: q: char 
-(types:
-    pointer to char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: q: forall
-        t: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type t (not function type) 
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-            u: pointer to function
-                with parameters
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-
-      function
-      with parameters
-        the_t: instance of type t (not function type) 
-      returning 
-        double 
-
-(types:
-    pointer to forall
-          _0_t: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_t (not function type) 
-                    instance of type _0_t (not function type) 
-                  returning 
-                    instance of type _0_t (not function type) 
-
-              u: pointer to function
-                  with parameters
-                    instance of type _0_t (not function type) 
-                  returning 
-                    instance of type _0_t (not function type) 
-
-
-        function
-        with parameters
-          the_t: instance of type _0_t (not function type) 
-        returning 
-          double 
-
-)
-Environment: 
-
-nameExpr is y
-decl is y: char 
-newExpr is Variable Expression: y: char 
-
-decl is y: double 
-newExpr is Variable Expression: y: double 
-
-decl is y: signed int 
-newExpr is Variable Expression: y: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: y: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type x (not function type) 
-              _src: instance of type x (not function type) 
-            returning 
-              instance of type x (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type x (not function type) 
-                  _src: instance of type x (not function type) 
-                returning 
-                  instance of type x (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to forall
-    _0_t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_t (not function type) 
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type _0_t (not function type) 
-  returning 
-    double 
-
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to forall
-    _0_t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_t (not function type) 
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type _0_t (not function type) 
-  returning 
-    double 
-
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type x (not function type) 
-actual type is pointer to forall
-    _0_t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_t (not function type) 
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type _0_t (not function type) 
-  returning 
-    double 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type u (not function type) 
-              _src: instance of type u (not function type) 
-            returning 
-              instance of type u (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type u (not function type) 
-                  _src: instance of type u (not function type) 
-                returning 
-                  instance of type u (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to forall
-    _0_t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_t (not function type) 
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type _0_t (not function type) 
-  returning 
-    double 
-
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to forall
-    _0_t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_t (not function type) 
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type _0_t (not function type) 
-  returning 
-    double 
-
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to double 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to char 
-formal type is pointer to instance of type u (not function type) 
-actual type is pointer to forall
-    _0_t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_t (not function type) 
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type _0_t (not function type) 
-  returning 
-    double 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to double 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to char 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to forall
-    _0_t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_t (not function type) 
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type _0_t (not function type) 
-  returning 
-    double 
-
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to double 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to char 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to forall
-    _0_t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_t (not function type) 
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type _0_t (not function type) 
-  returning 
-    double 
-
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to double 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to char 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to forall
-    _0_t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type _0_t (not function type) 
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type _0_t (not function type) 
-            returning 
-              instance of type _0_t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type _0_t (not function type) 
-  returning 
-    double 
-
-nameExpr is some_func
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is q
-decl is q: forall
-    t: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type t (not function type) 
-              instance of type t (not function type) 
-            returning 
-              instance of type t (not function type) 
-
-        u: pointer to function
-            with parameters
-              instance of type t (not function type) 
-            returning 
-              instance of type t (not function type) 
-
-
-  function
-  with parameters
-    the_t: instance of type t (not function type) 
-  returning 
-    double 
-  with body 
-    CompoundStmt
-      Declaration of y: instance of type t (not function type) with initializer 
-        Simple Initializer:           Cast of:
-            Application of
-              Variable Expression: u: pointer to function
-                  with parameters
-                    instance of type t (not function type) 
-                  returning 
-                    instance of type t (not function type) 
-
-            to arguments
-                              Variable Expression: the_t: instance of type t (not function type) 
-
-
-          to:
-            instance of type t (not function type) 
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: pointer to function
-                with parameters
-                  pointer to instance of type t (not function type) 
-                  instance of type t (not function type) 
-                returning 
-                  instance of type t (not function type) 
-
-          to arguments
-                          Address of:
-                Variable Expression: y: instance of type t (not function type) 
-
-                          Application of
-                Variable Expression: u: pointer to function
-                    with parameters
-                      instance of type t (not function type) 
-                    returning 
-                      instance of type t (not function type) 
-
-              to arguments
-                                  Variable Expression: the_t: instance of type t (not function type) 
-
-
-          with environment:
-            Types:
-            Non-types:
-
-
-newExpr is Variable Expression: q: forall
-      t: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type t (not function type) 
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-          u: pointer to function
-              with parameters
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-
-    function
-    with parameters
-      the_t: instance of type t (not function type) 
-    returning 
-      double 
-
-
-decl is q: function
-    accepting unspecified arguments
-  returning 
-    double 
-  with parameter names
-    i
-  with parameter declarations
-    i: signed int 
-  with body 
-    CompoundStmt
-              Switch on condition: Variable Expression: i: signed int 
-with environment:
-  Types:
-  Non-types:
-
-            Case Name: 0
-
-                Return Statement, returning: Name: q
-
-            Default 
-                Return Statement, returning: Name: i
-
-
-
-newExpr is Variable Expression: q: function
-      accepting unspecified arguments
-    returning 
-      double 
-
-
-decl is q: char with initializer 
-Simple Initializer:   Cast of:
-    Variable Expression: y: char 
-
-  to:
-    char 
-  with environment:
-    Types:
-    Non-types:
-
-newExpr is Variable Expression: q: char 
-
-decl is q: double 
-newExpr is Variable Expression: q: double 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: q: forall
-      t: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type t (not function type) 
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-          u: pointer to function
-              with parameters
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-
-    function
-    with parameters
-      the_t: instance of type t (not function type) 
-    returning 
-      double 
-
-(types:
-    pointer to forall
-          _0_t: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_t (not function type) 
-                    instance of type _0_t (not function type) 
-                  returning 
-                    instance of type _0_t (not function type) 
-
-              u: pointer to function
-                  with parameters
-                    instance of type _0_t (not function type) 
-                  returning 
-                    instance of type _0_t (not function type) 
-
-
-        function
-        with parameters
-          the_t: instance of type _0_t (not function type) 
-        returning 
-          double 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: function
-      accepting unspecified arguments
-    returning 
-      double 
-
-(types:
-    pointer to function
-          accepting unspecified arguments
-        returning 
-          double 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: char 
-(types:
-    lvalue char 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: q: double 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: q: double 
-
-to:
-  double 
-(types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 6 ): Cast of:
-  Variable Expression: i: signed int 
-
-to:
-  double 
-(types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        a: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      a: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        b: double 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      b: double 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-to:
-  pointer to instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: y
-
-to:
-  instance of type u (not function type) 
-
-Error: No reasonable alternatives for expression Name: u
-
-Error: No reasonable alternatives for expression Name: u
-
-Error: No reasonable alternatives for expression Name: u
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: z
-    Name: x
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: x
-    Name: y
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: q
-    Name: y
-
-Error: No reasonable alternatives for expression Name: some_func
-
Index: src/Tests/Expect-r/ScopeErrors.txt
===================================================================
--- src/Tests/Expect-r/ScopeErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Error: duplicate function definition for butThisIsAnError: function
-  with parameters
-    double 
-  returning 
-    double 
-  with body 
-    CompoundStmt
-
Index: src/Tests/Expect-r/ShortCircuit.txt
===================================================================
--- src/Tests/Expect-r/ShortCircuit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,3202 +1,0 @@
-nameExpr is g
-decl is g: function
-  with parameters
-    float 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is ?!=?
-decl is ?!=?: function
-  with parameters
-    float 
-    float 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-
-decl is ?!=?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: signed int 
-newExpr is Variable Expression: 0: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              float 
-              float 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                  float 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is float 
-actual type is lvalue signed int 
-formal type is float 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: a: signed int 
-
-                  Variable Expression: 0: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-Case +++++++++++++
-formals are:
-        float 
-        float 
-actuals are:
-                  Cast of:
-            Variable Expression: a: signed int 
-
-          to:
-            float 
-
-                  Cast of:
-            Variable Expression: 0: signed int 
-
-          to:
-            float 
-
-bindings are:
-cost of conversion is:( 0, 0, 10 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: a: signed int 
-
-      Variable Expression: 0: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 10 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        float 
-        float 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: a: signed int 
-
-    to:
-      float 
-
-      Cast of:
-      Variable Expression: 0: signed int 
-
-    to:
-      float 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is c
-decl is c: float 
-newExpr is Variable Expression: c: float 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-alternatives before prune:
-Cost ( 0, 0, 0 ): Conditional expression on: 
-  Cast of:
-    Application of
-      Variable Expression: ?!=?: function
-          with parameters
-            signed int 
-            signed int 
-          returning 
-            signed int 
-
-    to arguments
-              Variable Expression: a: signed int 
-
-              Variable Expression: 0: signed int 
-
-
-  to:
-    signed int 
-First alternative:
-  Variable Expression: b: signed int 
-Second alternative:
-  Variable Expression: c: float 
-
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Conditional expression on: 
-  Cast of:
-    Application of
-      Variable Expression: ?!=?: function
-          with parameters
-            signed int 
-            signed int 
-          returning 
-            signed int 
-
-    to arguments
-              Variable Expression: a: signed int 
-
-              Variable Expression: 0: signed int 
-
-
-  to:
-    signed int 
-First alternative:
-  Variable Expression: b: signed int 
-Second alternative:
-  Variable Expression: c: float 
-
-(types:
-    lvalue float 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              float 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is float 
-actual type is lvalue float 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Conditional expression on: 
-          Cast of:
-            Application of
-              Variable Expression: ?!=?: function
-                  with parameters
-                    signed int 
-                    signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Variable Expression: a: signed int 
-
-                              Variable Expression: 0: signed int 
-
-
-          to:
-            signed int 
-        First alternative:
-          Variable Expression: b: signed int 
-        Second alternative:
-          Variable Expression: c: float 
-
---- results are
-        lvalue float 
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Cast of:
-            Conditional expression on: 
-              Cast of:
-                Application of
-                  Variable Expression: ?!=?: function
-                      with parameters
-                        signed int 
-                        signed int 
-                      returning 
-                        signed int 
-
-                to arguments
-                                      Variable Expression: a: signed int 
-
-                                      Variable Expression: 0: signed int 
-
-
-              to:
-                signed int 
-            First alternative:
-              Variable Expression: b: signed int 
-            Second alternative:
-              Variable Expression: c: float 
-
-
-          to:
-            signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Conditional expression on: 
-          Cast of:
-            Application of
-              Variable Expression: ?!=?: function
-                  with parameters
-                    signed int 
-                    signed int 
-                  returning 
-                    signed int 
-
-            to arguments
-                              Variable Expression: a: signed int 
-
-                              Variable Expression: 0: signed int 
-
-
-          to:
-            signed int 
-        First alternative:
-          Variable Expression: b: signed int 
-        Second alternative:
-          Variable Expression: c: float 
-
---- results are
-        lvalue float 
-
-converting lvalue float 
- to float 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        float 
-actuals are:
-                  Conditional expression on: 
-            Cast of:
-              Application of
-                Variable Expression: ?!=?: function
-                    with parameters
-                      signed int 
-                      signed int 
-                    returning 
-                      signed int 
-
-              to arguments
-                                  Variable Expression: a: signed int 
-
-                                  Variable Expression: 0: signed int 
-
-
-            to:
-              signed int 
-          First alternative:
-            Variable Expression: b: signed int 
-          Second alternative:
-            Variable Expression: c: float 
-
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Conditional expression on: 
-        Cast of:
-          Application of
-            Variable Expression: ?!=?: function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Variable Expression: a: signed int 
-
-                          Variable Expression: 0: signed int 
-
-
-        to:
-          signed int 
-      First alternative:
-        Variable Expression: b: signed int 
-      Second alternative:
-        Variable Expression: c: float 
-
-
-    to:
-      signed int 
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        float 
-      returning 
-        nothing 
-
-to arguments
-      Conditional expression on: 
-      Cast of:
-        Application of
-          Variable Expression: ?!=?: function
-              with parameters
-                signed int 
-                signed int 
-              returning 
-                signed int 
-
-        to arguments
-                      Variable Expression: a: signed int 
-
-                      Variable Expression: 0: signed int 
-
-
-      to:
-        signed int 
-    First alternative:
-      Variable Expression: b: signed int 
-    Second alternative:
-      Variable Expression: c: float 
-
-
-(types:
-)
-Environment: 
-
-cost ( 0, 0, 0 ) beats ( 1, 0, 0 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          float 
-        returning 
-          nothing 
-
-  to arguments
-          Conditional expression on: 
-        Cast of:
-          Application of
-            Variable Expression: ?!=?: function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-          to arguments
-                          Variable Expression: a: signed int 
-
-                          Variable Expression: 0: signed int 
-
-
-        to:
-          signed int 
-      First alternative:
-        Variable Expression: b: signed int 
-      Second alternative:
-        Variable Expression: c: float 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is g
-decl is g: function
-  with parameters
-    float 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is ?!=?
-decl is ?!=?: function
-  with parameters
-    float 
-    float 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-
-decl is ?!=?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: signed int 
-newExpr is Variable Expression: 0: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              float 
-              float 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                  float 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is float 
-actual type is lvalue signed int 
-formal type is float 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: a: signed int 
-
-                  Variable Expression: 0: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-Case +++++++++++++
-formals are:
-        float 
-        float 
-actuals are:
-                  Cast of:
-            Variable Expression: a: signed int 
-
-          to:
-            float 
-
-                  Cast of:
-            Variable Expression: 0: signed int 
-
-          to:
-            float 
-
-bindings are:
-cost of conversion is:( 0, 0, 10 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: a: signed int 
-
-      Variable Expression: 0: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 10 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        float 
-        float 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: a: signed int 
-
-    to:
-      float 
-
-      Cast of:
-      Variable Expression: 0: signed int 
-
-    to:
-      float 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?!=?
-decl is ?!=?: function
-  with parameters
-    float 
-    float 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-
-decl is ?!=?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is c
-decl is c: float 
-newExpr is Variable Expression: c: float 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: c: float 
-(types:
-    lvalue float 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: signed int 
-newExpr is Variable Expression: 0: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue float 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              float 
-              float 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                  float 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is float 
-actual type is lvalue float 
-formal type is float 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: c: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to signed int 
-cost is( 1, 0, 0 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Cast of:
-            Variable Expression: c: float 
-
-          to:
-            signed int 
-
-                  Variable Expression: 0: signed int 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-actual expression:
-        Variable Expression: c: float 
---- results are
-        lvalue float 
-
-converting lvalue float 
- to float 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-Case +++++++++++++
-formals are:
-        float 
-        float 
-actuals are:
-                  Variable Expression: c: float 
-
-                  Cast of:
-            Variable Expression: 0: signed int 
-
-          to:
-            float 
-
-bindings are:
-cost of conversion is:( 0, 0, 5 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: c: float 
-
-    to:
-      signed int 
-
-      Variable Expression: 0: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 5 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        float 
-        float 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: c: float 
-
-      Cast of:
-      Variable Expression: 0: signed int 
-
-    to:
-      float 
-
-(types:
-    signed int 
-)
-Environment: 
-
-cost ( 0, 0, 5 ) beats ( 1, 0, 0 )
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              float 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is float 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
---- results are
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
---- results are
-        signed int 
-
-converting signed int 
- to float 
-cost is( 0, 0, 5 )
-Case +++++++++++++
-formals are:
-        float 
-actuals are:
-                  Cast of:
-            Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
-
-          to:
-            float 
-
-bindings are:
-cost of conversion is:( 0, 0, 5 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 5 ): Application of
-  Variable Expression: g: function
-      with parameters
-        float 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
-
-    to:
-      float 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Short-circuited operation (and) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: c: float 
-
-          Cast of:
-        Variable Expression: 0: signed int 
-
-      to:
-        float 
-
-
-to:
-  signed int 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is g
-decl is g: function
-  with parameters
-    float 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-
-decl is g: function
-  with parameters
-    signed int 
-  returning 
-    nothing 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is ?!=?
-decl is ?!=?: function
-  with parameters
-    float 
-    float 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-
-decl is ?!=?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: signed int 
-newExpr is Variable Expression: 0: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              float 
-              float 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                  float 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is float 
-actual type is lvalue signed int 
-formal type is float 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: a: signed int 
-
-                  Variable Expression: 0: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-Case +++++++++++++
-formals are:
-        float 
-        float 
-actuals are:
-                  Cast of:
-            Variable Expression: a: signed int 
-
-          to:
-            float 
-
-                  Cast of:
-            Variable Expression: 0: signed int 
-
-          to:
-            float 
-
-bindings are:
-cost of conversion is:( 0, 0, 10 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: a: signed int 
-
-      Variable Expression: 0: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 10 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        float 
-        float 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: a: signed int 
-
-    to:
-      float 
-
-      Cast of:
-      Variable Expression: 0: signed int 
-
-    to:
-      float 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?!=?
-decl is ?!=?: function
-  with parameters
-    float 
-    float 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-
-decl is ?!=?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          float 
-          float 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: signed int 
-newExpr is Variable Expression: 0: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              float 
-              float 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                  float 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is float 
-actual type is lvalue signed int 
-formal type is float 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: b: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: b: signed int 
-
-                  Variable Expression: 0: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Variable Expression: b: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to float 
-cost is( 0, 0, 5 )
-Case +++++++++++++
-formals are:
-        float 
-        float 
-actuals are:
-                  Cast of:
-            Variable Expression: b: signed int 
-
-          to:
-            float 
-
-                  Cast of:
-            Variable Expression: 0: signed int 
-
-          to:
-            float 
-
-bindings are:
-cost of conversion is:( 0, 0, 10 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: b: signed int 
-
-      Variable Expression: 0: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 10 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        float 
-        float 
-      returning 
-        signed int 
-
-to arguments
-      Cast of:
-      Variable Expression: b: signed int 
-
-    to:
-      float 
-
-      Cast of:
-      Variable Expression: 0: signed int 
-
-    to:
-      float 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              float 
-            returning 
-              nothing 
-
-(types:
-            pointer to function
-                with parameters
-                  float 
-                returning 
-                  nothing 
-
-)
-        Environment: 
-formal type is float 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
---- results are
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-                  Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-actual expression:
-        Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
---- results are
-        signed int 
-
-converting signed int 
- to float 
-cost is( 0, 0, 5 )
-Case +++++++++++++
-formals are:
-        float 
-actuals are:
-                  Cast of:
-            Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
-
-          to:
-            float 
-
-bindings are:
-cost of conversion is:( 0, 0, 5 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-      returning 
-        nothing 
-
-to arguments
-      Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
-
-(types:
-)
-Environment: 
-
-Cost ( 0, 0, 5 ): Application of
-  Variable Expression: g: function
-      with parameters
-        float 
-      returning 
-        nothing 
-
-to arguments
-      Cast of:
-      Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
-
-    to:
-      float 
-
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          signed int 
-        returning 
-          nothing 
-
-  to arguments
-          Short-circuited operation (or) on: Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
- and Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: b: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int ___operator_notequal__Fi_ii_(int , int );
-int ___operator_notequal__Fi_ff_(float , float );
-int ___constant_zero__i;
-void __g__F_f_(float );
-void __g__F_i_(int );
-void __f__F_i_(int __a__i){
-    int __b__i;
-    float __c__f;
-    __g__F_f_((((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i)) ? __b__i : __c__f));
-    __g__F_i_((((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i)) && ((int )___operator_notequal__Fi_ff_(__c__f, ((float )___constant_zero__i)))));
-    __g__F_i_((((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i)) || ((int )___operator_notequal__Fi_ii_(__b__i, ___constant_zero__i))));
-}
Index: src/Tests/Expect-r/Statement.txt
===================================================================
--- src/Tests/Expect-r/Statement.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1039 +1,0 @@
-nameExpr is ?=?
-decl is ?=?: automatically generated inline function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                b: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: function
-  with parameters
-    pointer to signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    b: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    b: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  b: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              pointer to signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  pointer to signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is pointer to signed int 
-actual type is pointer to signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            b: signed int 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct __anonymous0 
---- results are
-        pointer to signed int 
-
-converting pointer to signed int 
- to pointer to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          b: signed int 
-        from aggregate: 
-          Variable Expression: _src: instance of struct __anonymous0 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        pointer to signed int 
-        signed int 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              b: signed int 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct __anonymous0 
-
-                  Member Expression, with field: 
-            b: signed int 
-          from aggregate: 
-            Variable Expression: _src: instance of struct __anonymous0 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: function
-      with parameters
-        pointer to signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        b: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-
-      Member Expression, with field: 
-      b: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: function
-        with parameters
-          pointer to signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          b: signed int 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct __anonymous0 
-
-          Member Expression, with field: 
-        b: signed int 
-      from aggregate: 
-        Variable Expression: _src: instance of struct __anonymous0 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-(types:
-    instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?!=?
-decl is ?!=?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: instance of struct __anonymous0 
-newExpr is Variable Expression: a: instance of struct __anonymous0 
-
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: signed int 
-newExpr is Variable Expression: 0: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-__anonymous0
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-__anonymous0
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue instance of struct __anonymous0 
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: a: signed int 
-
-                  Variable Expression: 0: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: a: signed int 
-
-      Variable Expression: 0: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?!=?
-decl is ?!=?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: instance of struct __anonymous0 
-newExpr is Variable Expression: a: instance of struct __anonymous0 
-
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: signed int 
-newExpr is Variable Expression: 0: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue instance of struct __anonymous0 
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: a: signed int 
-
-                  Variable Expression: 0: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: a: signed int 
-
-      Variable Expression: 0: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: pointer to signed int 
-newExpr is Variable Expression: b: pointer to signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: pointer to signed int 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: b: pointer to signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?!=?
-decl is ?!=?: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is a
-decl is a: instance of struct __anonymous0 
-newExpr is Variable Expression: a: instance of struct __anonymous0 
-
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-nameExpr is 0
-decl is 0: signed int 
-newExpr is Variable Expression: 0: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-formal type is signed int 
-actual type is lvalue instance of struct __anonymous0 
-actual expression:
-        Variable Expression: a: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: 0: signed int 
---- results are
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: a: signed int 
-
-                  Variable Expression: 0: signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?!=?: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: a: signed int 
-
-      Variable Expression: 0: signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Application of
-    Variable Expression: ?!=?: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: a: signed int 
-
-          Variable Expression: 0: signed int 
-
-
-to:
-  signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is b
-decl is b: pointer to signed int 
-newExpr is Variable Expression: b: pointer to signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: pointer to signed int 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: b: pointer to signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int ___operator_assign__Fi_Pii_(int *, int );
-int ___operator_notequal__Fi_ii_(int , int );
-int ___constant_zero__i;
-void __f__F__(){
-    int __a__i;
-    struct __anonymous0
-    {
-        int __b__i;
-    };
-    inline struct __anonymous0 ___operator_assign__F13s__anonymous0_P13s__anonymous013s__anonymous0_(struct __anonymous0 *___dst__P13s__anonymous0, struct __anonymous0 ___src__13s__anonymous0){
-        ___operator_assign__Fi_Pii_((&(*___dst__P13s__anonymous0).__b__i), ___src__13s__anonymous0.__b__i);
-        return ___src__13s__anonymous0;
-    }
-    struct __anonymous0 __a__13s__anonymous0;
-    if (((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i))) {
-        while (((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i))) {
-            int *__b__Pi;
-            for (__b__Pi;((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i));__b__Pi) {
-            }
-
-        }        
-
-    }
-
-}
Index: src/Tests/Expect-r/StructMember.txt
===================================================================
--- src/Tests/Expect-r/StructMember.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,23906 +1,0 @@
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m1: signed int with bitfield width constant expression 3 signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m1: signed int with bitfield width constant expression 3 signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m1: signed int with bitfield width constant expression 3 signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m1: signed int with bitfield width constant expression 3 signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m1: signed int with bitfield width constant expression 3 signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m2: signed int with bitfield width constant expression 4 signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m2: signed int with bitfield width constant expression 4 signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m2: signed int with bitfield width constant expression 4 signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m2: signed int with bitfield width constant expression 4 signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m2: signed int with bitfield width constant expression 4 signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m3: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m4: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m4: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m4: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m4: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m4: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m5: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m5: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m5: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m5: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m5: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m6: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m6: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m6: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m6: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m6: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m7: pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m7: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m7: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m7: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m7: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m8: pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m8: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m8: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m8: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m8: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m9: pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m9: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m9: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m9: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m9: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m10: pointer to function
-      accepting unspecified arguments
-    returning 
-      signed int 
-
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m10: pointer to function
-        accepting unspecified arguments
-      returning 
-        signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m10: pointer to function
-        accepting unspecified arguments
-      returning 
-        signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m10: pointer to function
-      accepting unspecified arguments
-    returning 
-      signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m10: pointer to function
-      accepting unspecified arguments
-    returning 
-      signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to function
-    accepting unspecified arguments
-  returning 
-    signed int 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m11: pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m11: pointer to function
-      with parameters
-        signed int 
-      returning 
-        pointer to signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m11: pointer to function
-      with parameters
-        signed int 
-      returning 
-        pointer to signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m11: pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m11: pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to function
-  with parameters
-    signed int 
-  returning 
-    pointer to signed int 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  T: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    T: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    T: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  T: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  T: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  T: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    T: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    T: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  T: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  T: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m12: pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m12: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m12: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m12: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m12: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m13: pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m13: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m13: pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m13: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m13: pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m14: pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m14: pointer to function
-      with parameters
-        signed int 
-      returning 
-        pointer to signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    m14: pointer to function
-      with parameters
-        signed int 
-      returning 
-        pointer to signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m14: pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  m14: pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to function
-  with parameters
-    signed int 
-  returning 
-    pointer to signed int 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to function
-      accepting unspecified arguments
-    returning 
-      signed int 
-
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to function
-        accepting unspecified arguments
-      returning 
-        signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to function
-        accepting unspecified arguments
-      returning 
-        signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to function
-      accepting unspecified arguments
-    returning 
-      signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to function
-      accepting unspecified arguments
-    returning 
-      signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to function
-    accepting unspecified arguments
-  returning 
-    signed int 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to pointer to function
-      with parameters
-        signed int 
-      returning 
-        signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    pointer to pointer to function
-      with parameters
-        signed int 
-      returning 
-        signed int 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  pointer to pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to pointer to pointer to function
-  with parameters
-    signed int 
-  returning 
-    signed int 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S 
-    _src: instance of struct S 
-  returning 
-    instance of struct S 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m1: signed int with bitfield width constant expression 3 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m2: signed int with bitfield width constant expression 4 signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m4: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m5: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m6: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m7: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m8: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m9: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m10: pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m11: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m12: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m13: pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                m14: pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    pointer to signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                pointer to pointer to function
-                  with parameters
-                    signed int 
-                  returning 
-                    signed int 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S 
-              Member Expression, with field: 
-                signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S 
-          _src: instance of struct S 
-        returning 
-          instance of struct S 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct S 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S 
-              _src: instance of struct S 
-            returning 
-              instance of struct S 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S 
-                  _src: instance of struct S 
-                returning 
-                  instance of struct S 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S 
-(types:
-    lvalue instance of struct S 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct S 
-
-to:
-  instance of struct S 
-(types:
-    instance of struct S 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 5 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 5 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is __builtin_memcpy
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union U 
-(types:
-    lvalue instance of union U 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of union U 
-
-to:
-  instance of union U 
-(types:
-    instance of union U 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m1: signed int with bitfield width constant expression 3 signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m1: signed int with bitfield width constant expression 3 signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m2: signed int with bitfield width constant expression 4 signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m2: signed int with bitfield width constant expression 4 signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m4: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m4: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m5: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m5: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m6: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m6: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m7: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m7: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m8: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m8: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m9: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m9: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m10: pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m10: pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m11: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m11: pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        T: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      T: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        T: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      T: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m12: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m12: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m13: pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m13: pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        m14: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      m14: pointer to function
-        with parameters
-          signed int 
-        returning 
-          pointer to signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to function
-          accepting unspecified arguments
-        returning 
-          signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      pointer to pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S 
-    Member Expression, with field: 
-      signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S 
-
-Error: No reasonable alternatives for expression Name: __builtin_memcpy
-
Index: src/Tests/Expect-r/Subrange.txt
===================================================================
--- src/Tests/Expect-r/Subrange.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,846 +1,0 @@
-nameExpr is ?=?
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type subrange (not function type) 
-    _src: instance of type subrange (not function type) 
-  returning 
-    instance of type subrange (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type subrange (not function type) 
-
-    to:
-      pointer to instance of type base_t (not function type) 
-    Cast of:
-      Variable Expression: _src: instance of type subrange (not function type) 
-
-    to:
-      instance of type base_t (not function type) 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type subrange (not function type) 
-      _src: instance of type subrange (not function type) 
-    returning 
-      instance of type subrange (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type subrange (not function type) 
-      _src: instance of type subrange (not function type) 
-    returning 
-      instance of type subrange (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type subrange (not function type) 
-          _src: instance of type subrange (not function type) 
-        returning 
-          instance of type subrange (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type subrange (not function type) 
-(types:
-    lvalue pointer to instance of type subrange (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is low
-nameExpr is high
-nameExpr is lbound
-decl is lbound: forall
-    T: type
-      with assertions
-        ?=?: pointer to function
-            with parameters
-              pointer to instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-
-  function
-  with parameters
-    v: instance of type subrange (not function type) 
-      with parameters
-        instance of type T (not function type) 
-                  Name: low
-
-                  Name: high
-
-
-  returning 
-    instance of type T (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Name: low
-
-
-
-newExpr is Variable Expression: lbound: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      v: instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-    returning 
-      instance of type T (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: lbound: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      v: instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    pointer to forall
-          _0_T: type
-            with assertions
-              ?=?: pointer to function
-                  with parameters
-                    pointer to instance of type _0_T (not function type) 
-                    instance of type _0_T (not function type) 
-                  returning 
-                    instance of type _0_T (not function type) 
-
-
-        function
-        with parameters
-          v: instance of type subrange (not function type) 
-            with parameters
-              instance of type _0_T (not function type) 
-                              Name: low
-
-                              Name: high
-
-
-        returning 
-          instance of type _0_T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is day_of_month
-decl is day_of_month: instance of type subrange (not function type) 
-with parameters
-  unsigned int 
-      Name: 1
-
-  constant expression 31 signed int 
-
-newExpr is Variable Expression: day_of_month: instance of type subrange (not function type) 
-  with parameters
-    unsigned int 
-          Name: 1
-
-    constant expression 31 signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: day_of_month: instance of type subrange (not function type) 
-  with parameters
-    unsigned int 
-          Name: 1
-
-    constant expression 31 signed int 
-
-(types:
-    lvalue instance of type subrange (not function type) 
-      with parameters
-        unsigned int 
-                  Name: 1
-
-        constant expression 31 signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: day_of_month: instance of type subrange (not function type) 
-  with parameters
-    unsigned int 
-          Name: 1
-
-    constant expression 31 signed int 
-
-(types:
-    lvalue instance of type subrange (not function type) 
-      with parameters
-        unsigned int 
-                  Name: 1
-
-        constant expression 31 signed int 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: lbound: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              v: instance of type subrange (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-                                      Name: low
-
-                                      Name: high
-
-
-            returning 
-              instance of type T (not function type) 
-
-(types:
-            pointer to forall
-                  _0_T: type
-                    with assertions
-                      ?=?: pointer to function
-                          with parameters
-                            pointer to instance of type _0_T (not function type) 
-                            instance of type _0_T (not function type) 
-                          returning 
-                            instance of type _0_T (not function type) 
-
-
-                function
-                with parameters
-                  v: instance of type subrange (not function type) 
-                    with parameters
-                      instance of type _0_T (not function type) 
-                                              Name: low
-
-                                              Name: high
-
-
-                returning 
-                  instance of type _0_T (not function type) 
-
-)
-        Environment: 
-formal type is instance of type subrange (not function type) 
-with parameters
-  instance of type _0_T (not function type) 
-      Name: low
-
-      Name: high
-
-
-actual type is lvalue instance of type subrange (not function type) 
-with parameters
-  unsigned int 
-      Name: 1
-
-  constant expression 31 signed int 
-
-need assertions:
-?=?: pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-(used)============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-inferRecursive: assertion is ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
-
-inferRecursive: candidate is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type subrange (not function type) 
-    _src: instance of type subrange (not function type) 
-  returning 
-    instance of type subrange (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type subrange (not function type) 
-
-    to:
-      pointer to instance of type base_t (not function type) 
-    Cast of:
-      Variable Expression: _src: instance of type subrange (not function type) 
-
-    to:
-      instance of type base_t (not function type) 
-
-
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    _dst: pointer to instance of type subrange (not function type) 
-    _src: instance of type subrange (not function type) 
-  returning 
-    instance of type subrange (not function type) 
-
-success!
-satisfying assertion 28 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 21 ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type subrange (not function type) 
-    _src: instance of type subrange (not function type) 
-  returning 
-    instance of type subrange (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type subrange (not function type) 
-
-    to:
-      pointer to instance of type base_t (not function type) 
-    Cast of:
-      Variable Expression: _src: instance of type subrange (not function type) 
-
-    to:
-      instance of type base_t (not function type) 
-
-
-
-inferRecursive: candidate is ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-unifying pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-success!
-satisfying assertion 28 ?=?: pointer to function
-  with parameters
-    pointer to instance of type _0_T (not function type) 
-    instance of type _0_T (not function type) 
-  returning 
-    instance of type _0_T (not function type) 
- with declaration 35 ?=?: pointer to function
-  with parameters
-    pointer to instance of type T (not function type) 
-    instance of type T (not function type) 
-  returning 
-    instance of type T (not function type) 
-
-actual expression:
-        Variable Expression: day_of_month: instance of type subrange (not function type) 
-          with parameters
-            unsigned int 
-                          Name: 1
-
-            constant expression 31 signed int 
-
---- results are
-        lvalue instance of type subrange (not function type) 
-          with parameters
-            unsigned int 
-                          Name: 1
-
-            constant expression 31 signed int 
-
-
-converting lvalue instance of type subrange (not function type) 
-        with parameters
-          unsigned int 
-                      Name: 1
-
-          constant expression 31 signed int 
-
- to instance of type subrange (not function type) 
-        with parameters
-          instance of type _0_T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-cost is( -1, -1, 0 )
-
-converting pointer to function
-          with parameters
-            _dst: pointer to instance of type subrange (not function type) 
-            _src: instance of type subrange (not function type) 
-          returning 
-            instance of type subrange (not function type) 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        v: instance of type subrange (not function type) 
-          with parameters
-            instance of type _0_T (not function type) 
-                          Name: low
-
-                          Name: high
-
-
-actuals are:
-                  Cast of:
-            Variable Expression: day_of_month: instance of type subrange (not function type) 
-              with parameters
-                unsigned int 
-                                  Name: 1
-
-                constant expression 31 signed int 
-
-
-          to:
-            instance of type subrange (not function type) 
-              with parameters
-                instance of type _0_T (not function type) 
-                                  Name: low
-
-                                  Name: high
-
-
-
-bindings are:
-        ( _0_T ) -> instance of type subrange (not function type)  (no widening)
-cost of conversion is:( -1, 2, 0 )
-actual expression:
-        Variable Expression: day_of_month: instance of type subrange (not function type) 
-          with parameters
-            unsigned int 
-                          Name: 1
-
-            constant expression 31 signed int 
-
---- results are
-        lvalue instance of type subrange (not function type) 
-          with parameters
-            unsigned int 
-                          Name: 1
-
-            constant expression 31 signed int 
-
-
-converting lvalue instance of type subrange (not function type) 
-        with parameters
-          unsigned int 
-                      Name: 1
-
-          constant expression 31 signed int 
-
- to instance of type subrange (not function type) 
-        with parameters
-          instance of type _0_T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-cost is( -1, -1, 0 )
-
-converting pointer to function
-          with parameters
-            pointer to instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
- to pointer to function
-          with parameters
-            pointer to instance of type _0_T (not function type) 
-            instance of type _0_T (not function type) 
-          returning 
-            instance of type _0_T (not function type) 
-
-cost of conversion is ( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        v: instance of type subrange (not function type) 
-          with parameters
-            instance of type _0_T (not function type) 
-                          Name: low
-
-                          Name: high
-
-
-actuals are:
-                  Cast of:
-            Variable Expression: day_of_month: instance of type subrange (not function type) 
-              with parameters
-                unsigned int 
-                                  Name: 1
-
-                constant expression 31 signed int 
-
-
-          to:
-            instance of type subrange (not function type) 
-              with parameters
-                instance of type _0_T (not function type) 
-                                  Name: low
-
-                                  Name: high
-
-
-
-bindings are:
-        ( _0_T ) -> instance of type T (not function type)  (no widening)
-cost of conversion is:( -1, 2, 0 )
-alternatives before prune:
-Cost ( -1, 2, 0 ): Application of
-  Variable Expression: lbound: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        v: instance of type subrange (not function type) 
-          with parameters
-            instance of type T (not function type) 
-                          Name: low
-
-                          Name: high
-
-
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Cast of:
-      Variable Expression: day_of_month: instance of type subrange (not function type) 
-        with parameters
-          unsigned int 
-                      Name: 1
-
-          constant expression 31 signed int 
-
-
-    to:
-      instance of type subrange (not function type) 
-        with parameters
-          instance of type _0_T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-
-with inferred parameters:
-  ?=?: function
-    with parameters
-      _dst: pointer to instance of type subrange (not function type) 
-      _src: instance of type subrange (not function type) 
-    returning 
-      instance of type subrange (not function type) 
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> instance of type subrange (not function type)  (no widening)
-
-
-Cost ( -1, 2, 0 ): Application of
-  Variable Expression: lbound: forall
-        T: type
-          with assertions
-            ?=?: pointer to function
-                with parameters
-                  pointer to instance of type T (not function type) 
-                  instance of type T (not function type) 
-                returning 
-                  instance of type T (not function type) 
-
-
-      function
-      with parameters
-        v: instance of type subrange (not function type) 
-          with parameters
-            instance of type T (not function type) 
-                          Name: low
-
-                          Name: high
-
-
-      returning 
-        instance of type T (not function type) 
-
-to arguments
-      Cast of:
-      Variable Expression: day_of_month: instance of type subrange (not function type) 
-        with parameters
-          unsigned int 
-                      Name: 1
-
-          constant expression 31 signed int 
-
-
-    to:
-      instance of type subrange (not function type) 
-        with parameters
-          instance of type _0_T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-
-with inferred parameters:
-  ?=?: pointer to function
-    with parameters
-      pointer to instance of type T (not function type) 
-      instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-(types:
-    instance of type _0_T (not function type) 
-)
-Environment:   ( _0_T ) -> instance of type T (not function type)  (no widening)
-
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is ?!=?
-nameExpr is target
-decl is target: pointer to instance of type subrange (not function type) 
-with parameters
-  instance of type T (not function type) 
-      Name: low
-
-      Name: high
-
-
-newExpr is Variable Expression: target: pointer to instance of type subrange (not function type) 
-  with parameters
-    instance of type T (not function type) 
-          Name: low
-
-          Name: high
-
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: target: pointer to instance of type subrange (not function type) 
-  with parameters
-    instance of type T (not function type) 
-          Name: low
-
-          Name: high
-
-
-(types:
-    lvalue pointer to instance of type subrange (not function type) 
-      with parameters
-        instance of type T (not function type) 
-                  Name: low
-
-                  Name: high
-
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?!=?
-nameExpr is target
-decl is target: pointer to instance of type subrange (not function type) 
-with parameters
-  instance of type T (not function type) 
-      Name: t_low
-
-      Name: t_high
-
-
-newExpr is Variable Expression: target: pointer to instance of type subrange (not function type) 
-  with parameters
-    instance of type T (not function type) 
-          Name: t_low
-
-          Name: t_high
-
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: target: pointer to instance of type subrange (not function type) 
-  with parameters
-    instance of type T (not function type) 
-          Name: t_low
-
-          Name: t_high
-
-
-(types:
-    lvalue pointer to instance of type subrange (not function type) 
-      with parameters
-        instance of type T (not function type) 
-                  Name: t_low
-
-                  Name: t_high
-
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type subrange (not function type) 
-
-to:
-  pointer to instance of type base_t (not function type) 
-
-Error: No reasonable alternatives for expression Name: low
-
-Error: No reasonable alternatives for expression Name: high
-
-Error: No reasonable alternatives for expression Cast of:
-  Applying untyped: 
-      Name: lbound
-  ...to: 
-      Name: day_of_month
-
-to:
-  unsigned int 
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: target
-
-to:
-  instance of type subrange (not function type) 
-    with parameters
-      instance of type T (not function type) 
-              Name: low
-
-              Name: high
-
-
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: target
-
-to:
-  instance of type subrange (not function type) 
-    with parameters
-      instance of type T (not function type) 
-              Name: t_low
-
-              Name: t_high
-
-
-
Index: src/Tests/Expect-r/Switch.txt
===================================================================
--- src/Tests/Expect-r/Switch.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,142 +1,0 @@
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3 signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-nameExpr is ?=?
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-nameExpr is i
-decl is i: signed int 
-newExpr is Variable Expression: i: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-nameExpr is ?=?
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-r/Tuple.txt
===================================================================
--- src/Tests/Expect-r/Tuple.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12836 +1,0 @@
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct inner 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f2: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct inner 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct inner 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f2: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct inner 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct inner 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f2: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct inner 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct inner 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f3: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct inner 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct inner 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f3: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct inner 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct inner 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f3: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct inner 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct inner 
-(types:
-    lvalue instance of struct inner 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-(types:
-    instance of struct inner 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct outer 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f1: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct outer 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct outer 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f1: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct outer 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct outer 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f1: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct outer 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct outer 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of struct inner 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct outer 
-(types:
-    lvalue instance of struct inner 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of struct inner 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct outer 
-(types:
-    pointer to instance of struct inner 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of struct inner 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct outer 
-(types:
-    pointer to instance of struct inner 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of struct inner 
-from aggregate: 
-  Variable Expression: _src: instance of struct outer 
-(types:
-    lvalue instance of struct inner 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of struct inner 
-from aggregate: 
-  Variable Expression: _src: instance of struct outer 
-(types:
-    lvalue instance of struct inner 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to instance of struct inner 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to instance of struct inner 
-formal type is instance of struct inner 
-actual type is lvalue instance of struct inner 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Address of:
-          Member Expression, with field: 
-            i: instance of struct inner 
-          from aggregate: 
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Variable Expression: _dst: pointer to instance of struct outer 
---- results are
-        pointer to instance of struct inner 
-
-converting pointer to instance of struct inner 
- to pointer to instance of struct inner 
-cost is( 0, 0, 0 )
-actual expression:
-        Member Expression, with field: 
-          i: instance of struct inner 
-        from aggregate: 
-          Variable Expression: _src: instance of struct outer 
---- results are
-        lvalue instance of struct inner 
-
-converting lvalue instance of struct inner 
- to instance of struct inner 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        _dst: pointer to instance of struct inner 
-        _src: instance of struct inner 
-actuals are:
-                  Address of:
-            Member Expression, with field: 
-              i: instance of struct inner 
-            from aggregate: 
-              Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Variable Expression: _dst: pointer to instance of struct outer 
-
-                  Member Expression, with field: 
-            i: instance of struct inner 
-          from aggregate: 
-            Variable Expression: _src: instance of struct outer 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: ?=?: inline static function
-      with parameters
-        _dst: pointer to instance of struct inner 
-        _src: instance of struct inner 
-      returning 
-        instance of struct inner 
-
-to arguments
-      Address of:
-      Member Expression, with field: 
-        i: instance of struct inner 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct outer 
-
-      Member Expression, with field: 
-      i: instance of struct inner 
-    from aggregate: 
-      Variable Expression: _src: instance of struct outer 
-
-(types:
-    instance of struct inner 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: ?=?: inline static function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-  to arguments
-          Address of:
-        Member Expression, with field: 
-          i: instance of struct inner 
-        from aggregate: 
-          Applying untyped: 
-              Name: *?
-          ...to: 
-              Variable Expression: _dst: pointer to instance of struct outer 
-
-          Member Expression, with field: 
-        i: instance of struct inner 
-      from aggregate: 
-        Variable Expression: _src: instance of struct outer 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct outer 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f4: double 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct outer 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f4: double 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct outer 
-(types:
-    pointer to double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    f4: double 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct outer 
-(types:
-    pointer to double 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f4: double 
-from aggregate: 
-  Variable Expression: _src: instance of struct outer 
-(types:
-    lvalue double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  f4: double 
-from aggregate: 
-  Variable Expression: _src: instance of struct outer 
-(types:
-    lvalue double 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to double 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to double 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct outer 
-(types:
-    lvalue instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-(types:
-    instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is y
-decl is y: unsigned int 
-newExpr is Variable Expression: y: unsigned int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-nameExpr is x
-decl is x: short signed int 
-newExpr is Variable Expression: x: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: y: unsigned int 
-
-      Variable Expression: x: short signed int 
-
-(types:
-    lvalue unsigned int 
-    lvalue short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: y: unsigned int 
-
-          Variable Expression: x: short signed int 
-
-(types:
-    pointer to unsigned int 
-    pointer to short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: y: unsigned int 
-
-          Variable Expression: x: short signed int 
-
-(types:
-    pointer to unsigned int 
-    pointer to short signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is x
-decl is x: short signed int 
-newExpr is Variable Expression: x: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-nameExpr is y
-decl is y: unsigned int 
-newExpr is Variable Expression: y: unsigned int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: x: short signed int 
-
-      Variable Expression: y: unsigned int 
-
-(types:
-    lvalue short signed int 
-    lvalue unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: x: short signed int 
-
-          Variable Expression: y: unsigned int 
-
-(types:
-    pointer to short signed int 
-    pointer to unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: x: short signed int 
-
-          Variable Expression: y: unsigned int 
-
-(types:
-    pointer to short signed int 
-    pointer to unsigned int 
-)
-Environment: 
-
-nameExpr is w
-decl is w: signed int 
-newExpr is Variable Expression: w: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: w: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: w: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 23 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 23 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: w: signed int 
-
-  constant expression 23 signed int 
-(types:
-    lvalue signed int 
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: w: signed int 
-
-  constant expression 23 signed int 
-(types:
-    lvalue signed int 
-    signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: x: short signed int 
-(types:
-    pointer to short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: x: short signed int 
-(types:
-    pointer to short signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: w: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: w: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to short signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to short signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is x
-decl is x: short signed int 
-newExpr is Variable Expression: x: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-nameExpr is y
-decl is y: unsigned int 
-newExpr is Variable Expression: y: unsigned int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-nameExpr is z
-decl is z: tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: z: tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: x: short signed int 
-
-      Variable Expression: y: unsigned int 
-
-      Variable Expression: z: tuple of types
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue short signed int 
-    lvalue unsigned int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: x: short signed int 
-
-          Variable Expression: y: unsigned int 
-
-          Variable Expression: z: tuple of types
-          signed int 
-          signed int 
-
-
-(types:
-    pointer to short signed int 
-    pointer to unsigned int 
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: x: short signed int 
-
-          Variable Expression: y: unsigned int 
-
-          Variable Expression: z: tuple of types
-          signed int 
-          signed int 
-
-
-(types:
-    pointer to short signed int 
-    pointer to unsigned int 
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is p
-decl is p: short signed int 
-newExpr is Variable Expression: p: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: p: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: p: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-nameExpr is f
-decl is f: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is x
-decl is x: short signed int 
-newExpr is Variable Expression: x: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-nameExpr is y
-decl is y: unsigned int 
-newExpr is Variable Expression: y: unsigned int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-nameExpr is z
-decl is z: tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: z: tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: x: short signed int 
-
-      Variable Expression: y: unsigned int 
-
-      Variable Expression: z: tuple of types
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue short signed int 
-    lvalue unsigned int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: x: short signed int 
-
-          Variable Expression: y: unsigned int 
-
-          Variable Expression: z: tuple of types
-          signed int 
-          signed int 
-
-
-(types:
-    pointer to short signed int 
-    pointer to unsigned int 
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: x: short signed int 
-
-          Variable Expression: y: unsigned int 
-
-          Variable Expression: z: tuple of types
-          signed int 
-          signed int 
-
-
-(types:
-    pointer to short signed int 
-    pointer to unsigned int 
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is p
-decl is p: short signed int 
-newExpr is Variable Expression: p: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: p: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: p: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-nameExpr is f
-decl is f: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is r
-decl is r: tuple of types
-  signed int 
-  char 
-  long signed int 
-  signed int 
-
-newExpr is Variable Expression: r: tuple of types
-    signed int 
-    char 
-    long signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: r: tuple of types
-    signed int 
-    char 
-    long signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue char 
-    lvalue long signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: r: tuple of types
-      signed int 
-      char 
-      long signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to char 
-    pointer to long signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: r: tuple of types
-      signed int 
-      char 
-      long signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to char 
-    pointer to long signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is x
-decl is x: short signed int 
-newExpr is Variable Expression: x: short signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
-(types:
-    lvalue short signed int 
-)
-Environment: 
-
-nameExpr is y
-decl is y: unsigned int 
-newExpr is Variable Expression: y: unsigned int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
-(types:
-    lvalue unsigned int 
-)
-Environment: 
-
-nameExpr is z
-decl is z: tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: z: tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: x: short signed int 
-
-      Variable Expression: y: unsigned int 
-
-      Variable Expression: z: tuple of types
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue short signed int 
-    lvalue unsigned int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: x: short signed int 
-
-      Variable Expression: y: unsigned int 
-
-      Variable Expression: z: tuple of types
-        signed int 
-        signed int 
-
-
-(types:
-    lvalue short signed int 
-    lvalue unsigned int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is 1
-nameExpr is f
-decl is f: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 3 signed int 
-  constant expression 5 signed int 
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 3 signed int 
-  constant expression 5 signed int 
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-formal type is signed int 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Tuple:
-          constant expression 3 signed int 
-          constant expression 5 signed int 
---- results are
-        signed int 
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Tuple:
-            constant expression 3 signed int 
-            constant expression 5 signed int 
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: f: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Tuple:
-      constant expression 3 signed int 
-      constant expression 5 signed int 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: f: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Tuple:
-        constant expression 3 signed int 
-        constant expression 5 signed int 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is g
-decl is g: function
-  with parameters
-    signed int 
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 3 signed int 
-  constant expression 5 signed int 
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 3 signed int 
-  constant expression 5 signed int 
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              signed int 
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-formal type is signed int 
-actual type is signed int 
-formal type is signed int 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Tuple:
-          constant expression 3 signed int 
-          constant expression 5 signed int 
---- results are
-        signed int 
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-constant expression 3 signed int --- results are
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Tuple:
-            constant expression 3 signed int 
-            constant expression 5 signed int 
-
-        constant expression 3 signed int 
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Tuple:
-      constant expression 3 signed int 
-      constant expression 5 signed int 
-
-  constant expression 3 signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Tuple:
-        constant expression 3 signed int 
-        constant expression 5 signed int 
-
-    constant expression 3 signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is f
-decl is f: function
-  with parameters
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is t1
-decl is t1: const volatile tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: f: function
-            with parameters
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: t1: const volatile tuple of types
-            signed int 
-            signed int 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: t1: const volatile tuple of types
-              signed int 
-              signed int 
-
-
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: f: function
-      with parameters
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: t1: const volatile tuple of types
-        signed int 
-        signed int 
-
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: f: function
-        with parameters
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: t1: const volatile tuple of types
-          signed int 
-          signed int 
-
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is g
-decl is g: function
-  with parameters
-    signed int 
-    signed int 
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: g: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: g: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is t1
-decl is t1: const volatile tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: g: function
-            with parameters
-              signed int 
-              signed int 
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                  signed int 
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is lvalue signed int 
-formal type is signed int 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-        Variable Expression: t1: const volatile tuple of types
-            signed int 
-            signed int 
-
---- results are
-        lvalue signed int 
-        lvalue signed int 
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-
-converting lvalue signed int 
- to signed int 
-cost is( 0, 0, 0 )
-actual expression:
-constant expression 3 signed int --- results are
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-        signed int 
-        signed int 
-actuals are:
-                  Variable Expression: t1: const volatile tuple of types
-              signed int 
-              signed int 
-
-
-        constant expression 3 signed int 
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: g: function
-      with parameters
-        signed int 
-        signed int 
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-      Variable Expression: t1: const volatile tuple of types
-        signed int 
-        signed int 
-
-
-  constant expression 3 signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: g: function
-        with parameters
-          signed int 
-          signed int 
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-          Variable Expression: t1: const volatile tuple of types
-          signed int 
-          signed int 
-
-
-    constant expression 3 signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Tuple:
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 3 signed int 
-  constant expression 5 signed int 
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-  Tuple:
-    constant expression 3 signed int 
-    constant expression 5 signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: a: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: a: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4.6 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 4.6 double (types:
-    double 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 4.6 double 
-(types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 4.6 double 
-(types:
-    double 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is c
-decl is c: signed int 
-newExpr is Variable Expression: c: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is d
-decl is d: signed int 
-newExpr is Variable Expression: d: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: c: signed int 
-
-      Variable Expression: d: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: c: signed int 
-
-          Variable Expression: d: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: c: signed int 
-
-          Variable Expression: d: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 3 signed int 
-  constant expression 5 signed int 
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 3 signed int 
-  constant expression 5 signed int 
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: c: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: c: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is c
-decl is c: signed int 
-newExpr is Variable Expression: c: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: c: signed int 
-
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: c: signed int 
-
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-      Tuple:
-              Variable Expression: c: signed int 
-
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-          Tuple:
-                  Variable Expression: c: signed int 
-
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-          Tuple:
-                  Variable Expression: c: signed int 
-
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
-    signed int 
-)
-Environment: 
-
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 2 signed int 
-      Tuple:
-              Variable Expression: a: signed int 
-
-              Variable Expression: b: signed int 
-
-
-(types:
-    signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 2 signed int 
-      Tuple:
-              Variable Expression: a: signed int 
-
-              Variable Expression: b: signed int 
-
-
-(types:
-    signed int 
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?!=?
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is t1
-decl is t1: const volatile tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is t1
-decl is t1: const volatile tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is t2
-decl is t2: static const tuple of types
-  signed int 
-  const signed int 
-
-newExpr is Variable Expression: t2: static const tuple of types
-    signed int 
-    const signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t2: static const tuple of types
-    signed int 
-    const signed int 
-
-(types:
-    lvalue signed int 
-    const lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t2: static const tuple of types
-      signed int 
-      const signed int 
-
-(types:
-    pointer to signed int 
-    pointer to const signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t2: static const tuple of types
-      signed int 
-      const signed int 
-
-(types:
-    pointer to signed int 
-    pointer to const signed int 
-)
-Environment: 
-
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is c
-decl is c: signed int 
-newExpr is Variable Expression: c: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is d
-decl is d: signed int 
-newExpr is Variable Expression: d: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: c: signed int 
-
-      Variable Expression: d: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: c: signed int 
-
-          Variable Expression: d: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: c: signed int 
-
-          Variable Expression: d: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?+=?
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is c
-decl is c: signed int 
-newExpr is Variable Expression: c: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is d
-decl is d: signed int 
-newExpr is Variable Expression: d: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: c: signed int 
-
-      Variable Expression: d: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: c: signed int 
-
-          Variable Expression: d: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: c: signed int 
-
-          Variable Expression: d: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is t1
-decl is t1: const volatile tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is t1
-decl is t1: const volatile tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is c
-decl is c: signed int 
-newExpr is Variable Expression: c: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is d
-decl is d: signed int 
-newExpr is Variable Expression: d: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: c: signed int 
-
-      Variable Expression: d: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: c: signed int 
-
-      Variable Expression: d: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is t1
-decl is t1: const volatile tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is t2
-decl is t2: static const tuple of types
-  signed int 
-  const signed int 
-
-newExpr is Variable Expression: t2: static const tuple of types
-    signed int 
-    const signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t2: static const tuple of types
-    signed int 
-    const signed int 
-
-(types:
-    lvalue signed int 
-    const lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t2: static const tuple of types
-      signed int 
-      const signed int 
-
-(types:
-    pointer to signed int 
-    pointer to const signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t2: static const tuple of types
-      signed int 
-      const signed int 
-
-(types:
-    pointer to signed int 
-    pointer to const signed int 
-)
-Environment: 
-
-nameExpr is c
-decl is c: signed int 
-newExpr is Variable Expression: c: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is d
-decl is d: signed int 
-newExpr is Variable Expression: d: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: c: signed int 
-
-      Variable Expression: d: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: c: signed int 
-
-      Variable Expression: d: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to signed int 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is t1
-decl is t1: const volatile tuple of types
-  signed int 
-  signed int 
-
-newExpr is Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: t1: const volatile tuple of types
-      signed int 
-      signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 3 signed int 
-  constant expression 4 signed int 
-(types:
-    signed int 
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is s
-decl is s: instance of struct outer 
-newExpr is Variable Expression: s: instance of struct outer 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: s: instance of struct outer 
-(types:
-    lvalue instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: s: instance of struct outer 
-(types:
-    pointer to instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: s: instance of struct outer 
-(types:
-    pointer to instance of struct outer 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 11 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 11 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 12 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 12 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 13 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 13 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3.14159 double (types:
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3.14159 double (types:
-    double 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 11 signed int 
-  constant expression 12 signed int 
-  constant expression 13 signed int 
-  constant expression 3.14159 double 
-(types:
-    signed int 
-    signed int 
-    signed int 
-    double 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Tuple:
-  constant expression 11 signed int 
-  constant expression 12 signed int 
-  constant expression 13 signed int 
-  constant expression 3.14159 double 
-(types:
-    signed int 
-    signed int 
-    signed int 
-    double 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to instance of struct outer 
-formal type is instance of struct outer 
-actual type is signed int 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to instance of struct outer 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is s
-decl is s: instance of struct outer 
-newExpr is Variable Expression: s: instance of struct outer 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: s: instance of struct outer 
-(types:
-    lvalue instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: s: instance of struct outer 
-(types:
-    pointer to instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: s: instance of struct outer 
-(types:
-    pointer to instance of struct outer 
-)
-Environment: 
-
-nameExpr is h
-decl is h: static function
-  with parameters
-    a: signed int 
-    b: signed int 
-    c: pointer to signed int 
-    d: pointer to char 
-  returning 
-    signed int 
-    pointer to signed int 
-    pointer to signed int 
-    signed int 
-
-newExpr is Variable Expression: h: static function
-    with parameters
-      a: signed int 
-      b: signed int 
-      c: pointer to signed int 
-      d: pointer to char 
-    returning 
-      signed int 
-      pointer to signed int 
-      pointer to signed int 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: h: static function
-    with parameters
-      a: signed int 
-      b: signed int 
-      c: pointer to signed int 
-      d: pointer to char 
-    returning 
-      signed int 
-      pointer to signed int 
-      pointer to signed int 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          a: signed int 
-          b: signed int 
-          c: pointer to signed int 
-          d: pointer to char 
-        returning 
-          signed int 
-          pointer to signed int 
-          pointer to signed int 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-nameExpr is 0
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is a
-decl is a: signed int 
-newExpr is Variable Expression: a: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-nameExpr is b
-decl is b: signed int 
-newExpr is Variable Expression: b: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Tuple:
-      Variable Expression: a: signed int 
-
-      Variable Expression: b: signed int 
-
-(types:
-    lvalue signed int 
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Tuple:
-          Variable Expression: a: signed int 
-
-          Variable Expression: b: signed int 
-
-(types:
-    pointer to signed int 
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is h
-decl is h: static function
-  with parameters
-    a: signed int 
-    b: signed int 
-    c: pointer to signed int 
-    d: pointer to char 
-  returning 
-    signed int 
-    pointer to signed int 
-    pointer to signed int 
-    signed int 
-
-newExpr is Variable Expression: h: static function
-    with parameters
-      a: signed int 
-      b: signed int 
-      c: pointer to signed int 
-      d: pointer to char 
-    returning 
-      signed int 
-      pointer to signed int 
-      pointer to signed int 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: h: static function
-    with parameters
-      a: signed int 
-      b: signed int 
-      c: pointer to signed int 
-      d: pointer to char 
-    returning 
-      signed int 
-      pointer to signed int 
-      pointer to signed int 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          a: signed int 
-          b: signed int 
-          c: pointer to signed int 
-          d: pointer to char 
-        returning 
-          signed int 
-          pointer to signed int 
-          pointer to signed int 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-nameExpr is 0
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is sp
-decl is sp: pointer to instance of struct outer 
-newExpr is Variable Expression: sp: pointer to instance of struct outer 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: sp: pointer to instance of struct outer 
-(types:
-    lvalue pointer to instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: sp: pointer to instance of struct outer 
-(types:
-    pointer to pointer to instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: sp: pointer to instance of struct outer 
-(types:
-    pointer to pointer to instance of struct outer 
-)
-Environment: 
-
-nameExpr is sp
-decl is sp: pointer to instance of struct outer 
-newExpr is Variable Expression: sp: pointer to instance of struct outer 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: sp: pointer to instance of struct outer 
-(types:
-    lvalue pointer to instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: sp: pointer to instance of struct outer 
-(types:
-    lvalue pointer to instance of struct outer 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct outer 
-              _src: instance of struct outer 
-            returning 
-              instance of struct outer 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct outer 
-                  _src: instance of struct outer 
-                returning 
-                  instance of struct outer 
-
-)
-        Environment: 
-formal type is pointer to instance of struct outer 
-actual type is pointer to pointer to instance of struct outer 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct inner 
-              _src: instance of struct inner 
-            returning 
-              instance of struct inner 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-)
-        Environment: 
-formal type is pointer to instance of struct inner 
-actual type is pointer to pointer to instance of struct outer 
-nameExpr is printf
-decl is printf: function
-  with parameters
-    fmt: pointer to char 
-    and a variable number of other arguments
-  returning 
-    rc: signed int 
-
-newExpr is Variable Expression: printf: function
-    with parameters
-      fmt: pointer to char 
-      and a variable number of other arguments
-    returning 
-      rc: signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: printf: function
-    with parameters
-      fmt: pointer to char 
-      and a variable number of other arguments
-    returning 
-      rc: signed int 
-
-(types:
-    pointer to function
-        with parameters
-          fmt: pointer to char 
-          and a variable number of other arguments
-        returning 
-          rc: signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int (types:
-    pointer to char 
-)
-Environment: 
-
-nameExpr is s
-decl is s: instance of struct outer 
-newExpr is Variable Expression: s: instance of struct outer 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: s: instance of struct outer 
-(types:
-    lvalue instance of struct outer 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Variable Expression: s: instance of struct outer 
-(types:
-    lvalue instance of struct outer 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: printf: function
-            with parameters
-              fmt: pointer to char 
-              and a variable number of other arguments
-            returning 
-              rc: signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  fmt: pointer to char 
-                  and a variable number of other arguments
-                returning 
-                  rc: signed int 
-
-)
-        Environment: 
-formal type is pointer to char 
-actual type is pointer to char 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int --- results are
-        pointer to char 
-
-converting pointer to char 
- to pointer to char 
-cost is( 0, 0, 0 )
-actual expression:
-        Variable Expression: s: instance of struct outer 
---- results are
-        lvalue instance of struct outer 
-Case +++++++++++++
-formals are:
-        fmt: pointer to char 
-actuals are:
-        constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int 
-                  Variable Expression: s: instance of struct outer 
-
-bindings are:
-cost of conversion is:( 1, 0, 0 )
-alternatives before prune:
-Cost ( 1, 0, 0 ): Application of
-  Variable Expression: printf: function
-      with parameters
-        fmt: pointer to char 
-        and a variable number of other arguments
-      returning 
-        rc: signed int 
-
-to arguments
-  constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int 
-      Variable Expression: s: instance of struct outer 
-
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: printf: function
-        with parameters
-          fmt: pointer to char 
-          and a variable number of other arguments
-        returning 
-          rc: signed int 
-
-  to arguments
-    constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int 
-          Variable Expression: s: instance of struct outer 
-
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct inner 
-    _src: instance of struct inner 
-  returning 
-    instance of struct inner 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f2: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct inner 
-              Member Expression, with field: 
-                f3: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct inner 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct inner 
-
-to:
-  instance of struct inner 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct outer 
-    _src: instance of struct outer 
-  returning 
-    instance of struct outer 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f1: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Expression Statement:
-          Application of
-            Variable Expression: ?=?: inline static function
-                with parameters
-                  _dst: pointer to instance of struct inner 
-                  _src: instance of struct inner 
-                returning 
-                  instance of struct inner 
-
-          to arguments
-                          Address of:
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-
-                          Member Expression, with field: 
-                i: instance of struct inner 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-          with environment:
-            Types:
-            Non-types:
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct outer 
-              Member Expression, with field: 
-                f4: double 
-              from aggregate: 
-                Variable Expression: _src: instance of struct outer 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct outer 
-
-to:
-  instance of struct outer 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct inner 
-          _src: instance of struct inner 
-        returning 
-          instance of struct inner 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct outer 
-          _src: instance of struct outer 
-        returning 
-          instance of struct outer 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-nameExpr is rc
-decl is rc: signed int 
-newExpr is Variable Expression: rc: signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: rc: signed int 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: rc: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Variable Expression: rc: signed int 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-nameExpr is 0
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f2: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct inner 
-    Member Expression, with field: 
-      f2: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct inner 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f3: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct inner 
-    Member Expression, with field: 
-      f3: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct inner 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f1: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct outer 
-    Member Expression, with field: 
-      f1: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct outer 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        f4: double 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct outer 
-    Member Expression, with field: 
-      f4: double 
-    from aggregate: 
-      Variable Expression: _src: instance of struct outer 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Variable Expression: x: short signed int 
-    Variable Expression: w: signed int 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f
-...to: 
-constant expression 17 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: f
-...to: 
-constant expression 17 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: r
-    Tuple:
-              Name: x
-
-              Name: y
-
-              Name: z
-
-
-Error: No reasonable alternatives for expression Name: 1
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Variable Expression: a: signed int 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Tuple:
-                  Name: a
-
-                  Name: b
-
-    Tuple:
-      constant expression 4.6 double 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Variable Expression: c: signed int 
-constant expression 3 signed int 
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Tuple:
-                  Name: a
-
-                  Name: b
-
-                  Tuple:
-                          Name: c
-
-
-    Tuple:
-      constant expression 2 signed int 
-              Tuple:
-                      Name: a
-
-                      Name: b
-
-
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t1
-    Tuple:
-              Name: a
-
-              Name: b
-
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t2
-    Tuple:
-              Name: a
-
-              Name: b
-
-
-Error: No reasonable alternatives for expression Name: ?+=?
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Tuple:
-                  Name: c
-
-                  Name: d
-
-    Name: t1
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t1
-    Tuple:
-              Name: c
-
-              Name: d
-
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: t2
-    Tuple:
-              Name: c
-
-              Name: d
-
-
-Error: No reasonable alternatives for expression Address of:
-  Tuple:
-    constant expression 3 signed int 
-    constant expression 4 signed int 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: s
-    Tuple:
-      constant expression 11 signed int 
-      constant expression 12 signed int 
-      constant expression 13 signed int 
-      constant expression 3.14159 double 
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: sp
-    Name: sp
-
-Error: No reasonable alternatives for expression Name: 0
-
Index: src/Tests/Expect-r/TypeGenerator.txt
===================================================================
--- src/Tests/Expect-r/TypeGenerator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,3714 +1,0 @@
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                next: pointer to instance of type List1 (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  data: instance of type T (not function type) 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    data: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    data: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  data: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  data: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type T (not function type) 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                next: pointer to instance of type List1 (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  next: pointer to instance of type List1 (not function type) 
-  with parameters
-    instance of type T (not function type) 
-
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue pointer to instance of type List1 (not function type) 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    next: pointer to instance of type List1 (not function type) 
-    with parameters
-      instance of type T (not function type) 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to pointer to instance of type List1 (not function type) 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    next: pointer to instance of type List1 (not function type) 
-    with parameters
-      instance of type T (not function type) 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to pointer to instance of type List1 (not function type) 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  next: pointer to instance of type List1 (not function type) 
-  with parameters
-    instance of type T (not function type) 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue pointer to instance of type List1 (not function type) 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  next: pointer to instance of type List1 (not function type) 
-  with parameters
-    instance of type T (not function type) 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue pointer to instance of type List1 (not function type) 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to pointer to instance of type List1 (not function type) 
-with parameters
-  instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-(types:
-    instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                next: pointer to instance of type List1 (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type List1 (not function type) 
-    _src: instance of type List1 (not function type) 
-  returning 
-    instance of type List1 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-    to:
-      pointer to pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type List1 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type List1 (not function type) 
-          _src: instance of type List1 (not function type) 
-        returning 
-          instance of type List1 (not function type) 
-
-)
-Environment: 
-
-there are 2 alternatives before elimination
-there are 2 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-(types:
-    lvalue pointer to instance of type List1 (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                next: pointer to instance of type List1 (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S2 
-    _src: instance of struct S2 
-  returning 
-    instance of struct S2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S2 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S2 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S2 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type List1 (not function type) 
-    _src: instance of type List1 (not function type) 
-  returning 
-    instance of type List1 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-    to:
-      pointer to pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type List1 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S2 
-          _src: instance of struct S2 
-        returning 
-          instance of struct S2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type List1 (not function type) 
-          _src: instance of type List1 (not function type) 
-        returning 
-          instance of type List1 (not function type) 
-
-)
-Environment: 
-
-there are 3 alternatives before elimination
-there are 3 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type T (not function type) 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S2 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S2 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S2 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct S2 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct S2 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type List1 (not function type) 
-              _src: instance of type List1 (not function type) 
-            returning 
-              instance of type List1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type List1 (not function type) 
-                  _src: instance of type List1 (not function type) 
-                returning 
-                  instance of type List1 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type List1 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S2 
-              _src: instance of struct S2 
-            returning 
-              instance of struct S2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S2 
-                  _src: instance of struct S2 
-                returning 
-                  instance of struct S2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S2 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type T (not function type) 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S2 
-(types:
-    lvalue instance of struct S2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct S2 
-
-to:
-  instance of struct S2 
-(types:
-    instance of struct S2 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                next: pointer to instance of type List1 (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S2 
-    _src: instance of struct S2 
-  returning 
-    instance of struct S2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S2 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct S2 
-
-to:
-  instance of struct S2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S24 
-    _src: instance of struct S24 
-  returning 
-    instance of struct S24 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S24 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S24 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct S24 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type List1 (not function type) 
-    _src: instance of type List1 (not function type) 
-  returning 
-    instance of type List1 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-    to:
-      pointer to pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type List1 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S2 
-          _src: instance of struct S2 
-        returning 
-          instance of struct S2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S24 
-          _src: instance of struct S24 
-        returning 
-          instance of struct S24 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type List1 (not function type) 
-          _src: instance of type List1 (not function type) 
-        returning 
-          instance of type List1 (not function type) 
-
-)
-Environment: 
-
-there are 4 alternatives before elimination
-there are 4 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type T (not function type) 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct S24 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S24 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct S24 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct S24 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct S24 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type List1 (not function type) 
-              _src: instance of type List1 (not function type) 
-            returning 
-              instance of type List1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type List1 (not function type) 
-                  _src: instance of type List1 (not function type) 
-                returning 
-                  instance of type List1 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type List1 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S24 
-              _src: instance of struct S24 
-            returning 
-              instance of struct S24 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S24 
-                  _src: instance of struct S24 
-                returning 
-                  instance of struct S24 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S24 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S2 
-              _src: instance of struct S2 
-            returning 
-              instance of struct S2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S2 
-                  _src: instance of struct S2 
-                returning 
-                  instance of struct S2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S2 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type T (not function type) 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S24 
-(types:
-    lvalue instance of struct S24 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct S24 
-
-to:
-  instance of struct S24 
-(types:
-    instance of struct S24 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                next: pointer to instance of type List1 (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S2 
-    _src: instance of struct S2 
-  returning 
-    instance of struct S2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S2 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct S2 
-
-to:
-  instance of struct S2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S24 
-    _src: instance of struct S24 
-  returning 
-    instance of struct S24 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S24 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S24 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct S24 
-
-to:
-  instance of struct S24 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type List1 (not function type) 
-    _src: instance of type List1 (not function type) 
-  returning 
-    instance of type List1 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-    to:
-      pointer to pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type List1 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S2 
-          _src: instance of struct S2 
-        returning 
-          instance of struct S2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S24 
-          _src: instance of struct S24 
-        returning 
-          instance of struct S24 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type List1 (not function type) 
-          _src: instance of type List1 (not function type) 
-        returning 
-          instance of type List1 (not function type) 
-
-)
-Environment: 
-
-there are 5 alternatives before elimination
-there are 5 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type T (not function type) 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    i: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  i: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type List1 (not function type) 
-              _src: instance of type List1 (not function type) 
-            returning 
-              instance of type List1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type List1 (not function type) 
-                  _src: instance of type List1 (not function type) 
-                returning 
-                  instance of type List1 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type List1 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S24 
-              _src: instance of struct S24 
-            returning 
-              instance of struct S24 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S24 
-                  _src: instance of struct S24 
-                returning 
-                  instance of struct S24 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S24 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S2 
-              _src: instance of struct S2 
-            returning 
-              instance of struct S2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S2 
-                  _src: instance of struct S2 
-                returning 
-                  instance of struct S2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S2 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type T (not function type) 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous1 
-(types:
-    lvalue instance of struct __anonymous1 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-(types:
-    instance of struct __anonymous1 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                next: pointer to instance of type List1 (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S2 
-    _src: instance of struct S2 
-  returning 
-    instance of struct S2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S2 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct S2 
-
-to:
-  instance of struct S2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S24 
-    _src: instance of struct S24 
-  returning 
-    instance of struct S24 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S24 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S24 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct S24 
-
-to:
-  instance of struct S24 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct node 
-    _src: instance of struct node 
-  returning 
-    instance of struct node 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct node 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct node 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of struct node 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct node 
-              Member Expression, with field: 
-                next: pointer to instance of struct node 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct node 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct node 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct node 
-      _src: instance of struct node 
-    returning 
-      instance of struct node 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type List1 (not function type) 
-    _src: instance of type List1 (not function type) 
-  returning 
-    instance of type List1 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-    to:
-      pointer to pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type List1 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S2 
-          _src: instance of struct S2 
-        returning 
-          instance of struct S2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S24 
-          _src: instance of struct S24 
-        returning 
-          instance of struct S24 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct node 
-      _src: instance of struct node 
-    returning 
-      instance of struct node 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct node 
-          _src: instance of struct node 
-        returning 
-          instance of struct node 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type List1 (not function type) 
-          _src: instance of type List1 (not function type) 
-        returning 
-          instance of type List1 (not function type) 
-
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  data: instance of type T (not function type) 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct node 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    data: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct node 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    data: instance of type T (not function type) 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct node 
-(types:
-    pointer to instance of type T (not function type) 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  data: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct node 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  data: instance of type T (not function type) 
-from aggregate: 
-  Variable Expression: _src: instance of struct node 
-(types:
-    lvalue instance of type T (not function type) 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type List1 (not function type) 
-              _src: instance of type List1 (not function type) 
-            returning 
-              instance of type List1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type List1 (not function type) 
-                  _src: instance of type List1 (not function type) 
-                returning 
-                  instance of type List1 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type List1 (not function type) 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct node 
-              _src: instance of struct node 
-            returning 
-              instance of struct node 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct node 
-                  _src: instance of struct node 
-                returning 
-                  instance of struct node 
-
-)
-        Environment: 
-formal type is pointer to instance of struct node 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S24 
-              _src: instance of struct S24 
-            returning 
-              instance of struct S24 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S24 
-                  _src: instance of struct S24 
-                returning 
-                  instance of struct S24 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S24 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S2 
-              _src: instance of struct S2 
-            returning 
-              instance of struct S2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S2 
-                  _src: instance of struct S2 
-                returning 
-                  instance of struct S2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S2 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to instance of type T (not function type) 
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to instance of type T (not function type) 
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                next: pointer to instance of type List1 (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S2 
-    _src: instance of struct S2 
-  returning 
-    instance of struct S2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S2 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct S2 
-
-to:
-  instance of struct S2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S24 
-    _src: instance of struct S24 
-  returning 
-    instance of struct S24 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S24 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S24 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct S24 
-
-to:
-  instance of struct S24 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct node 
-    _src: instance of struct node 
-  returning 
-    instance of struct node 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct node 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct node 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of struct node 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct node 
-              Member Expression, with field: 
-                next: pointer to instance of struct node 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct node 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct node 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct node 
-      _src: instance of struct node 
-    returning 
-      instance of struct node 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type List1 (not function type) 
-    _src: instance of type List1 (not function type) 
-  returning 
-    instance of type List1 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-    to:
-      pointer to pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type List1 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S2 
-          _src: instance of struct S2 
-        returning 
-          instance of struct S2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S24 
-          _src: instance of struct S24 
-        returning 
-          instance of struct S24 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct node 
-      _src: instance of struct node 
-    returning 
-      instance of struct node 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct node 
-          _src: instance of struct node 
-        returning 
-          instance of struct node 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type List1 (not function type) 
-          _src: instance of type List1 (not function type) 
-        returning 
-          instance of type List1 (not function type) 
-
-)
-Environment: 
-
-there are 6 alternatives before elimination
-there are 6 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  next: pointer to instance of struct node 
-  with parameters
-    instance of type T (not function type) 
-
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct node 
-(types:
-    lvalue pointer to instance of struct node 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    next: pointer to instance of struct node 
-    with parameters
-      instance of type T (not function type) 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct node 
-(types:
-    pointer to pointer to instance of struct node 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    next: pointer to instance of struct node 
-    with parameters
-      instance of type T (not function type) 
-
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct node 
-(types:
-    pointer to pointer to instance of struct node 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  next: pointer to instance of struct node 
-  with parameters
-    instance of type T (not function type) 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct node 
-(types:
-    lvalue pointer to instance of struct node 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  next: pointer to instance of struct node 
-  with parameters
-    instance of type T (not function type) 
-
-from aggregate: 
-  Variable Expression: _src: instance of struct node 
-(types:
-    lvalue pointer to instance of struct node 
-      with parameters
-        instance of type T (not function type) 
-
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
-            with parameters
-              _dst: pointer to instance of type List1 (not function type) 
-              _src: instance of type List1 (not function type) 
-            returning 
-              instance of type List1 (not function type) 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of type List1 (not function type) 
-                  _src: instance of type List1 (not function type) 
-                returning 
-                  instance of type List1 (not function type) 
-
-)
-        Environment: 
-formal type is pointer to instance of type List1 (not function type) 
-actual type is pointer to pointer to instance of struct node 
-with parameters
-  instance of type T (not function type) 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct node 
-              _src: instance of struct node 
-            returning 
-              instance of struct node 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct node 
-                  _src: instance of struct node 
-                returning 
-                  instance of struct node 
-
-)
-        Environment: 
-formal type is pointer to instance of struct node 
-actual type is pointer to pointer to instance of struct node 
-with parameters
-  instance of type T (not function type) 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S24 
-              _src: instance of struct S24 
-            returning 
-              instance of struct S24 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S24 
-                  _src: instance of struct S24 
-                returning 
-                  instance of struct S24 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S24 
-actual type is pointer to pointer to instance of struct node 
-with parameters
-  instance of type T (not function type) 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct S2 
-              _src: instance of struct S2 
-            returning 
-              instance of struct S2 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct S2 
-                  _src: instance of struct S2 
-                returning 
-                  instance of struct S2 
-
-)
-        Environment: 
-formal type is pointer to instance of struct S2 
-actual type is pointer to pointer to instance of struct node 
-with parameters
-  instance of type T (not function type) 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous1 
-              _src: instance of struct __anonymous1 
-            returning 
-              instance of struct __anonymous1 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous1 
-                  _src: instance of struct __anonymous1 
-                returning 
-                  instance of struct __anonymous1 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous1 
-actual type is pointer to pointer to instance of struct node 
-with parameters
-  instance of type T (not function type) 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to pointer to instance of struct node 
-with parameters
-  instance of type T (not function type) 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct node 
-(types:
-    lvalue instance of struct node 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct node 
-
-to:
-  instance of struct node 
-(types:
-    instance of struct node 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                next: pointer to instance of type List1 (not function type) 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous1 
-    _src: instance of struct __anonymous1 
-  returning 
-    instance of struct __anonymous1 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous1 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct __anonymous1 
-
-to:
-  instance of struct __anonymous1 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S2 
-    _src: instance of struct S2 
-  returning 
-    instance of struct S2 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S2 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S2 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct S2 
-
-to:
-  instance of struct S2 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct S24 
-    _src: instance of struct S24 
-  returning 
-    instance of struct S24 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct S24 
-              Member Expression, with field: 
-                i: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct S24 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct S24 
-
-to:
-  instance of struct S24 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct node 
-    _src: instance of struct node 
-  returning 
-    instance of struct node 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct node 
-              Member Expression, with field: 
-                data: instance of type T (not function type) 
-              from aggregate: 
-                Variable Expression: _src: instance of struct node 
-
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  next: pointer to instance of struct node 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct node 
-              Member Expression, with field: 
-                next: pointer to instance of struct node 
-                with parameters
-                  instance of type T (not function type) 
-
-              from aggregate: 
-                Variable Expression: _src: instance of struct node 
-
-              Return Statement, returning: Cast of:
-  Variable Expression: _src: instance of struct node 
-
-to:
-  instance of struct node 
-with environment:
-  Types:
-  Non-types:
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct node 
-      _src: instance of struct node 
-    returning 
-      instance of struct node 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type List (not function type) 
-    _src: instance of type List (not function type) 
-  returning 
-    instance of type List (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List (not function type) 
-
-    to:
-      pointer to pointer to instance of struct node 
-        with parameters
-          instance of type T (not function type) 
-
-    Cast of:
-      Variable Expression: _src: instance of type List (not function type) 
-
-    to:
-      pointer to instance of struct node 
-        with parameters
-          instance of type T (not function type) 
-
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List (not function type) 
-      _src: instance of type List (not function type) 
-    returning 
-      instance of type List (not function type) 
-
-
-decl is ?=?: automatically generated function
-  with parameters
-    _dst: pointer to instance of type List1 (not function type) 
-    _src: instance of type List1 (not function type) 
-  returning 
-    instance of type List1 (not function type) 
-  with body 
-    CompoundStmt
-              Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-    to:
-      pointer to pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type List1 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous1 
-          _src: instance of struct __anonymous1 
-        returning 
-          instance of struct __anonymous1 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S2 
-          _src: instance of struct S2 
-        returning 
-          instance of struct S2 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct S24 
-          _src: instance of struct S24 
-        returning 
-          instance of struct S24 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct node 
-      _src: instance of struct node 
-    returning 
-      instance of struct node 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct node 
-          _src: instance of struct node 
-        returning 
-          instance of struct node 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List (not function type) 
-      _src: instance of type List (not function type) 
-    returning 
-      instance of type List (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type List (not function type) 
-          _src: instance of type List (not function type) 
-        returning 
-          instance of type List (not function type) 
-
-)
-Environment: 
-
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of type List1 (not function type) 
-          _src: instance of type List1 (not function type) 
-        returning 
-          instance of type List1 (not function type) 
-
-)
-Environment: 
-
-there are 7 alternatives before elimination
-there are 7 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type List (not function type) 
-(types:
-    lvalue pointer to instance of type List (not function type) 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is my_list
-decl is my_list: instance of type List (not function type) 
-with parameters
-  signed int 
-
-newExpr is Variable Expression: my_list: instance of type List (not function type) 
-  with parameters
-    signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: my_list: instance of type List (not function type) 
-  with parameters
-    signed int 
-
-(types:
-    lvalue instance of type List (not function type) 
-      with parameters
-        signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        data: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      data: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        next: pointer to instance of type List1 (not function type) 
-        with parameters
-          instance of type T (not function type) 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      next: pointer to instance of type List1 (not function type) 
-      with parameters
-        instance of type T (not function type) 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-to:
-  pointer to pointer to instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S2 
-    Member Expression, with field: 
-      i: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S2 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct S24 
-    Member Expression, with field: 
-      i: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct S24 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        i: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous1 
-    Member Expression, with field: 
-      i: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous1 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        data: instance of type T (not function type) 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct node 
-    Member Expression, with field: 
-      data: instance of type T (not function type) 
-    from aggregate: 
-      Variable Expression: _src: instance of struct node 
-
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        next: pointer to instance of struct node 
-        with parameters
-          instance of type T (not function type) 
-
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct node 
-    Member Expression, with field: 
-      next: pointer to instance of struct node 
-      with parameters
-        instance of type T (not function type) 
-
-    from aggregate: 
-      Variable Expression: _src: instance of struct node 
-
-Error: No reasonable alternatives for expression Cast of:
-  Variable Expression: _dst: pointer to instance of type List (not function type) 
-
-to:
-  pointer to pointer to instance of struct node 
-    with parameters
-      instance of type T (not function type) 
-
-
-Error: No reasonable alternatives for expression Cast of:
-  Name: my_list
-
-to:
-  instance of struct node 
-    with parameters
-      signed int 
-
-
Index: src/Tests/Expect-r/Typedef.txt
===================================================================
--- src/Tests/Expect-r/Typedef.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,424 +1,0 @@
-nameExpr is T
-decl is T: function
-  with parameters
-    signed int 
-  returning 
-    signed int 
-
-newExpr is Variable Expression: T: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: T: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-(types:
-    pointer to function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: T: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-(types:
-            pointer to function
-                with parameters
-                  signed int 
-                returning 
-                  signed int 
-
-)
-        Environment: 
-formal type is signed int 
-actual type is signed int 
-need assertions:
-============= original indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-============= new indexer
-===idTable===
-===typeTable===
-===structTable===
-===enumTable===
-===unionTable===
-===contextTable===
-actual expression:
-constant expression 3 signed int --- results are
-        signed int 
-
-converting signed int 
- to signed int 
-cost is( 0, 0, 0 )
-Case +++++++++++++
-formals are:
-        signed int 
-actuals are:
-        constant expression 3 signed int 
-bindings are:
-cost of conversion is:( 0, 0, 0 )
-alternatives before prune:
-Cost ( 0, 0, 0 ): Application of
-  Variable Expression: T: function
-      with parameters
-        signed int 
-      returning 
-        signed int 
-
-to arguments
-  constant expression 3 signed int 
-(types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Application of
-    Variable Expression: T: function
-        with parameters
-          signed int 
-        returning 
-          signed int 
-
-  to arguments
-    constant expression 3 signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is ?=?
-decl is ?=?: automatically generated inline static function
-  with parameters
-    _dst: pointer to instance of struct __anonymous0 
-    _src: instance of struct __anonymous0 
-  returning 
-    instance of struct __anonymous0 
-  with body 
-    CompoundStmt
-              Expression Statement:
-          Applying untyped: 
-              Name: ?=?
-          ...to: 
-              Address of:
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-              Member Expression, with field: 
-                T: signed int 
-              from aggregate: 
-                Variable Expression: _src: instance of struct __anonymous0 
-
-              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-newExpr is Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-
-(types:
-    pointer to function
-        with parameters
-          _dst: pointer to instance of struct __anonymous0 
-          _src: instance of struct __anonymous0 
-        returning 
-          instance of struct __anonymous0 
-
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  T: signed int 
-from aggregate: 
-  Applying untyped: 
-      Name: *?
-  ...to: 
-      Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    T: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Address of:
-  Member Expression, with field: 
-    T: signed int 
-  from aggregate: 
-    Applying untyped: 
-        Name: *?
-    ...to: 
-        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-(types:
-    pointer to signed int 
-)
-Environment: 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  T: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-findSubExprs
-Cost ( 0, 0, 0 ): Member Expression, with field: 
-  T: signed int 
-from aggregate: 
-  Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue signed int 
-)
-Environment: 
-
-working on alternative: 
-        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-
-(types:
-            pointer to function
-                with parameters
-                  _dst: pointer to instance of struct __anonymous0 
-                  _src: instance of struct __anonymous0 
-                returning 
-                  instance of struct __anonymous0 
-
-)
-        Environment: 
-formal type is pointer to instance of struct __anonymous0 
-actual type is pointer to signed int 
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
-(types:
-    lvalue instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): Cast of:
-  Variable Expression: _src: instance of struct __anonymous0 
-
-to:
-  instance of struct __anonymous0 
-(types:
-    instance of struct __anonymous0 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3 signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3 signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3 signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-constant expression 3 signed int 
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Member Expression, with field: 
-        T: signed int 
-      from aggregate: 
-        Applying untyped: 
-            Name: *?
-        ...to: 
-            Variable Expression: _dst: pointer to instance of struct __anonymous0 
-    Member Expression, with field: 
-      T: signed int 
-    from aggregate: 
-      Variable Expression: _src: instance of struct __anonymous0 
-
-Error: No reasonable alternatives for expression Cast of:
-constant expression 3 signed int 
-to:
-  instance of struct __anonymous0 
-
Index: src/Tests/Expect-r/TypedefDeclarator.txt
===================================================================
--- src/Tests/Expect-r/TypedefDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,583 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int main(){
-    int __f1__i;
-    int __f2__i;
-    int *__f3__Pi;
-    int **__f4__PPi;
-    int *const *__f5__PCPi;
-    int *const *const __f6__CPCPi;
-    int *__f7__Pi;
-    int **__f8__PPi;
-    int *const *__f9__PCPi;
-    int *const *const __f10__CPCPi;
-    int *__f11__Pi;
-    int **__f12__PPi;
-    int *const *__f13__PCPi;
-    int *const *const __f14__CPCPi;
-    int __f15__A0i[];
-    int __f16__A0i[((long unsigned int )10)];
-    int __f17__A0i[];
-    int __f18__A0i[((long unsigned int )10)];
-    int *__f19__A0Pi[];
-    int *__f20__A0Pi[((long unsigned int )10)];
-    int **__f21__A0PPi[];
-    int **__f22__A0PPi[((long unsigned int )10)];
-    int *const *__f23__A0PCPi[];
-    int *const *__f24__A0PCPi[((long unsigned int )10)];
-    int *const *const __f25__A0CPCPi[];
-    int *const *const __f26__A0CPCPi[((long unsigned int )10)];
-    int *__f27__A0Pi[];
-    int *__f28__A0Pi[((long unsigned int )10)];
-    int **__f29__A0PPi[];
-    int **__f30__A0PPi[((long unsigned int )10)];
-    int *const *__f31__A0PCPi[];
-    int *const *__f32__A0PCPi[((long unsigned int )10)];
-    int *const *const __f33__A0CPCPi[];
-    int *const *const __f34__A0CPCPi[((long unsigned int )10)];
-    int *__f35__A0Pi[];
-    int *__f36__A0Pi[((long unsigned int )10)];
-    int **__f37__A0PPi[];
-    int **__f38__A0PPi[((long unsigned int )10)];
-    int *const *__f39__A0PCPi[];
-    int *const *__f40__A0PCPi[((long unsigned int )10)];
-    int *const *const __f41__A0CPCPi[];
-    int *const *const __f42__A0CPCPi[((long unsigned int )10)];
-    int __f43__A0A0i[][3];
-    int __f44__A0A0i[((long unsigned int )3)][3];
-    int __f45__A0A0i[][3];
-    int __f46__A0A0i[((long unsigned int )3)][3];
-    int __f47__A0A0i[][3];
-    int __f48__A0A0i[((long unsigned int )3)][3];
-    int *__f49__A0A0Pi[][3];
-    int *__f50__A0A0Pi[((long unsigned int )3)][3];
-    int **__f51__A0A0PPi[][3];
-    int **__f52__A0A0PPi[((long unsigned int )3)][3];
-    int *const *__f53__A0A0PCPi[][3];
-    int *const *__f54__A0A0PCPi[((long unsigned int )3)][3];
-    int *const *const __f55__A0A0CPCPi[][3];
-    int *const *const __f56__A0A0CPCPi[((long unsigned int )3)][3];
-    int *__f57__A0A0Pi[][3];
-    int *__f58__A0A0Pi[((long unsigned int )3)][3];
-    int **__f59__A0A0PPi[][3];
-    int **__f60__A0A0PPi[((long unsigned int )3)][3];
-    int *const *__f61__A0A0PCPi[][3];
-    int *const *__f62__A0A0PCPi[((long unsigned int )3)][3];
-    int *const *const __f63__A0A0CPCPi[][3];
-    int *const *const __f64__A0A0CPCPi[((long unsigned int )3)][3];
-    int __f65__Fi_i_(int );
-    int __f66__Fi_i_(int );
-    int *__f67__FPi_i_(int );
-    int **__f68__FPPi_i_(int );
-    int *const *__f69__FPCPi_i_(int );
-    int *const *const __f70__FCPCPi_i_(int );
-    int *__f71__FPi_i_(int );
-    int **__f72__FPPi_i_(int );
-    int *const *__f73__FPCPi_i_(int );
-    int *const *const __f74__FCPCPi_i_(int );
-    int (*__f75__PFi_i_)(int );
-    int (**__f76__PPFi_i_)(int );
-    int (*const *__f77__PCPFi_i_)(int );
-    int (*const *const __f78__CPCPFi_i_)(int );
-    int (*(*__f79__PFPFi___i_)(int ))();
-    int (*(*const __f80__CPFPFi___i_)(int ))();
-    int (*const (*const __f81__CPFCPFi___i_)(int ))();
-}
Index: src/Tests/Expect-r/TypedefParamDeclarator.txt
===================================================================
--- src/Tests/Expect-r/TypedefParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-int __fred__Fi_iPiPPiPCPiCPCPiPiPPiPCPiCPCPiPiPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPA0iPA0iPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPFi_i_PFPi_i_PFPPi_i_PFPCPi_i_PFCPCPi_i_PFi_i_PPFi_i_PCPFi_i_CPCPFi_i_PFPFi___i_CPFPFi___i_CPFCPFi___i_CPiCPiPiCPiPFi_CPi_PFi_CPi_PFi_Pi_PFi_CPi_CPPiCPPiPPPiCPPCPiCPCPCPiPFPi_CPi_PFPi_CPi_PFPPi_Pi_PFPCPi_CPi_PFCPCPi_CPi_CPA0iCPA0iPA0iCPA0iPFi_CPA0i_PFi_CPA0i_PFi_PA0i_PFi_CPA0i_CPA0PiCPA0PiPA0PPiCPA0PCPiCPA0CPCPiPFPi_CPA0i_PFPi_CPA0i_PFPPi_PA0i_PFPCPi_CPA0i_PFCPCPi_CPA0i__(int __f1__i, int *__f3__Pi, int **__f4__PPi, int *const *__f5__PCPi, int *const *const __f6__CPCPi, int *__f11__Pi, int **__f12__PPi, int *const *__f13__PCPi, int *const *const __f14__CPCPi, int *__f15__Pi, int __f16__Pi[10], int **__f19__PPi, int *__f20__PPi[10], int ***__f21__PPPi, int **__f22__PPPi[10], int *const **__f23__PPCPi, int *const *__f24__PPCPi[10], int *const *const *__f25__PCPCPi, int *const *const __f26__PCPCPi[10], int **__f35__PPi, int *__f36__PPi[10], int ***__f37__PPPi, int **__f38__PPPi[10], int *const **__f39__PPCPi, int *const *__f40__PPCPi[10], int *const *const *__f41__PCPCPi, int *const *const __f42__PCPCPi[10], int (*__f43__PA0i)[3], int __f44__PA0i[3][3], int *(*__f49__PA0Pi)[3], int *__f50__PA0Pi[3][3], int **(*__f51__PA0PPi)[3], int **__f52__PA0PPi[3][3], int *const *(*__f53__PA0PCPi)[3], int *const *__f54__PA0PCPi[3][3], int *const *const (*__f55__PA0CPCPi)[3], int *const *const __f56__PA0CPCPi[3][3], int *(*__f57__PA0Pi)[3], int *__f58__PA0Pi[3][3], int **(*__f59__PA0PPi)[3], int **__f60__PA0PPi[3][3], int *const *(*__f61__PA0PCPi)[3], int *const *__f62__PA0PCPi[3][3], int *const *const (*__f63__PA0CPCPi)[3], int *const *const __f64__PA0CPCPi[3][3], int (*__f65__PFi_i_)(int ), int *(*__f67__PFPi_i_)(int ), int **(*__f68__PFPPi_i_)(int ), int *const *(*__f69__PFPCPi_i_)(int ), int *const *const (*__f70__PFCPCPi_i_)(int ), int (*__f75__PFi_i_)(int ), int (**__f76__PPFi_i_)(int ), int (*const *__f77__PCPFi_i_)(int ), int (*const *const __f78__CPCPFi_i_)(int ), int (*(*__f79__PFPFi___i_)(int ))(), int (*(*const __f80__CPFPFi___i_)(int ))(), int (*const (*const __f81__CPFCPFi___i_)(int ))(), int __f82__CPi[const *], int __f83__CPi[const 3], int __f84__Pi[static 3], int __f85__CPi[static const 3], int (*)(int [const *]), int (*)(int [const 3]), int (*)(int [static 3]), int (*)(int [static const 3]), int *__f90__CPPi[const *], int *__f91__CPPi[const 3], int **__f92__PPPi[static 3], int *const *__f93__CPPCPi[static const 3], int *const *const __f94__CPCPCPi[static const 3], int *(*)(int [const *]), int *(*)(int [const 3]), int **(*)(int [static 3]), int *const *(*)(int [static const 3]), int *const *const (*)(int [static const 3]), int __f100__CPA0i[const *][3], int __f101__CPA0i[const 3][3], int __f102__PA0i[static 3][3], int __f103__CPA0i[static const 3][3], int (*)(int [const *][3]), int (*)(int [const 3][3]), int (*)(int [static 3][3]), int (*)(int [static const 3][3]), int *__f108__CPA0Pi[const *][3], int *__f109__CPA0Pi[const 3][3], int **__f110__PA0PPi[static 3][3], int *const *__f111__CPA0PCPi[static const 3][3], int *const *const __f112__CPA0CPCPi[static const 3][3], int *(*)(int [const *][3]), int *(*)(int [const 3][3]), int **(*)(int [static 3][3]), int *const *(*)(int [static const 3][3]), int *const *const (*)(int [static const 3][3])){
-}
Index: src/Tests/Expect-r/Typeof.txt
===================================================================
--- src/Tests/Expect-r/Typeof.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,68 +1,0 @@
-nameExpr is v1
-decl is v1: pointer to signed int 
-newExpr is Variable Expression: v1: pointer to signed int 
-
-alternatives before prune:
-Cost ( 0, 0, 0 ): Variable Expression: v1: pointer to signed int 
-(types:
-    lvalue pointer to signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 1 ): Cast of:
-  Variable Expression: v1: pointer to signed int 
-
-to:
-  nothing
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-nameExpr is *?
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 4 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 4 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Error: No reasonable alternatives for expression Name: *?
-
Index: src/Tests/Expect-r/VariableDeclarator.txt
===================================================================
--- src/Tests/Expect-r/VariableDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,740 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 10 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 3 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int __f1__i;
-int __f2__i;
-int *__f3__Pi;
-int **__f4__PPi;
-int *const *__f5__PCPi;
-int *const *const __f6__CPCPi;
-int *__f7__Pi;
-int **__f8__PPi;
-int *const *__f9__PCPi;
-int *const *const __f10__CPCPi;
-int *__f11__Pi;
-int **__f12__PPi;
-int *const *__f13__PCPi;
-int *const *const __f14__CPCPi;
-int __f15__A0i[];
-int __f16__A0i[((long unsigned int )10)];
-int __f17__A0i[];
-int __f18__A0i[((long unsigned int )10)];
-int *__f19__A0Pi[];
-int *__f20__A0Pi[((long unsigned int )10)];
-int **__f21__A0PPi[];
-int **__f22__A0PPi[((long unsigned int )10)];
-int *const *__f23__A0PCPi[];
-int *const *__f24__A0PCPi[((long unsigned int )10)];
-int *const *const __f25__A0CPCPi[];
-int *const *const __f26__A0CPCPi[((long unsigned int )10)];
-int *__f27__A0Pi[];
-int *__f28__A0Pi[((long unsigned int )10)];
-int **__f29__A0PPi[];
-int **__f30__A0PPi[((long unsigned int )10)];
-int *const *__f31__A0PCPi[];
-int *const *__f32__A0PCPi[((long unsigned int )10)];
-int *const *const __f33__A0CPCPi[];
-int *const *const __f34__A0CPCPi[((long unsigned int )10)];
-int (*__f35__PA0i)[];
-int (*__f36__PA0i)[10];
-int (**__f37__PPA0i)[];
-int (**__f38__PPA0i)[10];
-int (*const *__f39__PCPA0i)[];
-int (*const *__f40__PCPA0i)[10];
-int (*const *const __f41__CPCPA0i)[];
-int (*const *const __f42__CPCPA0i)[10];
-int __f43__A0A0i[][3];
-int __f44__A0A0i[((long unsigned int )3)][3];
-int __f45__A0A0i[][3];
-int __f46__A0A0i[((long unsigned int )3)][3];
-int __f47__A0A0i[][3];
-int __f48__A0A0i[((long unsigned int )3)][3];
-int *__f49__A0A0Pi[][3];
-int *__f50__A0A0Pi[((long unsigned int )3)][3];
-int **__f51__A0A0PPi[][3];
-int **__f52__A0A0PPi[((long unsigned int )3)][3];
-int *const *__f53__A0A0PCPi[][3];
-int *const *__f54__A0A0PCPi[((long unsigned int )3)][3];
-int *const *const __f55__A0A0CPCPi[][3];
-int *const *const __f56__A0A0CPCPi[((long unsigned int )3)][3];
-int *__f57__A0A0Pi[][3];
-int *__f58__A0A0Pi[((long unsigned int )3)][3];
-int **__f59__A0A0PPi[][3];
-int **__f60__A0A0PPi[((long unsigned int )3)][3];
-int *const *__f61__A0A0PCPi[][3];
-int *const *__f62__A0A0PCPi[((long unsigned int )3)][3];
-int *const *const __f63__A0A0CPCPi[][3];
-int *const *const __f64__A0A0CPCPi[((long unsigned int )3)][3];
-int __f65__Fi_i_(int );
-int __f66__Fi_i_(int );
-int *__f67__FPi_i_(int );
-int **__f68__FPPi_i_(int );
-int *const *__f69__FPCPi_i_(int );
-int *const *const __f70__FCPCPi_i_(int );
-int *__f71__FPi_i_(int );
-int **__f72__FPPi_i_(int );
-int *const *__f73__FPCPi_i_(int );
-int *const *const __f74__FCPCPi_i_(int );
-int (*__f75__PFi_i_)(int );
-int (**__f76__PPFi_i_)(int );
-int (*const *__f77__PCPFi_i_)(int );
-int (*const *const __f78__CPCPFi_i_)(int );
-int (*(*__f79__PFPFi___i_)(int ))();
-int (*(*const __f80__CPFPFi___i_)(int ))();
-int (*const (*const __f81__CPFCPFi___i_)(int ))();
-int *__cf3__Pi;
-int **__cf4__PPi;
-int *const *__cf5__PCPi;
-int *const *const __cf6__CPCPi;
-int __cf15__A0i[];
-int __cf16__A0i[((long unsigned int )10)];
-int *__cf19__A0Pi[];
-int *__cf20__A0Pi[((long unsigned int )10)];
-int **__cf21__A0PPi[];
-int **__cf22__A0PPi[((long unsigned int )10)];
-int *const *__cf23__A0PCPi[];
-int *const *__cf24__A0PCPi[((long unsigned int )10)];
-int *const *const __cf25__A0CPCPi[];
-int *const *const __cf26__A0CPCPi[((long unsigned int )10)];
-int (*__cf35__PA0i)[];
-int (*__cf36__PA0i)[10];
-int (**__cf37__PPA0i)[];
-int (**__cf38__PPA0i)[10];
-int (*const *__cf39__PCPA0i)[];
-int (*const *__cf40__PCPA0i)[10];
-int (*const *const __cf41__CPCPA0i)[];
-int (*const *const __cf42__CPCPA0i)[10];
-int __cf43__A0A0i[][3];
-int __cf44__A0A0i[((long unsigned int )3)][3];
-int *__cf49__A0A0Pi[][3];
-int *__cf50__A0A0Pi[((long unsigned int )3)][3];
-int **__cf51__A0A0PPi[][3];
-int **__cf52__A0A0PPi[((long unsigned int )3)][3];
-int *const __cf53__A0A0CPi[][3];
-int *const *__cf54__A0A0PCPi[((long unsigned int )3)][3];
-int *const *const __cf55__A0A0CPCPi[][3];
-int *const *const __cf56__A0A0CPCPi[((long unsigned int )3)][3];
-int __cf65__Fi_i_(int );
-int __cf66__Fi_i_(int );
-int *__cf67__FPi_i_(int );
-int **__cf68__FPPi_i_(int );
-int **const __cf69__FCPPi_i_(int );
-int *const *const __cf70__FCPCPi_i_(int );
-int (*(*(*(*(*__v3__PA0PA0PFPA0PA0i_PA0PA0iPA0PA0i_)[])[])(int (*(*)[])[], int (*(*)[])[]))[])[];
Index: src/Tests/Expect-r/gcc900407-1.txt
===================================================================
--- src/Tests/Expect-r/gcc900407-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-nameExpr is ?=?
-nameExpr is ?=?
-nameExpr is ?!=?
-nameExpr is ?=?
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-r/gcc900516-1.txt
===================================================================
--- src/Tests/Expect-r/gcc900516-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,3 +1,0 @@
-nameExpr is !?
-Error: No reasonable alternatives for expression Name: !?
-
Index: src/Tests/Expect-r/gcc920301-1.txt
===================================================================
--- src/Tests/Expect-r/gcc920301-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,28 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
-    signed int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-alternatives before prune:
-Cost ( 0, 0, 2 ): Cast of:
-constant expression 5 signed int 
-to:
-  long unsigned int 
-(types:
-    long unsigned int 
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-int __f__Fi__(){
-    static void *__t__A0Pv[];
-    __L1__: /* null statement */ ;
-
-}
-int __g__Fi__(){
-    static unsigned int __p__A0Ui[((long unsigned int )5)];
-}
Index: src/Tests/Expect-r/gcc920409-1.txt
===================================================================
--- src/Tests/Expect-r/gcc920409-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,3 +1,0 @@
-nameExpr is ?!=?
-Error: No reasonable alternatives for expression Name: ?!=?
-
Index: src/Tests/Expect-r/gcc920409-2.txt
===================================================================
--- src/Tests/Expect-r/gcc920409-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,9 +1,0 @@
-nameExpr is ?!=?
-nameExpr is ?=?
-nameExpr is ?=?
-Error: No reasonable alternatives for expression Name: ?!=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-r/gcc920410-2.txt
===================================================================
--- src/Tests/Expect-r/gcc920410-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,3 +1,0 @@
-nameExpr is ?!=?
-Error: No reasonable alternatives for expression Name: ?!=?
-
Index: src/Tests/Expect-r/gcc920501-1.txt
===================================================================
--- src/Tests/Expect-r/gcc920501-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-alternatives before prune:
-Cost ( 0, 0, 0 ): Applying untyped: 
-    Name: LabAddress
-...to: 
-    Name: c
-(types:
-)
-Environment: 
-
-there are 1 alternatives before elimination
-there are 1 alternatives after elimination
-Segmentation fault (core dumped)
Index: src/Tests/Expect-r/gcc920501-11.txt
===================================================================
--- src/Tests/Expect-r/gcc920501-11.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-cfa-cpp: Parser/ExpressionNode.cc:456: virtual Expression* CompositeExprNode::build() const: Assertion `args.size() == 1' failed.
-Aborted (core dumped)
Index: src/Tests/Expect-r/gcc920501-19.txt
===================================================================
--- src/Tests/Expect-r/gcc920501-19.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,6 +1,0 @@
-nameExpr is 0
-nameExpr is ?=?
-Error: No reasonable alternatives for expression Name: 0
-
-Error: No reasonable alternatives for expression Name: ?=?
-
Index: src/Tests/Expect-s/Abstype.txt
===================================================================
--- src/Tests/Expect-s/Abstype.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,52 +1,0 @@
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function x
---- Entering scope
---- Leaving scope containing
-Adding function y
---- Entering scope
-Adding object t
---- Entering scope
-Adding object t_instance
---- Leaving scope containing
---- Leaving scope containing
-Adding function *?
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function ?++
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type DT
---- Leaving scope containing
-DT
---- Entering scope
---- Leaving scope containing
-Adding type U
-Adding function x
---- Entering scope
-Adding object u
---- Entering scope
-Adding object u_instance
---- Leaving scope containing
---- Leaving scope containing
-Adding function break_abstraction
---- Entering scope
-Adding object u
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Array.txt
===================================================================
--- src/Tests/Expect-s/Array.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,38 +1,0 @@
-Adding object a1
-Adding object a2
-Adding object a4
-Adding object m1
-Adding object m2
-Adding object m4
-Adding function fred
---- Entering scope
---- Entering scope
-Adding object a1
-Adding object a2
-Adding object a4
-Adding object T
---- Leaving scope containing
---- Leaving scope containing
-Adding function mary
---- Entering scope
-Adding object T
-Adding object p1
-Adding object p2
-Adding object p3
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function tom
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function jane
---- Entering scope
-Adding object T
-Adding object p1
-Adding object p2
-Adding object p3
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/AsmName.txt
===================================================================
--- src/Tests/Expect-s/AsmName.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,9 +1,0 @@
-Adding object x
-Adding function fred
---- Entering scope
-Adding object x
---- Entering scope
-Adding object y
-Adding object z
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Attributes.txt
===================================================================
--- src/Tests/Expect-s/Attributes.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Error at line 58 reading token "*"
Index: src/Tests/Expect-s/Cast.txt
===================================================================
--- src/Tests/Expect-s/Cast.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,9 +1,0 @@
-Adding object f
-Adding function f
---- Entering scope
---- Entering scope
-Adding object f
-Adding object f
-Adding object f
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/CastError.txt
===================================================================
--- src/Tests/Expect-s/CastError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Adding object f
-Adding function f
---- Entering scope
---- Entering scope
-Adding object f
-Adding object f
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/CharStringConstants.txt
===================================================================
--- src/Tests/Expect-s/CharStringConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,5 +1,0 @@
-Adding function main
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/CommentMisc.txt
===================================================================
--- src/Tests/Expect-s/CommentMisc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,10 +1,0 @@
-Adding object i
-Adding object i
-Adding object i
-Adding object i
-Adding function main
---- Entering scope
---- Entering scope
-Adding object x
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Constant0-1.txt
===================================================================
--- src/Tests/Expect-s/Constant0-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,107 +1,0 @@
-Adding object 0
-Adding object 0
-Adding object 0
-Adding object 1
-Adding object 1
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding fwd decl for struct __anonymous0
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
---- Leaving scope containing
-Adding object 0
-Adding fwd decl for struct __anonymous1
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct __anonymous1
---- Entering scope
---- Leaving scope containing
-Adding object 1
-Adding fwd decl for struct __anonymous2
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct __anonymous2
---- Entering scope
---- Leaving scope containing
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding object 0
-Adding object 1
-Adding fwd decl for struct __anonymous3
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct __anonymous3
---- Entering scope
---- Leaving scope containing
-Adding object 0
-Adding object x
-Adding object 0
-Adding object x
-Adding object 0
-Adding object x
-Adding object 0
-Adding fwd decl for struct __anonymous4
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct __anonymous4
---- Entering scope
---- Leaving scope containing
-Adding object 0
-Adding fwd decl for struct __anonymous5
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct __anonymous5
---- Entering scope
---- Leaving scope containing
-Adding object 0
-Adding fwd decl for struct __anonymous6
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct __anonymous6
---- Entering scope
---- Leaving scope containing
-Adding object 0
-Adding object x
-Adding object 0
-Adding object x
-Adding object 0
-Adding object x
-Adding object 0
-Adding function main
---- Entering scope
---- Entering scope
-Adding object 1
-Adding object 0
-Adding object x
-Adding object 0
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Context.txt
===================================================================
--- src/Tests/Expect-s/Context.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,45 +1,0 @@
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function q
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding context has_q
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type z
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
---- Entering scope
---- Leaving scope containing
-Adding type U
-Adding function r
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-U
-Adding context has_r
---- Entering scope
---- Leaving scope containing
-Adding type x
---- Entering scope
---- Leaving scope containing
-Adding type y
---- Leaving scope containing
-x
-y
-has_r
---- Leaving scope containing
-z
Index: src/Tests/Expect-s/DeclarationErrors.txt
===================================================================
--- src/Tests/Expect-s/DeclarationErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous0
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous1
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-s/DeclarationSpecifier.txt
===================================================================
--- src/Tests/Expect-s/DeclarationSpecifier.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous8
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous9
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-s/Enum.txt
===================================================================
--- src/Tests/Expect-s/Enum.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,20 +1,0 @@
-Adding enum Colors
-Adding object Red
-Adding object Yellow
-Adding object Pink
-Adding object Blue
-Adding object Purple
-Adding object Orange
-Adding object Green
-Adding function f
---- Entering scope
---- Entering scope
-Adding enum Fruits
-Adding object Apple
-Adding object Banana
-Adding object Pear
-Adding object Mango
-Adding object fruit
---- Leaving scope containing
-Fruits
---- Leaving scope containing
Index: src/Tests/Expect-s/Exception.txt
===================================================================
--- src/Tests/Expect-s/Exception.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,55 +1,0 @@
-Adding function fred
---- Entering scope
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding fwd decl for struct __anonymous0
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
---- Leaving scope containing
-Adding struct __anonymous1 from implicit forward declaration
---- Entering scope
---- Leaving scope containing
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding struct __anonymous2 from implicit forward declaration
---- Entering scope
---- Leaving scope containing
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding struct __anonymous3 from implicit forward declaration
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
-Adding struct __anonymous4 from implicit forward declaration
---- Entering scope
---- Leaving scope containing
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-__anonymous0
-__anonymous1
-__anonymous2
-__anonymous3
-__anonymous4
---- Leaving scope containing
Index: src/Tests/Expect-s/Expression.txt
===================================================================
--- src/Tests/Expect-s/Expression.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,15 +1,0 @@
-Adding function fred
---- Entering scope
---- Entering scope
-Adding fwd decl for struct s
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct s
---- Entering scope
---- Leaving scope containing
-Adding object p
-Adding object i
---- Leaving scope containing
-s
---- Leaving scope containing
Index: src/Tests/Expect-s/Forall.txt
===================================================================
--- src/Tests/Expect-s/Forall.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,235 +1,0 @@
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function g1
---- Entering scope
---- Entering scope
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function h
---- Entering scope
-Adding object p
---- Leaving scope containing
-Adding object x
-Adding object y
-Adding object z
-Adding object w
---- Leaving scope containing
---- Leaving scope containing
-Adding function g2
---- Entering scope
---- Entering scope
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
-Adding type U
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-U
-Adding object x
-Adding object y
-Adding object z
-Adding object w
---- Leaving scope containing
---- Leaving scope containing
-Adding function swap
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object left
-Adding object right
---- Entering scope
-Adding object temp
---- Leaving scope containing
---- Leaving scope containing
-T
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding object 0
-Adding function ?+?
---- Entering scope
---- Leaving scope containing
-Adding function ?++
---- Entering scope
---- Leaving scope containing
-Adding function ?+=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding context sumable
---- Entering scope
---- Leaving scope containing
-Adding type T1
-Adding object 0
-Adding function ?+?
---- Entering scope
---- Leaving scope containing
-Adding function ?++
---- Entering scope
---- Leaving scope containing
-Adding function ?+=?
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type P1
---- Entering scope
---- Leaving scope containing
-Adding type P2
---- Leaving scope containing
-P1
-P2
-Adding type T2
---- Entering scope
---- Leaving scope containing
-Adding type T3
-Adding fwd decl for struct __anonymous0
---- Entering scope
-Adding object i
-Adding object j
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type P1
---- Entering scope
---- Leaving scope containing
-Adding type P2
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-P1
-P2
-Adding type T2
-Adding object w1
-Adding object g2
---- Entering scope
---- Leaving scope containing
-Adding type w3
-Adding object g3
-Adding function sum
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object n
-Adding object a
---- Entering scope
-Adding object total
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function twice
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object 0
-Adding function ?+?
---- Entering scope
---- Leaving scope containing
-Adding function ?++
---- Entering scope
---- Leaving scope containing
-Adding function ?+=?
---- Entering scope
---- Leaving scope containing
-Adding object t
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function min
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object 0
-Adding function ?!=?
---- Entering scope
---- Leaving scope containing
-Adding function ?<?
---- Entering scope
---- Leaving scope containing
-Adding object t1
-Adding object t2
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function main
---- Entering scope
---- Entering scope
-Adding object x
-Adding object y
-Adding object a
-Adding object f
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Function.txt
===================================================================
--- src/Tests/Expect-s/Function.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,29 +1,0 @@
-Adding object a
-Adding object a
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function g
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding object p
-Adding object p
-Adding object p
-Adding object p
-Adding object q
-Adding object q
-Adding object q
-Adding object q
-Adding function r
---- Entering scope
---- Leaving scope containing
-Adding function s
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Functions.txt
===================================================================
--- src/Tests/Expect-s/Functions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,374 +1,0 @@
-Adding function h
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object g
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f1
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f2
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f3
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f4
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f5
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f6
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f7
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f8
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f9
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f10
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f11
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f12
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fII1
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fII2
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fII3
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fII4
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fII5
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fII6
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fII7
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fII8
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fII9
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fO1
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fO2
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fO3
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fO4
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function fO5
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object x
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object x
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object x
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object y
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object y
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object y
-Adding object x
-Adding object y
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object y
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object y
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object x
-Adding object y
-Adding object x
-Adding object y
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f11
---- Entering scope
---- Leaving scope containing
-Adding function f12
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object p
---- Entering scope
-Adding object p
-Adding object p
-Adding object p
---- Leaving scope containing
---- Leaving scope containing
-Adding function f1
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f2
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f3
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f4
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f5
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object f
-Adding object t
---- Entering scope
-Adding object T
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/GccExtensions.txt
===================================================================
--- src/Tests/Expect-s/GccExtensions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,70 +1,0 @@
-Adding function fred
---- Entering scope
---- Entering scope
-Adding object c1
-Adding object c2
-Adding object i1
-Adding object i2
-Adding object i3
-Adding object ex
-Adding function f1
---- Entering scope
---- Leaving scope containing
-Adding function f2
---- Entering scope
---- Leaving scope containing
-Adding object s1
-Adding object s2
-Adding object t1
-Adding object t2
-Adding object v1
-Adding object v2
-Adding object a1
-Adding object a2
-Adding object a3
-Adding object a4
-Adding object a5
-Adding object a6
-Adding object a7
-Adding object p1
-Adding object p2
-Adding fwd decl for struct s1
---- Entering scope
---- Leaving scope containing
-Adding struct s1
-Adding fwd decl for struct s2
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct s2
-Adding fwd decl for struct s3
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct s3
---- Entering scope
---- Leaving scope containing
-Adding object x1
---- Entering scope
---- Leaving scope containing
-Adding object y1
-Adding fwd decl for struct s4
---- Entering scope
-Adding object i
---- Leaving scope containing
-Adding struct s4
---- Entering scope
---- Leaving scope containing
-Adding object x2
---- Entering scope
---- Leaving scope containing
-Adding object y2
-Adding object m1
-Adding object m2
-Adding object m3
---- Leaving scope containing
-s1
-s2
-s3
-s4
---- Leaving scope containing
Index: src/Tests/Expect-s/IdentFuncDeclarator.txt
===================================================================
--- src/Tests/Expect-s/IdentFuncDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,106 +1,0 @@
-Adding function main
---- Entering scope
---- Entering scope
-Adding object f1
-Adding object f2
-Adding object f3
-Adding object f4
-Adding object f5
-Adding object f6
-Adding object f7
-Adding object f8
-Adding object f9
-Adding object f10
-Adding object f11
-Adding object f12
-Adding object f13
-Adding object f14
-Adding object f15
-Adding object f16
-Adding object f17
-Adding object f18
-Adding object f19
-Adding object f20
-Adding object f21
-Adding object f22
-Adding object f23
-Adding object f24
-Adding object f25
-Adding object f26
-Adding object f27
-Adding object f28
-Adding object f29
-Adding object f30
-Adding object f31
-Adding object f32
-Adding object f33
-Adding object f34
-Adding object f35
-Adding object f36
-Adding object f37
-Adding object f38
-Adding object f39
-Adding object f40
-Adding object f41
-Adding object f42
-Adding object f43
-Adding object f44
-Adding object f45
-Adding object f46
-Adding object f47
-Adding object f48
-Adding object f49
-Adding object f50
-Adding object f51
-Adding object f52
-Adding object f53
-Adding object f54
-Adding object f55
-Adding object f56
-Adding object f57
-Adding object f58
-Adding object f59
-Adding object f60
-Adding object f61
-Adding object f62
-Adding object f63
-Adding object f64
-Adding function f65
---- Entering scope
---- Leaving scope containing
-Adding function f66
---- Entering scope
---- Leaving scope containing
-Adding function f67
---- Entering scope
---- Leaving scope containing
-Adding function f68
---- Entering scope
---- Leaving scope containing
-Adding function f69
---- Entering scope
---- Leaving scope containing
-Adding function f70
---- Entering scope
---- Leaving scope containing
-Adding function f71
---- Entering scope
---- Leaving scope containing
-Adding function f72
---- Entering scope
---- Leaving scope containing
-Adding function f73
---- Entering scope
---- Leaving scope containing
-Adding function f74
---- Entering scope
---- Leaving scope containing
-Adding object f75
-Adding object f76
-Adding object f77
-Adding object f78
-Adding object f79
-Adding object f80
-Adding object f81
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/IdentFuncParamDeclarator.txt
===================================================================
--- src/Tests/Expect-s/IdentFuncParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,122 +1,0 @@
-Adding function fred
---- Entering scope
-Adding object f1
-Adding object f2
-Adding object f3
-Adding object f4
-Adding object f5
-Adding object f6
-Adding object f7
-Adding object f8
-Adding object f9
-Adding object f10
-Adding object f11
-Adding object f12
-Adding object f13
-Adding object f14
-Adding object f15
-Adding object f16
-Adding object f17
-Adding object f18
-Adding object f19
-Adding object f20
-Adding object f21
-Adding object f22
-Adding object f23
-Adding object f24
-Adding object f25
-Adding object f26
-Adding object f27
-Adding object f28
-Adding object f29
-Adding object f30
-Adding object f31
-Adding object f32
-Adding object f33
-Adding object f34
-Adding object f35
-Adding object f36
-Adding object f37
-Adding object f38
-Adding object f39
-Adding object f40
-Adding object f41
-Adding object f42
-Adding object f43
-Adding object f44
-Adding object f45
-Adding object f46
-Adding object f47
-Adding object f48
-Adding object f49
-Adding object f50
-Adding object f51
-Adding object f52
-Adding object f53
-Adding object f54
-Adding object f55
-Adding object f56
-Adding object f57
-Adding object f58
-Adding object f59
-Adding object f60
-Adding object f61
-Adding object f62
-Adding object f63
-Adding object f64
-Adding object f65
-Adding object f66
-Adding object f67
-Adding object f68
-Adding object f69
-Adding object f70
-Adding object f71
-Adding object f72
-Adding object f73
-Adding object f74
-Adding object f75
-Adding object f76
-Adding object f77
-Adding object f78
-Adding object f79
-Adding object f80
-Adding object f81
-Adding object f82
-Adding object f83
-Adding object f84
-Adding object f85
-Adding object f86
-Adding object f87
-Adding object f88
-Adding object f89
-Adding object f90
-Adding object f91
-Adding object f92
-Adding object f93
-Adding object f94
-Adding object f95
-Adding object f96
-Adding object f97
-Adding object f98
-Adding object f99
-Adding object f100
-Adding object f101
-Adding object f102
-Adding object f103
-Adding object f104
-Adding object f105
-Adding object f106
-Adding object f107
-Adding object f108
-Adding object f109
-Adding object f110
-Adding object f111
-Adding object f112
-Adding object f113
-Adding object f114
-Adding object f115
-Adding object f116
-Adding object f117
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/InferParam.txt
===================================================================
--- src/Tests/Expect-s/InferParam.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,87 +1,0 @@
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function g
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
-Adding type U
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-U
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function i
---- Entering scope
---- Leaving scope containing
-Adding function h
---- Entering scope
---- Entering scope
-Adding object a
---- Leaving scope containing
---- Leaving scope containing
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
---- Entering scope
---- Leaving scope containing
-Adding type U
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function j
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-U
-Adding context has_f_and_j
-Adding function j
---- Entering scope
---- Leaving scope containing
-Adding function k
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
-Adding type U
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-U
-Adding function l
---- Entering scope
---- Entering scope
-Adding object b
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Initialization.txt
===================================================================
--- src/Tests/Expect-s/Initialization.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,86 +1,0 @@
-Adding object x11
-Adding object x12
-Adding object x21
-Adding object x22
-Adding object y1
-Adding object y2
-Adding fwd decl for struct __anonymous0
---- Entering scope
-Adding object w
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
---- Leaving scope containing
-Adding object a
-Adding fwd decl for struct __anonymous1
---- Entering scope
-Adding object a
-Adding object b
---- Leaving scope containing
-Adding struct __anonymous1
---- Entering scope
---- Leaving scope containing
-Adding object w
-Adding fwd decl for struct __anonymous2
---- Entering scope
-Adding object g1
-Adding object g2
-Adding object g3
---- Leaving scope containing
-Adding struct __anonymous2
-Adding fwd decl for struct __anonymous3
---- Entering scope
-Adding object f1
-Adding object f2
-Adding object f3
---- Entering scope
---- Leaving scope containing
-Adding object f4
---- Leaving scope containing
-Adding struct __anonymous3
---- Entering scope
---- Leaving scope containing
-Adding object v7
-Adding fwd decl for struct __anonymous4
---- Entering scope
-Adding object y1
-Adding object y2
-Adding object y3
---- Leaving scope containing
-Adding struct __anonymous4
-Adding fwd decl for struct point
---- Entering scope
-Adding object x
-Adding object z
---- Entering scope
---- Leaving scope containing
-Adding object y
-Adding object w
---- Leaving scope containing
-Adding struct point
-Adding fwd decl for struct quintet
---- Entering scope
-Adding object v
-Adding object w
-Adding object x
-Adding object y
-Adding object z
---- Leaving scope containing
-Adding struct quintet
-Adding function main
---- Entering scope
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding object p1
---- Entering scope
---- Leaving scope containing
-Adding object p2
---- Entering scope
---- Leaving scope containing
-Adding object p3
---- Entering scope
---- Leaving scope containing
-Adding object p4
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Initialization2.txt
===================================================================
--- src/Tests/Expect-s/Initialization2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,114 +1,0 @@
-Adding object a
-Adding fwd decl for struct __anonymous0
---- Entering scope
-Adding object x
-Adding object y
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
---- Leaving scope containing
-Adding object z
-Adding fwd decl for struct __anonymous1
---- Entering scope
-Adding object x
-Adding object y
---- Leaving scope containing
-Adding struct __anonymous1
---- Entering scope
---- Leaving scope containing
-Adding object z1
-Adding fwd decl for struct __anonymous2
---- Entering scope
-Adding object x
-Adding object y
---- Leaving scope containing
-Adding struct __anonymous2
---- Entering scope
---- Leaving scope containing
-Adding object z2
-Adding fwd decl for struct __anonymous3
---- Entering scope
-Adding object y1
-Adding object y2
---- Leaving scope containing
-Adding struct __anonymous3
-Adding fwd decl for struct __anonymous4
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding object y
---- Leaving scope containing
-Adding struct __anonymous4
---- Entering scope
---- Leaving scope containing
-Adding object z3
-Adding fwd decl for struct __anonymous5
---- Entering scope
-Adding object y1
-Adding object y2
---- Leaving scope containing
-Adding struct __anonymous5
-Adding fwd decl for struct __anonymous6
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding object y
---- Leaving scope containing
-Adding struct __anonymous6
---- Entering scope
---- Leaving scope containing
-Adding object z3
-Adding fwd decl for struct __anonymous7
---- Entering scope
-Adding object y1
-Adding object y2
---- Leaving scope containing
-Adding struct __anonymous7
-Adding fwd decl for struct __anonymous8
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding object y
---- Leaving scope containing
-Adding struct __anonymous8
---- Entering scope
---- Leaving scope containing
-Adding object z3
-Adding fwd decl for struct __anonymous9
---- Entering scope
-Adding object y1
-Adding object y2
---- Leaving scope containing
-Adding struct __anonymous9
-Adding fwd decl for struct __anonymous10
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding object y
---- Leaving scope containing
-Adding struct __anonymous10
---- Entering scope
---- Leaving scope containing
-Adding object z3
-Adding fwd decl for struct t
---- Entering scope
-Adding object a
-Adding object b
---- Leaving scope containing
-Adding struct t
---- Entering scope
---- Leaving scope containing
-Adding object x
-Adding fwd decl for struct __anonymous11
---- Entering scope
-Adding object x
-Adding object y
---- Leaving scope containing
-Adding struct __anonymous11
---- Entering scope
---- Leaving scope containing
-Adding object z6
Index: src/Tests/Expect-s/LabelledExit.txt
===================================================================
--- src/Tests/Expect-s/LabelledExit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,70 +1,0 @@
-Adding function main
---- Entering scope
---- Entering scope
-Adding object i
-Adding object x
-Adding object y
---- Entering scope
---- Entering scope
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Entering scope
---- Entering scope
---- Entering scope
---- Entering scope
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Entering scope
---- Entering scope
---- Entering scope
---- Entering scope
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
---- Entering scope
-Adding object i
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Entering scope
-Adding object array
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Members.txt
===================================================================
--- src/Tests/Expect-s/Members.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,103 +1,0 @@
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type DT
---- Leaving scope containing
-DT
-Adding function *?
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function __builtin_memcpy
---- Entering scope
---- Leaving scope containing
-Adding function a
---- Entering scope
---- Leaving scope containing
-Adding function b
---- Entering scope
---- Leaving scope containing
-Adding function c
---- Entering scope
---- Leaving scope containing
-Adding function d
---- Entering scope
---- Leaving scope containing
-Adding fwd decl for struct a_struct
---- Entering scope
-Adding object a
-Adding object a
-Adding object a
---- Leaving scope containing
-Adding struct a_struct
-Adding fwd decl for union b_struct
---- Entering scope
-Adding object a
-Adding object a
-Adding object a
---- Leaving scope containing
-Adding union b_struct
-Adding function f
---- Entering scope
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding object the_struct
---- Entering scope
---- Leaving scope containing
-Adding object the_struct
---- Leaving scope containing
---- Leaving scope containing
-Adding fwd decl for struct c_struct
---- Entering scope
---- Leaving scope containing
-Adding struct c_struct
-Adding fwd decl for union d_struct
---- Entering scope
---- Leaving scope containing
-Adding union d_struct
-Adding function g
---- Entering scope
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding object x
---- Entering scope
---- Leaving scope containing
-Adding object x
---- Leaving scope containing
---- Leaving scope containing
-Adding fwd decl for struct forward
---- Entering scope
---- Leaving scope containing
-Adding struct forward
---- Entering scope
---- Leaving scope containing
-Adding object q
-Adding fwd decl for struct forward
---- Entering scope
-Adding object y
---- Leaving scope containing
-Adding struct forward
-Adding function h
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Misc.txt
===================================================================
--- src/Tests/Expect-s/Misc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Adding object a
-Adding object b
-Adding object b
-Adding function g
---- Entering scope
---- Leaving scope containing
-Adding function g
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/MiscError.txt
===================================================================
--- src/Tests/Expect-s/MiscError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,11 +1,0 @@
-Adding object a
-Adding object b
-Adding object b
-Adding function g
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/NamedParmArg.txt
===================================================================
--- src/Tests/Expect-s/NamedParmArg.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,19 +1,0 @@
-Adding function f1
---- Entering scope
-Adding object i
-Adding object j
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function f2
---- Entering scope
-Adding object i
-Adding object j
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function main
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/NumericConstants.txt
===================================================================
--- src/Tests/Expect-s/NumericConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,5 +1,0 @@
-Adding function main
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/OccursError.txt
===================================================================
--- src/Tests/Expect-s/OccursError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,25 +1,0 @@
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function g
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type U
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-U
-Adding function test
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Operators.txt
===================================================================
--- src/Tests/Expect-s/Operators.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,39 +1,0 @@
-Adding function ?*?
---- Entering scope
---- Leaving scope containing
-Adding function ?()
---- Entering scope
-Adding object number1
-Adding object number2
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function ?+?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding fwd decl for struct accumulator
---- Entering scope
-Adding object total
---- Leaving scope containing
-Adding struct accumulator
-Adding function ?()
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding object a
-Adding object number1
-Adding object number2
---- Leaving scope containing
-Adding function f
---- Entering scope
---- Entering scope
-Adding object a
-Adding object b
---- Entering scope
---- Leaving scope containing
-Adding object ?+?
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Quad.txt
===================================================================
--- src/Tests/Expect-s/Quad.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,43 +1,0 @@
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?*?
---- Entering scope
---- Leaving scope containing
-Adding function square
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?*?
---- Entering scope
---- Leaving scope containing
-Adding object t
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function quad
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type U
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function square
---- Entering scope
---- Leaving scope containing
-Adding object u
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-U
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Rank2.txt
===================================================================
--- src/Tests/Expect-s/Rank2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,61 +1,0 @@
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type DT
---- Leaving scope containing
-DT
-Adding function a
---- Entering scope
---- Entering scope
-Adding function f
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function g
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type U
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object p
---- Leaving scope containing
-U
---- Leaving scope containing
---- Leaving scope containing
-Adding function g
---- Entering scope
---- Entering scope
-Adding function h
---- Entering scope
-Adding object null
---- Leaving scope containing
-Adding function id
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding object 0
-Adding object 0
---- Leaving scope containing
-T
---- Leaving scope containing
Index: src/Tests/Expect-s/Scope.txt
===================================================================
--- src/Tests/Expect-s/Scope.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,93 +1,0 @@
-Adding object x
-Adding object z
-Adding fwd decl for struct __anonymous0
---- Entering scope
-Adding object a
-Adding object b
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding type u
-Adding function f
---- Entering scope
-Adding object y
---- Leaving scope containing
-Adding object q
-Adding function w
---- Entering scope
-Adding object y
-Adding object v
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type x
-Adding function t
---- Entering scope
---- Leaving scope containing
-Adding object u
-Adding object z
---- Leaving scope containing
-x
---- Leaving scope containing
-Adding object p
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type z
-Adding function u
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-z
-Adding context has_u
-Adding function q
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type t
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object the_t
---- Entering scope
-Adding object y
---- Leaving scope containing
---- Leaving scope containing
-t
-Adding function f
---- Entering scope
-Adding object p
---- Entering scope
-Adding object y
---- Entering scope
-Adding object y
---- Entering scope
-Adding object x
-Adding object z
---- Leaving scope containing
-Adding object x
---- Leaving scope containing
-Adding object q
---- Leaving scope containing
---- Leaving scope containing
-Adding function g
---- Entering scope
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding object x
---- Entering scope
-Adding object y
---- Leaving scope containing
-Adding object z
---- Leaving scope containing
---- Leaving scope containing
-Adding function q
---- Entering scope
-Adding object i
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/ScopeErrors.txt
===================================================================
--- src/Tests/Expect-s/ScopeErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,36 +1,0 @@
-Adding object thisIsAnError
-Adding object thisIsAnError
-Adding object thisIsNotAnError
-Adding object thisIsNotAnError
-Adding function thisIsAlsoNotAnError
---- Entering scope
---- Entering scope
-Adding object thisIsNotAnError
---- Leaving scope containing
---- Leaving scope containing
-Adding function thisIsAlsoNotAnError
---- Entering scope
-Adding object x
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function thisIsStillNotAnError
---- Entering scope
---- Leaving scope containing
-Adding function thisIsStillNotAnError
---- Entering scope
---- Leaving scope containing
-Adding function butThisIsAnError
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function butThisIsAnError
-Error: duplicate function definition for butThisIsAnError: function
-  with parameters
-    double 
-  returning 
-    double 
-  with body 
-    CompoundStmt
-
Index: src/Tests/Expect-s/ShortCircuit.txt
===================================================================
--- src/Tests/Expect-s/ShortCircuit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,21 +1,0 @@
-Adding function ?!=?
---- Entering scope
---- Leaving scope containing
-Adding function ?!=?
---- Entering scope
---- Leaving scope containing
-Adding object 0
-Adding function g
---- Entering scope
---- Leaving scope containing
-Adding function g
---- Entering scope
---- Leaving scope containing
-Adding function f
---- Entering scope
-Adding object a
---- Entering scope
-Adding object b
-Adding object c
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Statement.txt
===================================================================
--- src/Tests/Expect-s/Statement.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,31 +1,0 @@
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding function ?!=?
---- Entering scope
---- Leaving scope containing
-Adding object 0
-Adding function f
---- Entering scope
---- Entering scope
-Adding object a
-Adding fwd decl for struct __anonymous0
---- Entering scope
-Adding object b
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
---- Leaving scope containing
-Adding object a
---- Entering scope
---- Entering scope
-Adding object b
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
-__anonymous0
---- Leaving scope containing
Index: src/Tests/Expect-s/StructMember.txt
===================================================================
--- src/Tests/Expect-s/StructMember.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,34 +1,0 @@
-Adding fwd decl for struct S
---- Entering scope
-Adding object m1
-Adding object m2
-Adding object m3
-Adding object m4
-Adding object m5
-Adding object m6
-Adding object m7
-Adding object m8
-Adding object m9
-Adding object m10
-Adding object m11
-Adding object T
-Adding object T
-Adding object m12
-Adding object m13
-Adding object m14
---- Leaving scope containing
-Adding struct S
---- Entering scope
---- Leaving scope containing
-Adding object s
-Adding fwd decl for union U
---- Entering scope
-Adding object m1
-Adding object m2
-Adding object m3
-Adding object m4
---- Leaving scope containing
-Adding union U
---- Entering scope
---- Leaving scope containing
-Adding object u
Index: src/Tests/Expect-s/Subrange.txt
===================================================================
--- src/Tests/Expect-s/Subrange.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,78 +1,0 @@
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?<?
---- Entering scope
---- Leaving scope containing
-Adding function ?<=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding context ordered
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type base_t
---- Leaving scope containing
-base_t
-Adding type subrange
-Adding object day_of_month
-Adding object lcase
-Adding object foo
-Adding function lbound
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object v
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function hbound
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object v
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding object lday
-Adding function ?=?
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object target
-Adding object source
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding function ?=?
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
-Adding object target
-Adding object source
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
Index: src/Tests/Expect-s/Switch.txt
===================================================================
--- src/Tests/Expect-s/Switch.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,6 +1,0 @@
-Adding function fred
---- Entering scope
---- Entering scope
-Adding object i
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Tuple.txt
===================================================================
--- src/Tests/Expect-s/Tuple.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,79 +1,0 @@
-Adding function f
---- Entering scope
---- Leaving scope containing
-Adding function g
---- Entering scope
---- Leaving scope containing
-Adding function h
---- Entering scope
-Adding object a
-Adding object b
-Adding object c
-Adding object d
---- Leaving scope containing
-Adding fwd decl for struct inner
---- Entering scope
-Adding object f2
-Adding object f3
---- Leaving scope containing
-Adding struct inner
-Adding fwd decl for struct outer
---- Entering scope
-Adding object f1
---- Entering scope
---- Leaving scope containing
-Adding object i
-Adding object f4
---- Leaving scope containing
-Adding struct outer
---- Entering scope
---- Leaving scope containing
-Adding object s
---- Entering scope
---- Leaving scope containing
-Adding object sp
-Adding object t1
-Adding object t2
-Adding object t3
-Adding function printf
---- Entering scope
-Adding object rc
-Adding object fmt
---- Leaving scope containing
-Adding function printf
---- Entering scope
-Adding object fmt
---- Leaving scope containing
-Adding function f1
---- Entering scope
-Adding object x
-Adding object y
-Adding object w
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-Adding function g1
---- Entering scope
-Adding object r
---- Entering scope
-Adding object x
-Adding object p
-Adding object y
-Adding object z
---- Leaving scope containing
---- Leaving scope containing
-Adding function main
---- Entering scope
-Adding object rc
-Adding object argc
-Adding object argv
---- Entering scope
-Adding object a
-Adding object b
-Adding object c
-Adding object d
---- Entering scope
---- Leaving scope containing
-Adding object t
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/TypeGenerator.txt
===================================================================
--- src/Tests/Expect-s/TypeGenerator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,109 +1,0 @@
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding function ?+?
---- Entering scope
---- Leaving scope containing
-Adding function ?=?
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding context addable
-Adding fwd decl for struct __anonymous0
---- Entering scope
-Adding object data
-Adding object next
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding type List1
-Adding object li
-Adding function f
---- Entering scope
-Adding object g
---- Leaving scope containing
-Adding function h
---- Entering scope
-Adding object p
---- Leaving scope containing
-Adding fwd decl for struct S2
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding object i
---- Leaving scope containing
-T
-Adding struct S2
-Adding struct S3 from implicit forward declaration
---- Entering scope
---- Leaving scope containing
-Adding object v1
---- Entering scope
---- Leaving scope containing
-Adding object p
-Adding fwd decl for struct S24
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding object i
---- Leaving scope containing
-T
-Adding struct S24
---- Entering scope
---- Leaving scope containing
-Adding object v2
-Adding fwd decl for struct __anonymous1
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding object i
---- Leaving scope containing
-T
-Adding struct __anonymous1
---- Entering scope
---- Leaving scope containing
-Adding object v2
-Adding fwd decl for struct node
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
-Adding object data
---- Entering scope
---- Leaving scope containing
-Adding object next
---- Leaving scope containing
-T
-Adding struct node
---- Entering scope
---- Entering scope
---- Leaving scope containing
-Adding type T
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
-T
-Adding type List
-Adding object my_list
---- Entering scope
---- Leaving scope containing
-Adding type Complex
-Adding function main
---- Entering scope
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Typedef.txt
===================================================================
--- src/Tests/Expect-s/Typedef.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,34 +1,0 @@
-Adding function f
---- Entering scope
---- Entering scope
-Adding function T
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
-Adding fwd decl for struct __anonymous0
---- Entering scope
-Adding object T
---- Leaving scope containing
-Adding struct __anonymous0
---- Entering scope
---- Leaving scope containing
-Adding object fred
-Adding object b
-Adding function g
---- Entering scope
---- Entering scope
-Adding object a
---- Leaving scope containing
---- Leaving scope containing
-Adding object c
-Adding object p
-Adding object q
-Adding function main
---- Entering scope
---- Entering scope
-Adding object w
-Adding object x
---- Leaving scope containing
---- Leaving scope containing
-Adding object array
Index: src/Tests/Expect-s/TypedefDeclarator.txt
===================================================================
--- src/Tests/Expect-s/TypedefDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,106 +1,0 @@
-Adding function main
---- Entering scope
---- Entering scope
-Adding object f1
-Adding object f2
-Adding object f3
-Adding object f4
-Adding object f5
-Adding object f6
-Adding object f7
-Adding object f8
-Adding object f9
-Adding object f10
-Adding object f11
-Adding object f12
-Adding object f13
-Adding object f14
-Adding object f15
-Adding object f16
-Adding object f17
-Adding object f18
-Adding object f19
-Adding object f20
-Adding object f21
-Adding object f22
-Adding object f23
-Adding object f24
-Adding object f25
-Adding object f26
-Adding object f27
-Adding object f28
-Adding object f29
-Adding object f30
-Adding object f31
-Adding object f32
-Adding object f33
-Adding object f34
-Adding object f35
-Adding object f36
-Adding object f37
-Adding object f38
-Adding object f39
-Adding object f40
-Adding object f41
-Adding object f42
-Adding object f43
-Adding object f44
-Adding object f45
-Adding object f46
-Adding object f47
-Adding object f48
-Adding object f49
-Adding object f50
-Adding object f51
-Adding object f52
-Adding object f53
-Adding object f54
-Adding object f55
-Adding object f56
-Adding object f57
-Adding object f58
-Adding object f59
-Adding object f60
-Adding object f61
-Adding object f62
-Adding object f63
-Adding object f64
-Adding function f65
---- Entering scope
---- Leaving scope containing
-Adding function f66
---- Entering scope
---- Leaving scope containing
-Adding function f67
---- Entering scope
---- Leaving scope containing
-Adding function f68
---- Entering scope
---- Leaving scope containing
-Adding function f69
---- Entering scope
---- Leaving scope containing
-Adding function f70
---- Entering scope
---- Leaving scope containing
-Adding function f71
---- Entering scope
---- Leaving scope containing
-Adding function f72
---- Entering scope
---- Leaving scope containing
-Adding function f73
---- Entering scope
---- Leaving scope containing
-Adding function f74
---- Entering scope
---- Leaving scope containing
-Adding object f75
-Adding object f76
-Adding object f77
-Adding object f78
-Adding object f79
-Adding object f80
-Adding object f81
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/TypedefParamDeclarator.txt
===================================================================
--- src/Tests/Expect-s/TypedefParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,80 +1,0 @@
-Adding function fred
---- Entering scope
-Adding object f1
-Adding object f3
-Adding object f4
-Adding object f5
-Adding object f6
-Adding object f11
-Adding object f12
-Adding object f13
-Adding object f14
-Adding object f15
-Adding object f16
-Adding object f19
-Adding object f20
-Adding object f21
-Adding object f22
-Adding object f23
-Adding object f24
-Adding object f25
-Adding object f26
-Adding object f35
-Adding object f36
-Adding object f37
-Adding object f38
-Adding object f39
-Adding object f40
-Adding object f41
-Adding object f42
-Adding object f43
-Adding object f44
-Adding object f49
-Adding object f50
-Adding object f51
-Adding object f52
-Adding object f53
-Adding object f54
-Adding object f55
-Adding object f56
-Adding object f57
-Adding object f58
-Adding object f59
-Adding object f60
-Adding object f61
-Adding object f62
-Adding object f63
-Adding object f64
-Adding object f65
-Adding object f67
-Adding object f68
-Adding object f69
-Adding object f70
-Adding object f75
-Adding object f76
-Adding object f77
-Adding object f78
-Adding object f79
-Adding object f80
-Adding object f81
-Adding object f82
-Adding object f83
-Adding object f84
-Adding object f85
-Adding object f90
-Adding object f91
-Adding object f92
-Adding object f93
-Adding object f94
-Adding object f100
-Adding object f101
-Adding object f102
-Adding object f103
-Adding object f108
-Adding object f109
-Adding object f110
-Adding object f111
-Adding object f112
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/Typeof.txt
===================================================================
--- src/Tests/Expect-s/Typeof.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,15 +1,0 @@
-Adding function main
---- Entering scope
---- Entering scope
-Adding object v1
-Adding object v2
-Adding object v3
-Adding object v4
-Adding object v5
-Adding object v6
-Adding object p
-Adding object v7
-Adding object p
-Adding object v8
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/VariableDeclarator.txt
===================================================================
--- src/Tests/Expect-s/VariableDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,152 +1,0 @@
-Adding object f1
-Adding object f2
-Adding object f3
-Adding object f4
-Adding object f5
-Adding object f6
-Adding object f7
-Adding object f8
-Adding object f9
-Adding object f10
-Adding object f11
-Adding object f12
-Adding object f13
-Adding object f14
-Adding object f15
-Adding object f16
-Adding object f17
-Adding object f18
-Adding object f19
-Adding object f20
-Adding object f21
-Adding object f22
-Adding object f23
-Adding object f24
-Adding object f25
-Adding object f26
-Adding object f27
-Adding object f28
-Adding object f29
-Adding object f30
-Adding object f31
-Adding object f32
-Adding object f33
-Adding object f34
-Adding object f35
-Adding object f36
-Adding object f37
-Adding object f38
-Adding object f39
-Adding object f40
-Adding object f41
-Adding object f42
-Adding object f43
-Adding object f44
-Adding object f45
-Adding object f46
-Adding object f47
-Adding object f48
-Adding object f49
-Adding object f50
-Adding object f51
-Adding object f52
-Adding object f53
-Adding object f54
-Adding object f55
-Adding object f56
-Adding object f57
-Adding object f58
-Adding object f59
-Adding object f60
-Adding object f61
-Adding object f62
-Adding object f63
-Adding object f64
-Adding function f65
---- Entering scope
---- Leaving scope containing
-Adding function f66
---- Entering scope
---- Leaving scope containing
-Adding function f67
---- Entering scope
---- Leaving scope containing
-Adding function f68
---- Entering scope
---- Leaving scope containing
-Adding function f69
---- Entering scope
---- Leaving scope containing
-Adding function f70
---- Entering scope
---- Leaving scope containing
-Adding function f71
---- Entering scope
---- Leaving scope containing
-Adding function f72
---- Entering scope
---- Leaving scope containing
-Adding function f73
---- Entering scope
---- Leaving scope containing
-Adding function f74
---- Entering scope
---- Leaving scope containing
-Adding object f75
-Adding object f76
-Adding object f77
-Adding object f78
-Adding object f79
-Adding object f80
-Adding object f81
-Adding object cf3
-Adding object cf4
-Adding object cf5
-Adding object cf6
-Adding object cf15
-Adding object cf16
-Adding object cf19
-Adding object cf20
-Adding object cf21
-Adding object cf22
-Adding object cf23
-Adding object cf24
-Adding object cf25
-Adding object cf26
-Adding object cf35
-Adding object cf36
-Adding object cf37
-Adding object cf38
-Adding object cf39
-Adding object cf40
-Adding object cf41
-Adding object cf42
-Adding object cf43
-Adding object cf44
-Adding object cf49
-Adding object cf50
-Adding object cf51
-Adding object cf52
-Adding object cf53
-Adding object cf54
-Adding object cf55
-Adding object cf56
-Adding function cf65
---- Entering scope
---- Leaving scope containing
-Adding function cf66
---- Entering scope
---- Leaving scope containing
-Adding function cf67
---- Entering scope
---- Leaving scope containing
-Adding function cf68
---- Entering scope
---- Leaving scope containing
-Adding function cf69
---- Entering scope
---- Leaving scope containing
-Adding function cf70
---- Entering scope
---- Leaving scope containing
-Adding object v3
Index: src/Tests/Expect-s/gcc900407-1.txt
===================================================================
--- src/Tests/Expect-s/gcc900407-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,9 +1,0 @@
-Adding function foo
---- Entering scope
-Adding object a
-Adding object b
-Adding object p
---- Entering scope
-Adding object c
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/gcc900516-1.txt
===================================================================
--- src/Tests/Expect-s/gcc900516-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,6 +1,0 @@
-Adding function f
---- Entering scope
-Adding object c
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/gcc920301-1.txt
===================================================================
--- src/Tests/Expect-s/gcc920301-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-Adding function f
---- Entering scope
---- Entering scope
-Adding object t
---- Leaving scope containing
---- Leaving scope containing
-Adding function g
---- Entering scope
---- Entering scope
-Adding object p
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/gcc920409-1.txt
===================================================================
--- src/Tests/Expect-s/gcc920409-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,6 +1,0 @@
-Adding function x
---- Entering scope
---- Entering scope
-Adding object y
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/gcc920409-2.txt
===================================================================
--- src/Tests/Expect-s/gcc920409-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Adding function x
---- Entering scope
---- Entering scope
-Adding object x1
-Adding object x2
-Adding object v
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/gcc920410-2.txt
===================================================================
--- src/Tests/Expect-s/gcc920410-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-Adding function joe
---- Entering scope
---- Entering scope
-Adding object j
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/gcc920501-1.txt
===================================================================
--- src/Tests/Expect-s/gcc920501-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,6 +1,0 @@
-Adding function a
---- Entering scope
---- Entering scope
-Adding object b
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-s/gcc920501-11.txt
===================================================================
--- src/Tests/Expect-s/gcc920501-11.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-cfa-cpp: Parser/ExpressionNode.cc:456: virtual Expression* CompositeExprNode::build() const: Assertion `args.size() == 1' failed.
-Aborted (core dumped)
Index: src/Tests/Expect-s/gcc920501-19.txt
===================================================================
--- src/Tests/Expect-s/gcc920501-19.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,6 +1,0 @@
-Adding object x
-Adding function y
---- Entering scope
---- Entering scope
---- Leaving scope containing
---- Leaving scope containing
Index: src/Tests/Expect-v/Abstype.txt
===================================================================
--- src/Tests/Expect-v/Abstype.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,138 +1,0 @@
-T: type
-  with assertions
-    x: function
-        with parameters
-          instance of type T (not function type) 
-        returning 
-          instance of type T (not function type) 
-
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type T (not function type) 
-      _src: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-
-y: function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of t_instance: instance of type T (not function type) 
-                  Return Statement, returning: Applying untyped: 
-    Name: x
-...to: 
-    Name: t
-
-
-
-*?: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type T (not function type) 
-    returning 
-      lvalue instance of type T (not function type) 
-
-?++: function
-    with parameters
-      pointer to signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-U: type for pointer to signed int 
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type U (not function type) 
-      _src: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type U (not function type) 
-
-    to:
-      pointer to pointer to signed int 
-    Cast of:
-      Variable Expression: _src: instance of type U (not function type) 
-
-    to:
-      pointer to signed int 
-
-
-
-x: function
-    with parameters
-      u: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of u_instance: instance of type U (not function type) with initializer 
-          Simple Initializer:             Name: u
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: u_instance
-                Name: u
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?++
-            ...to: 
-                Address of:
-                  Applying untyped: 
-                      Name: *?
-                  ...to: 
-                      Name: u
-
-                  Return Statement, returning: Name: u
-
-
-
-break_abstraction: function
-    with parameters
-      u: instance of type U (not function type) 
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Name: u
-
-
-
Index: src/Tests/Expect-v/Array.txt
===================================================================
--- src/Tests/Expect-v/Array.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,50 +1,0 @@
-a1: open array of signed int 
-a2: variable length array of signed int 
-a4: array of double with dimension of constant expression 3.0 double 
-m1: open array of array of signed int with dimension of constant expression 3 signed int 
-m2: variable length array of variable length array of signed int 
-m4: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of a1: open array of signed int 
-        Declaration of a2: variable length array of signed int 
-        Declaration of a4: array of signed int with dimension of constant expression 3 signed int 
-        Declaration of T: array of signed int with dimension of constant expression 3 signed int 
-
-mary: function
-    with parameters
-      T: pointer to array of constant expression 3 signed int signed int 
-      p1: const pointer to array of constant expression 3 signed int signed int 
-      p2: pointer to static array of constant expression 3 signed int signed int 
-      p3: const pointer to static array of constant expression 3 signed int signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-tom: function
-      accepting unspecified arguments
-    returning 
-      pointer to array of signed int with dimension of constant expression 3 signed int 
-    with body 
-      CompoundStmt
-
-jane: function
-      accepting unspecified arguments
-    returning 
-      pointer to function
-          with parameters
-            T: pointer to array of constant expression 3 signed int signed int 
-            p1: const pointer to array of constant expression 3 signed int signed int 
-            p2: pointer to static array of constant expression 3 signed int signed int 
-            p3: const pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            signed int 
-
-    with body 
-      CompoundStmt
-
Index: src/Tests/Expect-v/AsmName.txt
===================================================================
--- src/Tests/Expect-v/AsmName.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,11 +1,0 @@
-x: extern signed int 
-fred: function
-    with parameters
-      x: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of y: static signed int 
-        Declaration of z: static pointer to signed int 
-
Index: src/Tests/Expect-v/Attributes.txt
===================================================================
--- src/Tests/Expect-v/Attributes.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Error at line 58 reading token "*"
Index: src/Tests/Expect-v/Cast.txt
===================================================================
--- src/Tests/Expect-v/Cast.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,55 +1,0 @@
-f: char 
-f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of f: char 
-        Declaration of f: double 
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              signed int 
-
-        Declaration of f: short signed int 
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              signed int 
-
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    nothing 
-
-
-                  Expression Statement:
-            Cast of:
-              Tuple:
-                                  Name: f
-
-                                  Name: f
-
-                                  Name: f
-
-
-            to:
-              long signed int 
-              long double 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    nothing 
-
-
-
Index: src/Tests/Expect-v/CastError.txt
===================================================================
--- src/Tests/Expect-v/CastError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,28 +1,0 @@
-f: signed int 
-f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of f: signed int 
-        Declaration of f: double 
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              char 
-
-                  Expression Statement:
-            Cast of:
-              Name: f
-
-            to:
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-
Index: src/Tests/Expect-v/CharStringConstants.txt
===================================================================
--- src/Tests/Expect-v/CharStringConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,131 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-constant expression ' ' char 
-                  Expression Statement:
-constant expression 'a' char 
-                  Expression Statement:
-constant expression '"' char 
-                  Expression Statement:
-constant expression '_' char 
-                  Expression Statement:
-constant expression '\a' char 
-                  Expression Statement:
-constant expression '\b' char 
-                  Expression Statement:
-constant expression '\e' char 
-                  Expression Statement:
-constant expression '\f' char 
-                  Expression Statement:
-constant expression '\n' char 
-                  Expression Statement:
-constant expression '\r' char 
-                  Expression Statement:
-constant expression '\t' char 
-                  Expression Statement:
-constant expression '\v' char 
-                  Expression Statement:
-constant expression '\'' char 
-                  Expression Statement:
-constant expression '\"' char 
-                  Expression Statement:
-constant expression '\?' char 
-                  Expression Statement:
-constant expression '\\' char 
-                  Expression Statement:
-constant expression '\0' char 
-                  Expression Statement:
-constant expression '\377' char 
-                  Expression Statement:
-constant expression '\xf' char 
-                  Expression Statement:
-constant expression '\xff' char 
-                  Expression Statement:
-constant expression '' char 
-                  Expression Statement:
-constant expression 'aa' char 
-                  Expression Statement:
-constant expression 'a\na' char 
-                  Expression Statement:
-constant expression 'a\0a' char 
-                  Expression Statement:
-constant expression '\xfff' char 
-                  Expression Statement:
-constant expression '_\377_' char 
-                  Expression Statement:
-constant expression '_\xff_' char 
-                  Expression Statement:
-constant expression '\xffff' char 
-                  Expression Statement:
-constant expression 'a\xff34w' char 
-                  Expression Statement:
-constant expression '\xff' char 
-                  Expression Statement:
-constant expression '\xffff' char 
-                  Expression Statement:
-constant expression " " array of char with dimension of constant expression 4 unsigned int 
-                  Expression Statement:
-constant expression "a" array of char with dimension of constant expression 4 unsigned int 
-                  Expression Statement:
-constant expression "'" array of char with dimension of constant expression 4 unsigned int 
-                  Expression Statement:
-constant expression '_' char 
-                  Expression Statement:
-constant expression "\a" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\b" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\e" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\f" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\n" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\r" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\t" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\v" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\'" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\"" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\?" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\\" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\0" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "\377" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "\xf" array of char with dimension of constant expression 6 unsigned int 
-                  Expression Statement:
-constant expression "\xff" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "" array of char with dimension of constant expression 3 unsigned int 
-                  Expression Statement:
-constant expression "aa" array of char with dimension of constant expression 5 unsigned int 
-                  Expression Statement:
-constant expression "a\na" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "a\0a" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "_\377_" array of char with dimension of constant expression 9 unsigned int 
-                  Expression Statement:
-constant expression "_\xff_" array of char with dimension of constant expression 9 unsigned int 
-                  Expression Statement:
-constant expression "\xff" array of char with dimension of constant expression 7 unsigned int 
-                  Expression Statement:
-constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int 
-                  Expression Statement:
-constant expression "\xfff" array of char with dimension of constant expression 8 unsigned int 
-                  Expression Statement:
-constant expression "a\xff34w" array of char with dimension of constant expression 11 unsigned int 
-                  Expression Statement:
-constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int 
-
Index: src/Tests/Expect-v/CommentMisc.txt
===================================================================
--- src/Tests/Expect-v/CommentMisc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-i: signed int 
-i: signed int 
-i: signed int 
-i: signed int 
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of x: array of signed int with dimension of constant expression 10 signed int 
-
Index: src/Tests/Expect-v/Constant0-1.txt
===================================================================
--- src/Tests/Expect-v/Constant0-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,291 +1,0 @@
-0: signed int 
-0: const signed int 
-0: static const signed int 
-1: signed int 
-1: const signed int 
-1: static const signed int 
-0: signed int 
-1: signed int 
-0: const signed int 
-1: const signed int 
-0: signed int 
-1: signed int 
-0: signed int 
-1: signed int 
-0: static const signed int 
-1: static const signed int 
-struct __anonymous0
-    with members
-      i: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-0: instance of struct __anonymous0 
-struct __anonymous1
-    with members
-      i: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous1 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-1: const instance of struct __anonymous1 
-struct __anonymous2
-    with members
-      i: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous2 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
-
-
-
-1: static const instance of struct __anonymous2 
-0: pointer to signed int 
-1: pointer to signed int 
-0: pointer to signed int 
-1: pointer to signed int 
-0: pointer to signed int 
-1: pointer to signed int 
-0: pointer to signed int 
-1: pointer to signed int 
-0: const pointer to signed int 
-1: const pointer to signed int 
-0: const pointer to signed int 
-1: const pointer to signed int 
-0: const pointer to signed int 
-1: const pointer to signed int 
-struct __anonymous3
-    with members
-      i: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous3 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-0: pointer to instance of struct __anonymous3 
-x: pointer to signed int 
-0: pointer to signed int 
-x: const pointer to signed int 
-0: const pointer to signed int 
-x: static const pointer to signed int 
-0: static const pointer to signed int 
-struct __anonymous4
-    with members
-      i: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous4 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
-
-
-
-0: pointer to instance of struct __anonymous4 
-struct __anonymous5
-    with members
-      i: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous5 
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous5 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous5 
-
-
-
-0: const pointer to instance of struct __anonymous5 
-struct __anonymous6
-    with members
-      i: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous6 
-                Member Expression, with field: 
-                  i: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous6 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous6 
-
-
-
-0: static const pointer to instance of struct __anonymous6 
-x: static pointer to signed int 
-0: static pointer to signed int 
-x: static const pointer to signed int 
-0: static const pointer to signed int 
-x: const pointer to pointer to signed int 
-0: const pointer to pointer to signed int 
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of 1: signed int 
-        Declaration of 0: pointer to signed int 
-        Declaration of x: pointer to signed int 
-        Declaration of 0: pointer to signed int 
-
Index: src/Tests/Expect-v/Context.txt
===================================================================
--- src/Tests/Expect-v/Context.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,79 +1,0 @@
-context has_q
-    with parameters
-      T: type
-
-    with members
-      q: function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-
-f: forall
-      z: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type z (not function type) 
-                instance of type z (not function type) 
-              returning 
-                instance of type z (not function type) 
-
-          q: pointer to function
-              with parameters
-                instance of type z (not function type) 
-              returning 
-                instance of type z (not function type) 
-
-
-    function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of context has_r
-            with parameters
-              T: type
-              U: type
-
-            with members
-              r: function
-                  with parameters
-                    instance of type T (not function type) 
-                    pointer to function
-                        with parameters
-                          instance of type T (not function type) 
-                          instance of type U (not function type) 
-                        returning 
-                          instance of type T (not function type) 
-
-                  returning 
-                    instance of type T (not function type) 
-
-
-        Declaration of x: extern type
-        Declaration of ?=?: automatically generated function
-            with parameters
-              _dst: pointer to instance of type x (not function type) 
-              _src: instance of type x (not function type) 
-            returning 
-              instance of type x (not function type) 
-
-        Declaration of y: extern type
-          with assertions
-            instance of context has_r 
-              with parameters
-                instance of type x (not function type) 
-                instance of type y (not function type) 
-
-
-        Declaration of ?=?: automatically generated function
-            with parameters
-              _dst: pointer to instance of type y (not function type) 
-              _src: instance of type y (not function type) 
-            returning 
-              instance of type y (not function type) 
-
-
Index: src/Tests/Expect-v/DeclarationErrors.txt
===================================================================
--- src/Tests/Expect-v/DeclarationErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous0
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous1
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-v/DeclarationSpecifier.txt
===================================================================
--- src/Tests/Expect-v/DeclarationSpecifier.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
-
-Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous8
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous9
-  with members 
-    i: int 
-
-
-Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
-
Index: src/Tests/Expect-v/Enum.txt
===================================================================
--- src/Tests/Expect-v/Enum.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,26 +1,0 @@
-enum Colors
-    with members
-      Red: const instance of enum Colors 
-      Yellow: const instance of enum Colors 
-      Pink: const instance of enum Colors 
-      Blue: const instance of enum Colors 
-      Purple: const instance of enum Colors 
-      Orange: const instance of enum Colors 
-      Green: const instance of enum Colors 
-
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of enum Fruits
-            with members
-              Apple: const instance of enum Fruits 
-              Banana: const instance of enum Fruits 
-              Pear: const instance of enum Fruits 
-              Mango: const instance of enum Fruits 
-
-        Declaration of fruit: instance of enum Fruits with initializer 
-          Simple Initializer:             Name: Mango
-
-
Index: src/Tests/Expect-v/Exception.txt
===================================================================
--- src/Tests/Expect-v/Exception.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,60 +1,0 @@
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of x: signed int 
-                  Throw Statement, returning: constant expression 3 signed int 
-
-                  Throw Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Address of:
-      Name: x
-constant expression 5 signed int 
-
-                  Try Statement
-            with block: 
-              CompoundStmt
-            and handlers: 
-              Catch Statement
-              ... catching
-i: signed int 
-
-                  Try Statement
-            with block: 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?/?
-                    ...to: 
-                        Name: x
-constant expression 4 signed int 
-            and handlers: 
-              Catch Statement
-              ... catching
-signed int 
-              Catch Statement
-              ... catching
-x: signed int 
-              Catch Statement
-              ... catching
-struct __anonymous0
-              Catch Statement
-              ... catching
-x: instance of struct __anonymous1 
-              Catch Statement
-              ... catching
-x: pointer to instance of struct __anonymous2 
-              Catch Statement
-              ... catching
-pointer to instance of struct __anonymous3 
-              Catch Statement
-              ... catching
-x: pointer to instance of struct __anonymous4 
-              Catch Statement
-              ... catching
-                  the rest
-
-
Index: src/Tests/Expect-v/Expression.txt
===================================================================
--- src/Tests/Expect-v/Expression.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,365 +1,0 @@
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of struct s
-            with members
-              i: signed int 
-
-        Declaration of ?=?: automatically generated inline function
-            with parameters
-              _dst: pointer to instance of struct s 
-              _src: instance of struct s 
-            returning 
-              instance of struct s 
-            with body 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Member Expression, with field: 
-                            i: signed int 
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct s 
-                        Member Expression, with field: 
-                          i: signed int 
-                        from aggregate: 
-                          Variable Expression: _src: instance of struct s 
-
-                                  Return Statement, returning: Variable Expression: _src: instance of struct s 
-
-
-
-        Declaration of p: pointer to instance of struct s 
-        Declaration of i: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: !?
-            ...to: 
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ~?
-            ...to: 
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: +?
-            ...to: 
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: -?
-            ...to: 
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: *?
-            ...to: 
-                Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ++?
-            ...to: 
-                Address of:
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: --?
-            ...to: 
-                Address of:
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?++
-            ...to: 
-                Address of:
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?--
-            ...to: 
-                Address of:
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?-?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?*?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?/?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?%?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?^?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?&?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?|?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?<?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?>?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?==?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?!=?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?<<?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?>>?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?<=?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?>=?
-            ...to: 
-                Name: i
-                Name: i
-
-                  Expression Statement:
-            Short-circuited operation (and) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: i
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: i
-      Name: 0
-
-to:
-  signed int 
-
-
-                  Expression Statement:
-            Short-circuited operation (or) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: i
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: i
-      Name: 0
-
-to:
-  signed int 
-
-
-                  Expression Statement:
-            Member Expression, with field: i            from aggregate:               Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Name: p
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?-=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?*=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?/=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?%=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?&=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?|=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?^=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?<<=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?>>=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: i
-
-                  Expression Statement:
-            Conditional expression on: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Name: i
-                    Name: 0
-
-              to:
-                signed int 
-            First alternative:
-              Name: i
-            Second alternative:
-              Name: i
-
-
-
Index: src/Tests/Expect-v/Forall.txt
===================================================================
--- src/Tests/Expect-v/Forall.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,731 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-?=?: function
-    with parameters
-      pointer to pointer to signed int 
-      pointer to signed int 
-    returning 
-      pointer to signed int 
-
-?=?: function
-    with parameters
-      pointer to pointer to float 
-      pointer to float 
-    returning 
-      pointer to float 
-
-?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-?=?: function
-    with parameters
-      pointer to pointer to function
-          returning 
-            nothing 
-
-      pointer to function
-          returning 
-            nothing 
-
-    returning 
-      pointer to function
-          returning 
-            nothing 
-
-
-g1: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        Declaration of f: function
-            with parameters
-              signed int 
-            returning 
-              nothing 
-
-        Declaration of h: function
-            with parameters
-              p: pointer to function
-                  returning 
-                    nothing 
-
-            returning 
-              nothing 
-
-        Declaration of x: signed int 
-        Declaration of y: pointer to function
-            returning 
-              nothing 
-
-        Declaration of z: char 
-        Declaration of w: float 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: y
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: z
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: w
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: h
-            ...to: 
-                Applying untyped: 
-                    Name: f
-                ...to: 
-                    Name: y
-
-
-g2: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type T (not function type) 
-            returning 
-              nothing 
-
-        Declaration of f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-              U: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type U (not function type) 
-                        instance of type U (not function type) 
-                      returning 
-                        instance of type U (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-              instance of type U (not function type) 
-            returning 
-              nothing 
-
-        Declaration of x: signed int 
-        Declaration of y: float 
-        Declaration of z: pointer to signed int 
-        Declaration of w: pointer to float 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: x
-                Name: y
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: z
-                Name: w
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: x
-                Name: z
-
-
-swap: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      left: instance of type T (not function type) 
-      right: instance of type T (not function type) 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of temp: instance of type T (not function type) with initializer 
-          Simple Initializer:             Name: left
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: temp
-                Name: left
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: left
-                Name: right
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: right
-                Name: temp
-
-
-context sumable
-    with parameters
-      T: type
-
-    with members
-      0: const instance of type T (not function type) 
-      ?+?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-      ?++: function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-      ?+=?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-
-T1: type
-  with assertions
-    0: const instance of type T1 (not function type) 
-    ?+?: function
-        with parameters
-          instance of type T1 (not function type) 
-          instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-    ?++: function
-        with parameters
-          instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-    ?+=?: function
-        with parameters
-          instance of type T1 (not function type) 
-          instance of type T1 (not function type) 
-        returning 
-          instance of type T1 (not function type) 
-
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type T1 (not function type) 
-      _src: instance of type T1 (not function type) 
-    returning 
-      instance of type T1 (not function type) 
-
-T2: type
-  with parameters
-    P1: type
-    P2: type
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-
-T3: type
-  with assertions
-    instance of context sumable 
-      with parameters
-        instance of type T3 (not function type) 
-
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type T3 (not function type) 
-      _src: instance of type T3 (not function type) 
-    returning 
-      instance of type T3 (not function type) 
-
-struct __anonymous0
-    with members
-      i: instance of type P1 (not function type) 
-      j: instance of type P2 (not function type) 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: instance of type P1 (not function type) 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  i: instance of type P1 (not function type) 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    j: instance of type P2 (not function type) 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  j: instance of type P2 (not function type) 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-T2: type for instance of struct __anonymous0 
-  with parameters
-    P1: type
-    P2: type
-
-  with assertions
-    instance of context sumable 
-      with parameters
-        instance of type T2 (not function type) 
-          with parameters
-            instance of type P1 (not function type) 
-            instance of type P2 (not function type) 
-
-
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type T2 (not function type) 
-      _src: instance of type T2 (not function type) 
-    returning 
-      instance of type T2 (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type T2 (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-w1: instance of type T2 (not function type) 
-  with parameters
-    signed int 
-    signed int 
-
-g2: instance of type T2 (not function type) 
-  with parameters
-    signed int 
-    signed int 
-
-w3: type for instance of type T2 (not function type) 
-  with parameters
-    signed int 
-    signed int 
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type w3 (not function type) 
-      _src: instance of type w3 (not function type) 
-    returning 
-      instance of type w3 (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
-
-    to:
-      pointer to instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-    Cast of:
-      Variable Expression: _src: instance of type w3 (not function type) 
-
-    to:
-      instance of type T2 (not function type) 
-        with parameters
-          signed int 
-          signed int 
-
-
-
-
-g3: instance of type w3 (not function type) 
-sum: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?+?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?++: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?+=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      n: signed int 
-      a: pointer to instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-        Declaration of total: instance of type T (not function type) with initializer 
-          Simple Initializer:             Name: 0
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: total
-                Name: 0
-
-        Declaration of i: signed int 
-                  Labels: {}
-          For Statement
-            initialization: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: i
-                    Name: 0
-
-            condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Name: i
-                        Name: n
-                    Name: 0
-
-              to:
-                signed int 
-
-            increment: 
-              Applying untyped: 
-                  Name: ?+=?
-              ...to: 
-                  Address of:
-                    Name: i
-                  Name: 1
-
-            statement block: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: total
-                    Applying untyped: 
-                        Name: ?+?
-                    ...to: 
-                        Name: total
-                        Applying untyped: 
-                            Name: ?[?]
-                        ...to: 
-                            Name: a
-                            Name: i
-
-
-                  Return Statement, returning: Name: total
-
-
-
-twice: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?+?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?++: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?+=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?+?
-...to: 
-    Name: t
-    Name: t
-
-
-
-min: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          0: const instance of type T (not function type) 
-          ?!=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-          ?<?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-
-    function
-    with parameters
-      t1: instance of type T (not function type) 
-      t2: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Conditional expression on: 
-  Cast of:
-    Applying untyped: 
-        Name: ?!=?
-    ...to: 
-        Applying untyped: 
-            Name: ?<?
-        ...to: 
-            Name: t1
-            Name: t2
-        Name: 0
-
-  to:
-    signed int 
-First alternative:
-  Name: t1
-Second alternative:
-  Name: t2
-
-
-
-
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of x: signed int with initializer 
-          Simple Initializer:             Name: 1
-
-        Declaration of y: signed int with initializer 
-          Simple Initializer: constant expression 2 signed int 
-        Declaration of a: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f: float 
-                  Expression Statement:
-            Applying untyped: 
-                Name: swap
-            ...to: 
-                Name: x
-                Name: y
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: twice
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: f
-                Applying untyped: 
-                    Name: min
-                ...to: 
-constant expression 4.0 double constant expression 3.0 double 
-                  Expression Statement:
-            Applying untyped: 
-                Name: sum
-            ...to: 
-constant expression 10 signed int                 Name: a
-
-
Index: src/Tests/Expect-v/Function.txt
===================================================================
--- src/Tests/Expect-v/Function.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,126 +1,0 @@
-a: signed int 
-a: float 
-f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f: function
-    with parameters
-      float 
-    returning 
-      float 
-
-g: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Cast of:
-                  Name: a
-
-                to:
-                  signed int 
-
-                  Expression Statement:
-            Cast of:
-              Applying untyped: 
-                  Name: f
-              ...to: 
-                  Name: a
-
-            to:
-              signed int 
-
-
-p: tuple of types
-    signed int 
-
-p: tuple of types
-    signed int 
-    double 
-
-p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-
-p: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-q: tuple of types
-    char 
-
-q: tuple of types
-    signed int 
-    signed int 
-
-q: tuple of types
-    signed int 
-    signed int 
-    float 
-
-q: tuple of types
-    signed int 
-    signed int 
-    signed int 
-    signed int 
-
-r: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-      signed int 
-
-s: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: r
-            ...to: 
-                Name: p
-                Name: q
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: r
-            ...to: 
-                Tuple:
-                                      Name: q
-
-                                      Name: p
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: r
-            ...to: 
-                Applying untyped: 
-                    Name: r
-                ...to: 
-                    Name: p
-                    Name: q
-                Applying untyped: 
-                    Name: r
-                ...to: 
-                    Name: q
-                    Name: q
-
-
Index: src/Tests/Expect-v/Functions.txt
===================================================================
--- src/Tests/Expect-v/Functions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,681 +1,0 @@
-h: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      pointer to function
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      g: pointer to function
-          returning 
-            nothing 
-
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Applying untyped: 
-                    Name: *?
-                ...to: 
-                    Name: g
-            ...to: 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: g
-                Name: h
-
-
-f1: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f2: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f3: function
-      accepting unspecified arguments
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-    with body 
-      CompoundStmt
-
-f4: function
-      accepting unspecified arguments
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-
-f5: function
-      accepting unspecified arguments
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-    with body 
-      CompoundStmt
-
-f6: function
-      accepting unspecified arguments
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-
-f7: function
-      accepting unspecified arguments
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-
-f8: function
-      accepting unspecified arguments
-    returning 
-      pointer to pointer to signed int 
-    with body 
-      CompoundStmt
-
-f9: function
-      accepting unspecified arguments
-    returning 
-      pointer to const pointer to signed int 
-    with body 
-      CompoundStmt
-
-f10: function
-      accepting unspecified arguments
-    returning 
-      pointer to open array of signed int 
-    with body 
-      CompoundStmt
-
-f11: function
-      accepting unspecified arguments
-    returning 
-      pointer to open array of array of signed int with dimension of constant expression 3 signed int 
-    with body 
-      CompoundStmt
-
-f12: function
-      accepting unspecified arguments
-    returning 
-      pointer to open array of array of signed int with dimension of constant expression 3 signed int 
-    with body 
-      CompoundStmt
-
-fII1: function
-    with parameters
-      i: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-fII2: function
-    with parameters
-      i: signed int 
-    returning 
-      const signed int 
-    with body 
-      CompoundStmt
-
-fII3: extern function
-    with parameters
-      i: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-fII4: extern function
-    with parameters
-      i: signed int 
-    returning 
-      const signed int 
-    with body 
-      CompoundStmt
-
-fII5: function
-      accepting unspecified arguments
-    returning 
-      pointer to signed int 
-    with body 
-      CompoundStmt
-
-fII6: function
-      accepting unspecified arguments
-    returning 
-      const pointer to signed int 
-    with body 
-      CompoundStmt
-
-fII7: function
-      accepting unspecified arguments
-    returning 
-      pointer to const long signed int 
-    with body 
-      CompoundStmt
-
-fII8: static function
-      accepting unspecified arguments
-    returning 
-      pointer to const long signed int 
-    with body 
-      CompoundStmt
-
-fII9: static function
-      accepting unspecified arguments
-    returning 
-      pointer to const long signed int 
-    with body 
-      CompoundStmt
-
-fO1: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-fO2: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-fO3: function
-      accepting unspecified arguments
-    returning 
-      const signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-fO4: extern function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-fO5: extern function
-      accepting unspecified arguments
-    returning 
-      const signed int 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      nothing 
-
-f: function
-    returning 
-      signed int 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      x: signed int 
-
-f: function
-    with parameters
-      x: signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      x: signed int 
-    returning 
-      x: signed int 
-
-f: function
-    returning 
-      x: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      x: signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      x: signed int 
-    returning 
-      x: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-    returning 
-      signed int 
-      x: signed int 
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-    returning 
-      signed int 
-      x: signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-      signed int 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      signed int 
-    returning 
-      signed int 
-      x: signed int 
-      signed int 
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-      signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      signed int 
-    returning 
-      signed int 
-      x: signed int 
-      signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    returning 
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-
-f: function
-    returning 
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    returning 
-      signed int 
-      x: signed int 
-      y: pointer to signed int 
-    with body 
-      CompoundStmt
-
-f11: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f12: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f: function
-    with parameters
-      pointer to function
-          with parameters
-            signed int 
-            p: signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 
-        Declaration of p: pointer to open array of array of pointer to open array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 10 signed int 
-        Declaration of p: pointer to open array of pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-
-f1: static function
-      accepting unspecified arguments
-    returning 
-      pointer to const signed int 
-    with body 
-      CompoundStmt
-
-f2: static function
-    returning 
-      const signed int 
-    with body 
-      CompoundStmt
-
-f3: inline static function
-    returning 
-      const pointer to signed int 
-    with body 
-      CompoundStmt
-
-f4: inline static function
-    returning 
-      const tuple of types
-          pointer to signed int 
-          signed int 
-
-    with body 
-      CompoundStmt
-
-f5: static function
-    returning 
-      const tuple of types
-          pointer to signed int 
-          const signed int 
-
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            pointer to signed int 
-
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            pointer to pointer to signed int 
-
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            pointer to const pointer to signed int 
-
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            const pointer to const pointer to signed int 
-
-      pointer to signed int 
-      pointer to array of constant expression 10 signed int signed int 
-      pointer to pointer to signed int 
-      pointer to array of constant expression 10 signed int pointer to signed int 
-      pointer to pointer to pointer to signed int 
-      pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      pointer to pointer to const pointer to signed int 
-      pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      pointer to const pointer to const pointer to signed int 
-      pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-    returning 
-      signed int 
-
-f: function
-    with parameters
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            pointer to signed int 
-
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            pointer to pointer to signed int 
-
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            pointer to const pointer to signed int 
-
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            const pointer to const pointer to signed int 
-
-      pointer to signed int 
-      pointer to array of constant expression 10 signed int signed int 
-      pointer to pointer to signed int 
-      pointer to array of constant expression 10 signed int pointer to signed int 
-      pointer to pointer to pointer to signed int 
-      pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      pointer to pointer to const pointer to signed int 
-      pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      pointer to const pointer to const pointer to signed int 
-      pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f: function
-    with parameters
-      f: pointer to signed int 
-      t: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of T: signed int 
-
Index: src/Tests/Expect-v/GccExtensions.txt
===================================================================
--- src/Tests/Expect-v/GccExtensions.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,147 +1,0 @@
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of c1: double _Complex 
-        Declaration of c2: double _Complex 
-        Declaration of i1: const signed int 
-        Declaration of i2: const signed int 
-        Declaration of i3: const signed int 
-        Declaration of ex: const signed int 
-        Declaration of f1: inline function
-              accepting unspecified arguments
-            returning 
-              signed int 
-
-        Declaration of f2: inline function
-              accepting unspecified arguments
-            returning 
-              signed int 
-
-        Declaration of s1: signed int 
-        Declaration of s2: signed int 
-        Declaration of t1: type-of expression           Name: s1
-
-        Declaration of t2: type-of expression           Name: s1
-
-        Declaration of v1: volatile signed int 
-        Declaration of v2: volatile signed int 
-        Declaration of a1: signed int 
-        Declaration of a2: const signed int 
-        Declaration of a3: static const signed int 
-        Declaration of a4: static const signed int 
-        Declaration of a5: static const signed int 
-        Declaration of a6: static const signed int 
-        Declaration of a7: static const signed int 
-        Declaration of p1: pointer to signed int 
-        Declaration of p2: pointer to signed int 
-        Declaration of struct s1
-        Declaration of struct s2
-            with members
-              i: signed int 
-
-        Declaration of ?=?: automatically generated inline function
-            with parameters
-              _dst: pointer to instance of struct s2 
-              _src: instance of struct s2 
-            returning 
-              instance of struct s2 
-            with body 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Member Expression, with field: 
-                            i: signed int 
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct s2 
-                        Member Expression, with field: 
-                          i: signed int 
-                        from aggregate: 
-                          Variable Expression: _src: instance of struct s2 
-
-                                  Return Statement, returning: Variable Expression: _src: instance of struct s2 
-
-
-
-        Declaration of struct s3
-            with members
-              i: signed int 
-
-        Declaration of ?=?: automatically generated inline function
-            with parameters
-              _dst: pointer to instance of struct s3 
-              _src: instance of struct s3 
-            returning 
-              instance of struct s3 
-            with body 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Member Expression, with field: 
-                            i: signed int 
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct s3 
-                        Member Expression, with field: 
-                          i: signed int 
-                        from aggregate: 
-                          Variable Expression: _src: instance of struct s3 
-
-                                  Return Statement, returning: Variable Expression: _src: instance of struct s3 
-
-
-
-        Declaration of x1: instance of struct s3 
-        Declaration of y1: instance of struct s3 
-        Declaration of struct s4
-            with members
-              i: signed int 
-
-        Declaration of ?=?: automatically generated inline function
-            with parameters
-              _dst: pointer to instance of struct s4 
-              _src: instance of struct s4 
-            returning 
-              instance of struct s4 
-            with body 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Member Expression, with field: 
-                            i: signed int 
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct s4 
-                        Member Expression, with field: 
-                          i: signed int 
-                        from aggregate: 
-                          Variable Expression: _src: instance of struct s4 
-
-                                  Return Statement, returning: Variable Expression: _src: instance of struct s4 
-
-
-
-        Declaration of x2: instance of struct s4 
-        Declaration of y2: instance of struct s4 
-        Declaration of m1: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of m2: array of array of signed int with dimension of constant expression 10 signed int with dimension of constant expression 10 signed int 
-        Declaration of m3: array of array of signed int with dimension of constant expression 10 signed int with dimension of constant expression 10 signed int 
-
Index: src/Tests/Expect-v/IdentFuncDeclarator.txt
===================================================================
--- src/Tests/Expect-v/IdentFuncDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,185 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of f1: signed int 
-        Declaration of f2: signed int 
-        Declaration of f3: pointer to signed int 
-        Declaration of f4: pointer to pointer to signed int 
-        Declaration of f5: pointer to const pointer to signed int 
-        Declaration of f6: const pointer to const pointer to signed int 
-        Declaration of f7: pointer to signed int 
-        Declaration of f8: pointer to pointer to signed int 
-        Declaration of f9: pointer to const pointer to signed int 
-        Declaration of f10: const pointer to const pointer to signed int 
-        Declaration of f11: pointer to signed int 
-        Declaration of f12: pointer to pointer to signed int 
-        Declaration of f13: pointer to const pointer to signed int 
-        Declaration of f14: const pointer to const pointer to signed int 
-        Declaration of f15: open array of signed int 
-        Declaration of f16: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f17: open array of signed int 
-        Declaration of f18: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f19: open array of pointer to signed int 
-        Declaration of f20: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f21: open array of pointer to pointer to signed int 
-        Declaration of f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f23: open array of pointer to const pointer to signed int 
-        Declaration of f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f25: open array of const pointer to const pointer to signed int 
-        Declaration of f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f27: open array of pointer to signed int 
-        Declaration of f28: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f29: open array of pointer to pointer to signed int 
-        Declaration of f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f31: open array of pointer to const pointer to signed int 
-        Declaration of f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f33: open array of const pointer to const pointer to signed int 
-        Declaration of f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f35: open array of pointer to signed int 
-        Declaration of f36: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f37: open array of pointer to pointer to signed int 
-        Declaration of f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f39: open array of pointer to const pointer to signed int 
-        Declaration of f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f41: open array of const pointer to const pointer to signed int 
-        Declaration of f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f43: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f45: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f47: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f65: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f66: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f67: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f68: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f69: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f70: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f71: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f72: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f73: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f74: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f75: pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f76: pointer to pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f77: pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f78: const pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f79: pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f80: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f81: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              const pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-
Index: src/Tests/Expect-v/IdentFuncParamDeclarator.txt
===================================================================
--- src/Tests/Expect-v/IdentFuncParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,221 +1,0 @@
-fred: function
-    with parameters
-      f1: signed int 
-      f2: signed int 
-      f3: pointer to signed int 
-      f4: pointer to pointer to signed int 
-      f5: pointer to const pointer to signed int 
-      f6: const pointer to const pointer to signed int 
-      f7: pointer to signed int 
-      f8: pointer to pointer to signed int 
-      f9: pointer to const pointer to signed int 
-      f10: const pointer to const pointer to signed int 
-      f11: pointer to signed int 
-      f12: pointer to pointer to signed int 
-      f13: pointer to const pointer to signed int 
-      f14: const pointer to const pointer to signed int 
-      f15: pointer to signed int 
-      f16: pointer to array of constant expression 10 signed int signed int 
-      f17: pointer to signed int 
-      f18: pointer to array of constant expression 10 signed int signed int 
-      f19: pointer to pointer to signed int 
-      f20: pointer to array of constant expression 10 signed int pointer to signed int 
-      f21: pointer to pointer to pointer to signed int 
-      f22: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f23: pointer to pointer to const pointer to signed int 
-      f24: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f25: pointer to const pointer to const pointer to signed int 
-      f26: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f27: pointer to pointer to signed int 
-      f28: pointer to array of constant expression 10 signed int pointer to signed int 
-      f29: pointer to pointer to pointer to signed int 
-      f30: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f31: pointer to pointer to const pointer to signed int 
-      f32: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f33: pointer to const pointer to const pointer to signed int 
-      f34: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f35: pointer to pointer to signed int 
-      f36: pointer to array of constant expression 10 signed int pointer to signed int 
-      f37: pointer to pointer to pointer to signed int 
-      f38: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f39: pointer to pointer to const pointer to signed int 
-      f40: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f41: pointer to const pointer to const pointer to signed int 
-      f42: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f43: pointer to array of signed int with dimension of constant expression 3 signed int 
-      f44: pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f45: pointer to array of signed int with dimension of constant expression 3 signed int 
-      f46: pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f47: pointer to array of signed int with dimension of constant expression 3 signed int 
-      f48: pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f49: pointer to array of pointer to signed int with dimension of constant expression 3 signed int 
-      f50: pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f51: pointer to array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f52: pointer to array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f53: pointer to array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f54: pointer to array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f55: pointer to array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f56: pointer to array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f57: pointer to array of pointer to signed int with dimension of constant expression 3 signed int 
-      f58: pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f59: pointer to array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f60: pointer to array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f61: pointer to array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f62: pointer to array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f63: pointer to array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f64: pointer to array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f65: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f66: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f67: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f68: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      f69: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      f70: pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f71: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f72: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      f73: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      f74: pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f75: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f76: pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f77: pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f78: const pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f79: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f80: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f81: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f82: const pointer to variable length array of signed int 
-      f83: const pointer to array of constant expression 3 signed int signed int 
-      f84: pointer to static array of constant expression 3 signed int signed int 
-      f85: const pointer to static array of constant expression 3 signed int signed int 
-      f86: const pointer to variable length array of signed int 
-      f87: const pointer to array of constant expression 3 signed int signed int 
-      f88: pointer to static array of constant expression 3 signed int signed int 
-      f89: const pointer to static array of constant expression 3 signed int signed int 
-      f90: const pointer to variable length array of pointer to signed int 
-      f91: const pointer to array of constant expression 3 signed int pointer to signed int 
-      f92: pointer to static array of constant expression 3 signed int pointer to pointer to signed int 
-      f93: const pointer to static array of constant expression 3 signed int pointer to const pointer to signed int 
-      f94: const pointer to static array of constant expression 3 signed int const pointer to const pointer to signed int 
-      f95: const pointer to variable length array of pointer to signed int 
-      f96: const pointer to array of constant expression 3 signed int pointer to signed int 
-      f97: pointer to static array of constant expression 3 signed int pointer to pointer to signed int 
-      f98: const pointer to static array of constant expression 3 signed int pointer to const pointer to signed int 
-      f99: const pointer to static array of constant expression 3 signed int const pointer to const pointer to signed int 
-      f100: const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-      f101: const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f102: pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f103: const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f104: const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-      f105: const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f106: pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f107: const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f108: const pointer to variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f109: const pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f110: pointer to static array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f111: const pointer to static array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f112: const pointer to static array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f113: const pointer to variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f114: const pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f115: pointer to static array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f116: const pointer to static array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f117: const pointer to static array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
Index: src/Tests/Expect-v/InferParam.txt
===================================================================
--- src/Tests/Expect-v/InferParam.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,173 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-?=?: function
-    with parameters
-      pointer to double 
-      double 
-    returning 
-      double 
-
-g: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          f: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      float 
-
-f: function
-    with parameters
-      signed int 
-    returning 
-      double 
-
-i: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-h: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of a: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: i
-            ...to: 
-                Applying untyped: 
-                    Name: g
-                ...to: 
-                    Name: a
-
-
-context has_f_and_j
-    with parameters
-      T: type
-      U: type
-
-    with members
-      f: function
-          with parameters
-            instance of type T (not function type) 
-          returning 
-            instance of type U (not function type) 
-
-      j: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type U (not function type) 
-          returning 
-            instance of type U (not function type) 
-
-
-j: function
-    with parameters
-      signed int 
-      float 
-    returning 
-      float 
-
-k: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          f: pointer to function
-              with parameters
-                instance of type T (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          j: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      instance of type T (not function type) 
-    returning 
-      instance of type U (not function type) 
-
-l: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of b: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: i
-            ...to: 
-                Applying untyped: 
-                    Name: k
-                ...to: 
-                    Name: b
-
-
Index: src/Tests/Expect-v/Initialization.txt
===================================================================
--- src/Tests/Expect-v/Initialization.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,669 +1,0 @@
-x11: pointer to signed int with initializer 
-  Simple Initializer:     Name: 0
-
-x12: signed int with initializer 
-  Simple Initializer:     Name: 0
-
-x21: pointer to signed int with initializer 
-  Simple Initializer:     Name: 0
-
-x22: signed int with initializer 
-  Simple Initializer:     Name: 0
-
-y1: array of signed int with dimension of constant expression 20 signed int 
-y2: array of signed int with dimension of constant expression 20 signed int 
-struct __anonymous0
-    with members
-      w: tuple of types
-          signed int 
-
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    w: tuple of types
-                      signed int 
-
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  w: tuple of types
-                    signed int 
-
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-a: instance of struct __anonymous0 with initializer 
-  Compound initializer:  
-    Simple Initializer:       Tuple:
-        constant expression 2 signed int 
-
-      designated by:         Name: w
-
-struct __anonymous1
-    with members
-      a: array of signed int with dimension of constant expression 3 signed int 
-      b: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-    with body 
-      CompoundStmt
-        Declaration of _index0: C signed int 
-                  Labels: {}
-          For Statement
-            initialization: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Variable Expression: _index0: signed int 
-                    Name: 0
-
-            condition: 
-              Applying untyped: 
-                  Name: ?<?
-              ...to: 
-                  Variable Expression: _index0: signed int 
-constant expression 3 signed int 
-            increment: 
-              Applying untyped: 
-                  Name: ++?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index0: signed int 
-
-            statement block: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?+?
-                    ...to: 
-                        Member Expression, with field: 
-                          a: array of signed int with dimension of constant expression 3 signed int 
-                        from aggregate: 
-                          Applying untyped: 
-                              Name: *?
-                          ...to: 
-                              Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                        Variable Expression: _index0: signed int 
-                    Applying untyped: 
-                        Name: ?[?]
-                    ...to: 
-                        Member Expression, with field: 
-                          a: array of signed int with dimension of constant expression 3 signed int 
-                        from aggregate: 
-                          Variable Expression: _src: instance of struct __anonymous1 
-                        Variable Expression: _index0: signed int 
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    b: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous1 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-w: open array of instance of struct __anonymous1 with initializer 
-  Compound initializer:  
-    Compound initializer:        designated by: [        Name: 0
-        Name: a
-      ]
-      Simple Initializer:         Name: 1
-
-    Simple Initializer:       Name: 1
-
-      designated by:         Name: 0
-        Name: b
-
-    Simple Initializer: constant expression 2 signed int 
-      designated by:         Name: 1
-        Name: a
-        Name: 0
-
-struct __anonymous2
-    with members
-      g1: signed int 
-      g2: signed int 
-      g3: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    g1: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-                Member Expression, with field: 
-                  g1: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous2 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    g2: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-                Member Expression, with field: 
-                  g2: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous2 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    g3: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-                Member Expression, with field: 
-                  g3: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous2 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
-
-
-
-struct __anonymous3
-    with members
-      f1: signed int 
-      f2: signed int 
-      f3: signed int 
-      f4: array of instance of struct __anonymous2 with dimension of constant expression 4 signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    f1: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous3 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    f2: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous3 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    f3: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous3 
-
-        Declaration of _index1: C signed int 
-                  Labels: {}
-          For Statement
-            initialization: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Variable Expression: _index1: signed int 
-                    Name: 0
-
-            condition: 
-              Applying untyped: 
-                  Name: ?<?
-              ...to: 
-                  Variable Expression: _index1: signed int 
-constant expression 4 signed int 
-            increment: 
-              Applying untyped: 
-                  Name: ++?
-              ...to: 
-                  Address of:
-                    Variable Expression: _index1: signed int 
-
-            statement block: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?+?
-                    ...to: 
-                        Member Expression, with field: 
-                          f4: array of instance of struct __anonymous2 with dimension of constant expression 4 signed int 
-                        from aggregate: 
-                          Applying untyped: 
-                              Name: *?
-                          ...to: 
-                              Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                        Variable Expression: _index1: signed int 
-                    Applying untyped: 
-                        Name: ?[?]
-                    ...to: 
-                        Member Expression, with field: 
-                          f4: array of instance of struct __anonymous2 with dimension of constant expression 4 signed int 
-                        from aggregate: 
-                          Variable Expression: _src: instance of struct __anonymous3 
-                        Variable Expression: _index1: signed int 
-
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-v7: instance of struct __anonymous3 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 4 signed int 
-      designated by:         Name: f1
-
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: f2
-
-    Compound initializer:        designated by: [        Name: f4
-constant expression 2 signed int       ]
-      Simple Initializer: constant expression 3 signed int 
-        designated by:           Name: g1
-
-      Simple Initializer:         Name: 0
-
-        designated by:           Name: g3
-
-    Simple Initializer: constant expression 7 signed int 
-      designated by:         Name: f4
-constant expression 3 signed int         Name: g3
-
-struct __anonymous4
-    with members
-      y1: signed int 
-      y2: signed int 
-      y3: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y1: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous4 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y2: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous4 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y3: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-                Member Expression, with field: 
-                  y3: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous4 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
-
-
-
-struct point
-    with members
-      x: signed int 
-      z: signed int 
-      y: instance of struct __anonymous4 
-      w: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct point 
-      _src: instance of struct point 
-    returning 
-      instance of struct point 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct point 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct point 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    z: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct point 
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct point 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: instance of struct __anonymous4 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct point 
-                Member Expression, with field: 
-                  y: instance of struct __anonymous4 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct point 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    w: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct point 
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct point 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct point 
-
-
-
-struct quintet
-    with members
-      v: signed int 
-      w: signed int 
-      x: signed int 
-      y: signed int 
-      z: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct quintet 
-      _src: instance of struct quintet 
-    returning 
-      instance of struct quintet 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    v: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct quintet 
-                Member Expression, with field: 
-                  v: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct quintet 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    w: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct quintet 
-                Member Expression, with field: 
-                  w: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct quintet 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct quintet 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct quintet 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct quintet 
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct quintet 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    z: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct quintet 
-                Member Expression, with field: 
-                  z: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct quintet 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct quintet 
-
-
-
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of p1: instance of struct point with initializer 
-          Compound initializer:  
-            Simple Initializer: constant expression 3 signed int 
-              designated by:                 Name: x
-
-        Declaration of p2: instance of struct point with initializer 
-          Compound initializer:  
-            Simple Initializer: constant expression 3 signed int 
-            Simple Initializer: constant expression 4 signed int 
-        Declaration of p3: instance of struct point with initializer 
-          Compound initializer:  
-            Simple Initializer: constant expression 5 signed int 
-              designated by:                 Name: x
-                Name: z
-
-            Compound initializer:                designated by: [                Name: y
-              ]
-              Simple Initializer: constant expression 6 signed int 
-                designated by:                   Name: y3
-                  Name: y1
-
-              Simple Initializer: constant expression 17 signed int 
-        Declaration of p4: instance of struct point with initializer 
-          Compound initializer:  
-            Simple Initializer: constant expression 5 signed int 
-              designated by:                 Name: w
-
-            Simple Initializer: constant expression 4 signed int 
-
Index: src/Tests/Expect-v/Initialization2.txt
===================================================================
--- src/Tests/Expect-v/Initialization2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,740 +1,0 @@
-a: signed int with initializer 
-  Simple Initializer: constant expression 3 signed int 
-struct __anonymous0
-    with members
-      x: signed int 
-      y: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-z: instance of struct __anonymous0 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-    Simple Initializer: constant expression 7 signed int 
-struct __anonymous1
-    with members
-      x: signed int 
-      y: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous1 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous1 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-z1: instance of struct __anonymous1 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: x
-        Name: y
-
-struct __anonymous2
-    with members
-      x: signed int 
-      y: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous2 
-      _src: instance of struct __anonymous2 
-    returning 
-      instance of struct __anonymous2 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous2 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous2 
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous2 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
-
-
-
-z2: instance of struct __anonymous2 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: y
-
-    Simple Initializer: constant expression 4 signed int 
-      designated by:         Name: x
-
-struct __anonymous3
-    with members
-      y1: signed int 
-      y2: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous3 
-      _src: instance of struct __anonymous3 
-    returning 
-      instance of struct __anonymous3 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y1: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous3 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y2: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous3 
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous3 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
-
-
-
-struct __anonymous4
-    with members
-      x: signed int 
-      y: instance of struct __anonymous3 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous4 
-      _src: instance of struct __anonymous4 
-    returning 
-      instance of struct __anonymous4 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous4 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: instance of struct __anonymous3 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous4 
-                Member Expression, with field: 
-                  y: instance of struct __anonymous3 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous4 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
-
-
-
-z3: instance of struct __anonymous4 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: x
-
-    Compound initializer:        designated by: [        Name: y
-      ]
-      Simple Initializer: constant expression 4 signed int 
-        designated by:           Name: y1
-
-      Simple Initializer: constant expression 5 signed int 
-        designated by:           Name: y2
-
-struct __anonymous5
-    with members
-      y1: signed int 
-      y2: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous5 
-      _src: instance of struct __anonymous5 
-    returning 
-      instance of struct __anonymous5 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y1: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous5 
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous5 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y2: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous5 
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous5 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous5 
-
-
-
-struct __anonymous6
-    with members
-      x: signed int 
-      y: instance of struct __anonymous5 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous6 
-      _src: instance of struct __anonymous6 
-    returning 
-      instance of struct __anonymous6 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous6 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous6 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: instance of struct __anonymous5 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous6 
-                Member Expression, with field: 
-                  y: instance of struct __anonymous5 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous6 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous6 
-
-
-
-z3: instance of struct __anonymous6 with initializer 
-  Compound initializer:  
-    Compound initializer:        designated by: [        Name: y
-      ]
-      Simple Initializer: constant expression 9 signed int 
-        designated by:           Name: y2
-
-      Simple Initializer: constant expression 8 signed int 
-        designated by:           Name: y1
-
-    Simple Initializer: constant expression 7 signed int 
-      designated by:         Name: x
-
-struct __anonymous7
-    with members
-      y1: signed int 
-      y2: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous7 
-      _src: instance of struct __anonymous7 
-    returning 
-      instance of struct __anonymous7 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y1: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous7 
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous7 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y2: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous7 
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous7 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous7 
-
-
-
-struct __anonymous8
-    with members
-      x: signed int 
-      y: instance of struct __anonymous7 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous8 
-      _src: instance of struct __anonymous8 
-    returning 
-      instance of struct __anonymous8 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous8 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous8 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: instance of struct __anonymous7 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous8 
-                Member Expression, with field: 
-                  y: instance of struct __anonymous7 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous8 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous8 
-
-
-
-z3: instance of struct __anonymous8 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 7 signed int 
-      designated by:         Name: x
-
-    Compound initializer:  
-      Simple Initializer: constant expression 9 signed int 
-        designated by:           Name: y2
-
-      Simple Initializer: constant expression 8 signed int 
-        designated by:           Name: y1
-
-struct __anonymous9
-    with members
-      y1: signed int 
-      y2: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous9 
-      _src: instance of struct __anonymous9 
-    returning 
-      instance of struct __anonymous9 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y1: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous9 
-                Member Expression, with field: 
-                  y1: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous9 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y2: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous9 
-                Member Expression, with field: 
-                  y2: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous9 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous9 
-
-
-
-struct __anonymous10
-    with members
-      x: signed int 
-      y: instance of struct __anonymous9 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous10 
-      _src: instance of struct __anonymous10 
-    returning 
-      instance of struct __anonymous10 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous10 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous10 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: instance of struct __anonymous9 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous10 
-                Member Expression, with field: 
-                  y: instance of struct __anonymous9 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous10 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous10 
-
-
-
-z3: instance of struct __anonymous10 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-    Compound initializer:  
-      Simple Initializer: constant expression 4 signed int 
-      Simple Initializer: constant expression 5 signed int 
-struct t
-    with members
-      a: signed int 
-      b: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct t 
-      _src: instance of struct t 
-    returning 
-      instance of struct t 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    a: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct t 
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct t 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    b: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct t 
-                Member Expression, with field: 
-                  b: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct t 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct t 
-
-
-
-x: instance of struct t with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 4 signed int 
-      designated by:         Name: b
-
-    Simple Initializer: constant expression 3 signed int 
-      designated by:         Name: a
-
-struct __anonymous11
-    with members
-      x: signed int 
-      y: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous11 
-      _src: instance of struct __anonymous11 
-    returning 
-      instance of struct __anonymous11 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    x: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous11 
-                Member Expression, with field: 
-                  x: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous11 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous11 
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous11 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous11 
-
-
-
-z6: instance of struct __anonymous11 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 5 signed int 
-    Simple Initializer: constant expression 6 signed int 
-    Simple Initializer: constant expression 4 signed int 
Index: src/Tests/Expect-v/LabelledExit.txt
===================================================================
--- src/Tests/Expect-v/LabelledExit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,743 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of i: signed int 
-        Declaration of x: signed int 
-        Declaration of y: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: x
-                Name: 0
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: y
-                Name: 0
-
-                  CompoundStmt
-                          If on condition: 
-                  Cast of:
-                    Applying untyped: 
-                        Name: ?!=?
-                    ...to: 
-                        Applying untyped: 
-                            Name: ?==?
-                        ...to: 
-                            Name: x
-                            Name: y
-                        Name: 0
-
-                  to:
-                    signed int 
-              .... and branches: 
-                  CompoundStmt
-                                          Labels: {}
-                      For Statement
-                        initialization: 
-
-                        condition: 
-                          Cast of:
-                            Applying untyped: 
-                                Name: ?!=?
-                            ...to: 
-                                Applying untyped: 
-                                    Name: ?<?
-                                ...to: 
-                                    Name: i
-                                    Name: y
-                                Name: 0
-
-                          to:
-                            signed int 
-
-                        increment: 
-
-                        statement block: 
-                          CompoundStmt
-                                                          Expression Statement:
-                                Applying untyped: 
-                                    Name: ?+=?
-                                ...to: 
-                                    Address of:
-                                      Name: y
-                                    Name: 1
-
-                                                          If on condition: 
-                                  Cast of:
-                                    Applying untyped: 
-                                        Name: ?!=?
-                                    ...to: 
-                                        Applying untyped: 
-                                            Name: ?<?
-                                        ...to: 
-                                            Name: y
-constant expression 10 signed int                                         Name: 0
-
-                                  to:
-                                    signed int 
-                              .... and branches: 
-                                  Branch (Break)
-
-
-
-
-
-                  While on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?==?
-                    ...to: 
-                        Name: y
-constant expression 10 signed int                     Name: 0
-
-              to:
-                signed int 
-          .... with body: 
-              Null Statement
-
-                  While on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Name: x
-constant expression 10 signed int                     Name: 0
-
-              to:
-                signed int 
-          .... with body: 
-              CompoundStmt
-                                  While on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: y
-constant expression 5 signed int                             Name: 0
-
-                      to:
-                        signed int 
-                  .... with body: 
-                      CompoundStmt
-                                                  If on condition: 
-                              Cast of:
-                                Applying untyped: 
-                                    Name: ?!=?
-                                ...to: 
-                                    Applying untyped: 
-                                        Name: ?==?
-                                    ...to: 
-                                        Name: y
-constant expression 3 signed int                                     Name: 0
-
-                              to:
-                                signed int 
-                          .... and branches: 
-                              Branch (Break)
-
-
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: x
-                        Name: 1
-
-
-                  Labels: {A,}
-          For Statement
-            initialization: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: i
-                    Name: 0
-
-            condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Name: i
-constant expression 10 signed int                     Name: 0
-
-              to:
-                signed int 
-
-            increment: 
-              Applying untyped: 
-                  Name: ?+=?
-              ...to: 
-                  Address of:
-                    Name: i
-                  Name: 1
-
-            statement block: 
-              CompoundStmt
-                                  Labels: {B,}
-                  For Statement
-                    initialization: 
-                      Expression Statement:
-                        Applying untyped: 
-                            Name: ?=?
-                        ...to: 
-                            Address of:
-                              Name: i
-                            Name: 0
-
-                    condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: i
-constant expression 10 signed int                             Name: 0
-
-                      to:
-                        signed int 
-
-                    increment: 
-                      Applying untyped: 
-                          Name: ?+=?
-                      ...to: 
-                          Address of:
-                            Name: i
-                          Name: 1
-
-                    statement block: 
-                      CompoundStmt
-                                                  Labels: {C,}
-                          For Statement
-                            initialization: 
-                              Expression Statement:
-                                Applying untyped: 
-                                    Name: ?=?
-                                ...to: 
-                                    Address of:
-                                      Name: i
-                                    Name: 0
-
-                            condition: 
-                              Cast of:
-                                Applying untyped: 
-                                    Name: ?!=?
-                                ...to: 
-                                    Applying untyped: 
-                                        Name: ?<?
-                                    ...to: 
-                                        Name: i
-constant expression 10 signed int                                     Name: 0
-
-                              to:
-                                signed int 
-
-                            increment: 
-                              Applying untyped: 
-                                  Name: ?+=?
-                              ...to: 
-                                  Address of:
-                                    Name: i
-                                  Name: 1
-
-                            statement block: 
-                              CompoundStmt
-                                                                  Branch (Goto)
-
-                                                                  Branch (Goto)
-
-                                                                  Branch (Goto)
-
-                                                                  Branch (Continue)
-
-                                                                  Branch (Continue)
-
-                                                                  Branch (Continue)
-
-                                                                  Branch (Continue)
-
-                                                                  Branch (Break)
-
-                                                                  Branch (Break)
-
-                                                                  Branch (Break)
-
-                                                                  Branch (Break)
-
-
-
-
-
-
-
-                  Labels: {D,}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              CompoundStmt
-                                  Branch (Break)
-
-                                  Branch (Continue)
-
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+=?
-            ...to: 
-                Address of:
-                  Name: i
-                Name: 1
-
-                  Branch (Goto)
-
-                  Labels: {X,Y,}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                                  If on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?>?
-                            ...to: 
-                                Name: i
-constant expression 5 signed int                             Name: 0
-
-                      to:
-                        signed int 
-                  .... and branches: 
-                      Branch (Continue)
-
-                                  If on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: i
-constant expression 5 signed int                             Name: 0
-
-                      to:
-                        signed int 
-                  .... and branches: 
-                      Branch (Break)
-
-                                  If on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: i
-constant expression 5 signed int                             Name: 0
-
-                      to:
-                        signed int 
-                  .... and branches: 
-                      Branch (Break)
-
-                                  Branch (Break)
-
-
-
-                  Labels: {XX,}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              CompoundStmt
-                                  Labels: {YY,}
-                  For Statement
-                    initialization: 
-
-                    condition: 
-
-                    increment: 
-
-                    statement block: 
-                      CompoundStmt
-                                                  Labels: {ZZ,}
-                          For Statement
-                            initialization: 
-
-                            condition: 
-
-                            increment: 
-
-                            statement block: 
-                              CompoundStmt
-                                                                  Expression Statement:
-                                    Applying untyped: 
-                                        Name: ?+=?
-                                    ...to: 
-                                        Address of:
-                                          Name: i
-                                        Name: 1
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?>?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Continue)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?<?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Continue)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?<?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Continue)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?>?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Break)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?<?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Break)
-
-                                                                  If on condition: 
-                                      Cast of:
-                                        Applying untyped: 
-                                            Name: ?!=?
-                                        ...to: 
-                                            Applying untyped: 
-                                                Name: ?<?
-                                            ...to: 
-                                                Name: i
-constant expression 5 signed int                                             Name: 0
-
-                                      to:
-                                        signed int 
-                                  .... and branches: 
-                                      Branch (Break)
-
-                                                                  Branch (Break)
-
-
-
-
-
-
-
-                  Labels: {}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              Null Statement
-
-
-                  Labels: {}
-          For Statement
-            initialization: 
-Declaration of i: signed int with initializer 
-              Simple Initializer:                 Name: 0
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              Null Statement
-
-
-                  Labels: {}
-          For Statement
-            initialization: 
-
-            condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Name: i
-                        Name: 0
-                    Name: 0
-
-              to:
-                signed int 
-
-            increment: 
-
-            statement block: 
-              Null Statement
-
-
-                  Labels: {}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-              Applying untyped: 
-                  Name: ?+=?
-              ...to: 
-                  Address of:
-                    Name: i
-                  Name: 1
-
-            statement block: 
-              Null Statement
-
-
-                  Labels: {L0,L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16,L17,L18,L19,L20,L21,L22,L23,L24,L25,L26,L27,L28,L29,L31,L32,L33,L34,}
-          For Statement
-            initialization: 
-
-            condition: 
-
-            increment: 
-
-            statement block: 
-              CompoundStmt
-                                  Branch (Break)
-
-
-
-                  Switch on condition: Name: i
-
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-              Case Name: 0
-
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-                  Branch (Break)
-              Case Name: 1
-
-                  Switch on condition: Name: i
-
-                      Case Name: 0
-
-                          Branch (Break)
-                      Default 
-                          Branch (Break)
-
-                  Choose on condition: Name: i
-
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-              Case Name: 0
-
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-                  Branch (Break)
-              Case Name: 1
-
-                  Choose on condition: Name: i
-
-                      Case Name: 0
-
-                          Branch (Break)
-                      Default 
-                          Branch (Break)
-                  Fall-through statement
-              Case constant expression 2 signed int 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  CompoundStmt
-            Declaration of array: static open array of pointer to void with initializer 
-              Compound initializer:  
-                Simple Initializer:                   Applying untyped: 
-                      Name: LabAddress
-                  ...to: 
-                      Name: foo
-
-                Simple Initializer:                   Applying untyped: 
-                      Name: LabAddress
-                  ...to: 
-                      Name: bar
-
-                Simple Initializer:                   Applying untyped: 
-                      Name: LabAddress
-                  ...to: 
-                      Name: hack
-
-                          Branch (Goto)
-
-
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?>?
-                    ...to: 
-                        Name: i
-constant expression 5 signed int                     Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                                  Branch (Break)
-
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?+=?
-                ...to: 
-                    Address of:
-                      Name: i
-                    Name: 1
-
-
Index: src/Tests/Expect-v/Members.txt
===================================================================
--- src/Tests/Expect-v/Members.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,383 +1,0 @@
-?=?: function
-    with parameters
-      pointer to char 
-      char 
-    returning 
-      char 
-
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to float 
-      float 
-    returning 
-      float 
-
-?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-*?: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type T (not function type) 
-    returning 
-      lvalue instance of type T (not function type) 
-
-__builtin_memcpy: function
-      accepting unspecified arguments
-    returning 
-      pointer to char 
-
-a: function
-    with parameters
-      char 
-    returning 
-      nothing 
-
-b: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-c: function
-    with parameters
-      pointer to signed int 
-    returning 
-      nothing 
-
-d: function
-    with parameters
-      pointer to float 
-    returning 
-      nothing 
-
-struct a_struct
-    with members
-      a: signed int 
-      a: char 
-      a: float 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct a_struct 
-      _src: instance of struct a_struct 
-    returning 
-      instance of struct a_struct 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    a: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct a_struct 
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct a_struct 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    a: char 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct a_struct 
-                Member Expression, with field: 
-                  a: char 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct a_struct 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    a: float 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct a_struct 
-                Member Expression, with field: 
-                  a: float 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct a_struct 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct a_struct 
-
-
-
-union b_struct
-    with members
-      a: pointer to signed int 
-      a: pointer to char 
-      a: pointer to float 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of union b_struct 
-      _src: instance of union b_struct 
-    returning 
-      instance of union b_struct 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: __builtin_memcpy
-            ...to: 
-                Variable Expression: _dst: pointer to instance of union b_struct 
-                Address of:
-                  Variable Expression: _src: instance of union b_struct 
-                Sizeof Expression on: instance of union b_struct 
-
-                  Return Statement, returning: Variable Expression: _src: instance of union b_struct 
-
-
-
-f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of the_struct: instance of struct a_struct 
-        Declaration of the_struct: instance of union b_struct 
-                  Expression Statement:
-            Applying untyped: 
-                Name: a
-            ...to: 
-                Member Expression, with field: a                from aggregate:                   Name: the_struct
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: b
-            ...to: 
-                Member Expression, with field: a                from aggregate:                   Name: the_struct
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: c
-            ...to: 
-                Member Expression, with field: a                from aggregate:                   Name: the_struct
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: d
-            ...to: 
-                Member Expression, with field: a                from aggregate:                   Name: the_struct
-
-
-struct c_struct
-    with members
-      signed int 
-      char 
-      float 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct c_struct 
-      _src: instance of struct c_struct 
-    returning 
-      instance of struct c_struct 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct c_struct 
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct c_struct 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    char 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct c_struct 
-                Member Expression, with field: 
-                  char 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct c_struct 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    float 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct c_struct 
-                Member Expression, with field: 
-                  float 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct c_struct 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct c_struct 
-
-
-
-union d_struct
-    with members
-      pointer to signed int 
-      pointer to char 
-      pointer to float 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of union d_struct 
-      _src: instance of union d_struct 
-    returning 
-      instance of union d_struct 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: __builtin_memcpy
-            ...to: 
-                Variable Expression: _dst: pointer to instance of union d_struct 
-                Address of:
-                  Variable Expression: _src: instance of union d_struct 
-                Sizeof Expression on: instance of union d_struct 
-
-                  Return Statement, returning: Variable Expression: _src: instance of union d_struct 
-
-
-
-g: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of x: short unsigned int 
-        Declaration of x: instance of struct c_struct 
-        Declaration of x: instance of union d_struct 
-                  Expression Statement:
-            Applying untyped: 
-                Name: a
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: b
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: c
-            ...to: 
-                Name: x
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: d
-            ...to: 
-                Name: x
-
-
-struct forward
-q: pointer to instance of struct forward 
-struct forward
-    with members
-      y: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct forward 
-      _src: instance of struct forward 
-    returning 
-      instance of struct forward 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    y: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct forward 
-                Member Expression, with field: 
-                  y: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct forward 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct forward 
-
-
-
-h: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Member Expression, with field: y            from aggregate:               Applying untyped: 
-                  Name: *?
-              ...to: 
-                  Name: q
-
-
Index: src/Tests/Expect-v/Misc.txt
===================================================================
--- src/Tests/Expect-v/Misc.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,55 +1,0 @@
-a: signed int 
-b: signed int 
-b: float 
-g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-g: function
-    with parameters
-      unsigned int 
-    returning 
-      nothing 
-
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Name: a
-
-                  Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Comma Expression:
-                    Name: a
-
-                    Name: a
-
-                  Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Sizeof Expression on:                   Name: a
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Sizeof Expression on: signed int 
-
-
Index: src/Tests/Expect-v/MiscError.txt
===================================================================
--- src/Tests/Expect-v/MiscError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,52 +1,0 @@
-a: signed int 
-b: signed int 
-b: float 
-g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Name: b
-
-                  Name: a
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Comma Expression:
-                    Name: b
-
-                    Name: a
-
-                  Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Comma Expression:
-                  Comma Expression:
-                    Name: a
-
-                    Name: b
-
-                  Name: b
-
-                  Expression Statement:
-            Sizeof Expression on:               Name: b
-
-
-
Index: src/Tests/Expect-v/NamedParmArg.txt
===================================================================
--- src/Tests/Expect-v/NamedParmArg.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,94 +1,0 @@
-f1: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer: constant expression 3 signed int 
-      j: pointer to signed int with initializer 
-        Simple Initializer:           Name: 0
-
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
-f2: function
-    with parameters
-      i: signed int with initializer 
-        Simple Initializer: constant expression 3 signed int 
-      j: pointer to signed int 
-    returning 
-      signed int 
-      signed int 
-    with body 
-      CompoundStmt
-
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int                 Name: 0
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int                 Name: 0
-                with designator:                  Name: j
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-                Name: 0
-                with designator:                  Name: j
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-constant expression 3 signed int                 with designator:                  Name: i
-                Name: 0
-                with designator:                  Name: j
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-                Name: 0
-                with designator:                  Name: j
-constant expression 3 signed int                 with designator:                  Name: i
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f1
-            ...to: 
-                Applying untyped: 
-                    Name: f2
-                ...to: 
-                with designator:                  Tuple:
-                                          Name: j
-
-                                          Name: i
-
-
-
Index: src/Tests/Expect-v/NumericConstants.txt
===================================================================
--- src/Tests/Expect-v/NumericConstants.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,88 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Name: 1
-
-                  Expression Statement:
-constant expression 21 signed int 
-                  Expression Statement:
-constant expression 2147483647 signed int 
-                  Expression Statement:
-constant expression 37LL long long signed int 
-                  Expression Statement:
-constant expression 45ull long long unsigned int 
-                  Expression Statement:
-constant expression 89llu long long unsigned int 
-                  Expression Statement:
-constant expression 99LLu long long unsigned int 
-                  Expression Statement:
-constant expression 56lu long unsigned int 
-                  Expression Statement:
-constant expression 88LLu long long unsigned int 
-                  Expression Statement:
-constant expression 0u unsigned int 
-                  Expression Statement:
-constant expression 0377 signed int 
-                  Expression Statement:
-constant expression 0377ul long unsigned int 
-                  Expression Statement:
-constant expression 0x1 signed int 
-                  Expression Statement:
-constant expression 0x1u unsigned int 
-                  Expression Statement:
-constant expression 0xabL long signed int 
-                  Expression Statement:
-constant expression 0x80000000 unsigned int 
-                  Expression Statement:
-constant expression 0xfff signed int 
-                  Expression Statement:
-constant expression 0xef3daa5c unsigned int 
-                  Expression Statement:
-constant expression 0x3LL long long signed int 
-                  Expression Statement:
-constant expression 3. double 
-                  Expression Statement:
-constant expression 3100. double 
-                  Expression Statement:
-constant expression 1000000. double 
-                  Expression Statement:
-constant expression 3.1 double 
-                  Expression Statement:
-constant expression 3.141592654L long double 
-                  Expression Statement:
-constant expression 123456.123456 double 
-                  Expression Statement:
-constant expression 3E1 double 
-                  Expression Statement:
-constant expression 3e1f float 
-                  Expression Statement:
-constant expression 3E11F float 
-                  Expression Statement:
-constant expression 3E11 double 
-                  Expression Statement:
-constant expression 3e+11 double 
-                  Expression Statement:
-constant expression 3E-11 double 
-                  Expression Statement:
-constant expression 3.0E1 double 
-                  Expression Statement:
-constant expression 3.0E1L long double 
-                  Expression Statement:
-constant expression 3.0e11 double 
-                  Expression Statement:
-constant expression 3.0E11l long double 
-                  Expression Statement:
-constant expression 3.0e+11l long double 
-                  Expression Statement:
-constant expression 3.0E-11 double 
-                  Expression Statement:
-constant expression 123456.123456E-16 double 
-                  Expression Statement:
-constant expression 0xff.ffp0 double 
-                  Expression Statement:
-constant expression 0x1.ffffffffp128l long double 
-
Index: src/Tests/Expect-v/OccursError.txt
===================================================================
--- src/Tests/Expect-v/OccursError.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,54 +1,0 @@
-f: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      pointer to function
-          with parameters
-            instance of type T (not function type) 
-            pointer to instance of type T (not function type) 
-          returning 
-            nothing 
-
-    returning 
-      nothing 
-
-g: forall
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      pointer to instance of type U (not function type) 
-      instance of type U (not function type) 
-    returning 
-      nothing 
-
-test: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: g
-
-
Index: src/Tests/Expect-v/Operators.txt
===================================================================
--- src/Tests/Expect-v/Operators.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,114 +1,0 @@
-?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-?(): function
-    with parameters
-      number1: signed int 
-      number2: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?*?
-...to: 
-    Name: number1
-    Name: number2
-
-
-
-?+?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-struct accumulator
-    with members
-      total: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct accumulator 
-      _src: instance of struct accumulator 
-    returning 
-      instance of struct accumulator 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    total: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct accumulator 
-                Member Expression, with field: 
-                  total: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct accumulator 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct accumulator 
-
-
-
-?(): function
-    with parameters
-      a: instance of struct accumulator 
-      number1: char 
-      number2: char 
-    returning 
-      char 
-
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of a: char 
-        Declaration of b: char 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?()
-            ...to: 
-                Name: a
-                Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: a
-            ...to: 
-                Name: b
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+?
-            ...to: 
-                Name: a
-                Name: b
-
-        Declaration of ?+?: instance of struct accumulator 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?+?
-            ...to: 
-                Name: a
-                Name: b
-
-
Index: src/Tests/Expect-v/Quad.txt
===================================================================
--- src/Tests/Expect-v/Quad.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,93 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?*?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-square: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?*?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      t: instance of type T (not function type) 
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?*?
-...to: 
-    Name: t
-    Name: t
-
-
-
-quad: forall
-      U: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type U (not function type) 
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-          square: pointer to function
-              with parameters
-                instance of type U (not function type) 
-              returning 
-                instance of type U (not function type) 
-
-
-    function
-    with parameters
-      u: instance of type U (not function type) 
-    returning 
-      instance of type U (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: square
-...to: 
-    Applying untyped: 
-        Name: square
-    ...to: 
-        Name: u
-
-
-
-f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: quad
-            ...to: 
-constant expression 7 signed int 
-
Index: src/Tests/Expect-v/Rank2.txt
===================================================================
--- src/Tests/Expect-v/Rank2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,117 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?=?: forall
-      DT: incomplete type
-    function
-    with parameters
-      pointer to pointer to instance of type DT (not function type) 
-      pointer to instance of type DT (not function type) 
-    returning 
-      pointer to instance of type DT (not function type) 
-
-a: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of f: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              nothing 
-
-        Declaration of g: function
-            with parameters
-              p: pointer to forall
-                    U: type
-                      with assertions
-                        ?=?: pointer to function
-                            with parameters
-                              pointer to instance of type U (not function type) 
-                              instance of type U (not function type) 
-                            returning 
-                              instance of type U (not function type) 
-
-
-                  function
-                  with parameters
-                    instance of type U (not function type) 
-                  returning 
-                    nothing 
-
-            returning 
-              nothing 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Name: f
-
-
-g: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of h: function
-            with parameters
-              null: pointer to signed int 
-            returning 
-              nothing 
-
-        Declaration of id: forall
-              T: type
-                with assertions
-                  ?=?: pointer to function
-                      with parameters
-                        pointer to instance of type T (not function type) 
-                        instance of type T (not function type) 
-                      returning 
-                        instance of type T (not function type) 
-
-
-            function
-            with parameters
-              instance of type T (not function type) 
-            returning 
-              instance of type T (not function type) 
-
-        Declaration of 0: forall
-              T: incomplete type
-            pointer to instance of type T (not function type) 
-        Declaration of 0: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: h
-            ...to: 
-                Applying untyped: 
-                    Name: id
-                ...to: 
-                    Applying untyped: 
-                        Name: id
-                    ...to: 
-                        Applying untyped: 
-                            Name: id
-                        ...to: 
-                            Name: 0
-
-
Index: src/Tests/Expect-v/Scope.txt
===================================================================
--- src/Tests/Expect-v/Scope.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,282 +1,0 @@
-x: signed int 
-z: double 
-struct __anonymous0
-    with members
-      a: signed int 
-      b: double 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    a: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  a: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    b: double 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  b: double 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-u: type for instance of struct __anonymous0 
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type u (not function type) 
-      _src: instance of type u (not function type) 
-    returning 
-      instance of type u (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type u (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type u (not function type) 
-
-    to:
-      instance of struct __anonymous0 
-
-
-
-f: function
-    with parameters
-      y: signed int 
-    returning 
-      signed int 
-
-q: double 
-w: function
-    with parameters
-      y: double 
-      v: instance of type u (not function type) 
-    returning 
-      double 
-    with body 
-      CompoundStmt
-        Declaration of x: type
-          with assertions
-            t: function
-                with parameters
-                  instance of type u (not function type) 
-                returning 
-                  instance of type x (not function type) 
-
-
-        Declaration of ?=?: automatically generated function
-            with parameters
-              _dst: pointer to instance of type x (not function type) 
-              _src: instance of type x (not function type) 
-            returning 
-              instance of type x (not function type) 
-
-        Declaration of u: instance of type u (not function type) with initializer 
-          Simple Initializer:             Name: y
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: u
-                Name: y
-
-        Declaration of z: instance of type x (not function type) with initializer 
-          Simple Initializer:             Applying untyped: 
-                Name: t
-            ...to: 
-                Name: u
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: z
-                Applying untyped: 
-                    Name: t
-                ...to: 
-                    Name: u
-
-
-p: double 
-context has_u
-    with parameters
-      z: type
-
-    with members
-      u: function
-          with parameters
-            instance of type z (not function type) 
-          returning 
-            instance of type z (not function type) 
-
-
-q: forall
-      t: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type t (not function type) 
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-          u: pointer to function
-              with parameters
-                instance of type t (not function type) 
-              returning 
-                instance of type t (not function type) 
-
-
-    function
-    with parameters
-      the_t: instance of type t (not function type) 
-    returning 
-      double 
-    with body 
-      CompoundStmt
-        Declaration of y: instance of type t (not function type) with initializer 
-          Simple Initializer:             Applying untyped: 
-                Name: u
-            ...to: 
-                Name: the_t
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: y
-                Applying untyped: 
-                    Name: u
-                ...to: 
-                    Name: the_t
-
-
-f: function
-    with parameters
-      p: double 
-    returning 
-      float 
-    with body 
-      CompoundStmt
-        Declaration of y: signed int 
-                  CompoundStmt
-            Declaration of y: char 
-                          CompoundStmt
-                Declaration of x: char 
-                Declaration of z: char with initializer 
-                  Simple Initializer:                     Name: x
-
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: z
-                        Name: x
-
-
-            Declaration of x: char with initializer 
-              Simple Initializer:                 Name: y
-
-                          Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: x
-                    Name: y
-
-
-        Declaration of q: char with initializer 
-          Simple Initializer:             Name: y
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: q
-                Name: y
-
-
-g: function
-    returning 
-      float 
-    with body 
-      CompoundStmt
-                  Try Statement
-            with block: 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: some_func
-                    ...to: 
-
-            and handlers: 
-              Catch Statement
-              ... catching
-x: char 
-
-        Declaration of z: char 
-
-q: function
-      accepting unspecified arguments
-    returning 
-      double 
-    with parameter names
-      i
-    with parameter declarations
-      i: signed int 
-    with body 
-      CompoundStmt
-                  Switch on condition: Name: i
-
-              Case Name: 0
-
-                  Return Statement, returning: Name: q
-
-              Default 
-                  Return Statement, returning: Name: i
-
-
-
Index: src/Tests/Expect-v/ScopeErrors.txt
===================================================================
--- src/Tests/Expect-v/ScopeErrors.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Error: duplicate function definition for butThisIsAnError: function
-  with parameters
-    double 
-  returning 
-    double 
-  with body 
-    CompoundStmt
-
Index: src/Tests/Expect-v/ShortCircuit.txt
===================================================================
--- src/Tests/Expect-v/ShortCircuit.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,105 +1,0 @@
-?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-?!=?: function
-    with parameters
-      float 
-      float 
-    returning 
-      signed int 
-
-0: signed int 
-g: function
-    with parameters
-      float 
-    returning 
-      nothing 
-
-g: function
-    with parameters
-      signed int 
-    returning 
-      nothing 
-
-f: function
-    with parameters
-      a: signed int 
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of b: signed int 
-        Declaration of c: float 
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Conditional expression on: 
-                  Cast of:
-                    Applying untyped: 
-                        Name: ?!=?
-                    ...to: 
-                        Name: a
-                        Name: 0
-
-                  to:
-                    signed int 
-                First alternative:
-                  Name: b
-                Second alternative:
-                  Name: c
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Short-circuited operation (and) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: a
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: c
-      Name: 0
-
-to:
-  signed int 
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Short-circuited operation (or) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: a
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Name: b
-      Name: 0
-
-to:
-  signed int 
-
-
-
Index: src/Tests/Expect-v/Statement.txt
===================================================================
--- src/Tests/Expect-v/Statement.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,108 +1,0 @@
-?=?: function
-    with parameters
-      pointer to signed int 
-      signed int 
-    returning 
-      signed int 
-
-?!=?: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-0: signed int 
-f: function
-      accepting unspecified arguments
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of a: signed int 
-        Declaration of struct __anonymous0
-            with members
-              b: signed int 
-
-        Declaration of ?=?: automatically generated inline function
-            with parameters
-              _dst: pointer to instance of struct __anonymous0 
-              _src: instance of struct __anonymous0 
-            returning 
-              instance of struct __anonymous0 
-            with body 
-              CompoundStmt
-                                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Member Expression, with field: 
-                            b: signed int 
-                          from aggregate: 
-                            Applying untyped: 
-                                Name: *?
-                            ...to: 
-                                Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                        Member Expression, with field: 
-                          b: signed int 
-                        from aggregate: 
-                          Variable Expression: _src: instance of struct __anonymous0 
-
-                                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-        Declaration of a: instance of struct __anonymous0 
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Name: a
-                    Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              CompoundStmt
-                                  While on condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Name: a
-                            Name: 0
-
-                      to:
-                        signed int 
-                  .... with body: 
-                      CompoundStmt
-                        Declaration of b: pointer to signed int 
-                                                  Labels: {}
-                          For Statement
-                            initialization: 
-                              Expression Statement:
-                                Name: b
-
-                            condition: 
-                              Cast of:
-                                Applying untyped: 
-                                    Name: ?!=?
-                                ...to: 
-                                    Name: a
-                                    Name: 0
-
-                              to:
-                                signed int 
-
-                            increment: 
-                              Name: b
-
-                            statement block: 
-                              CompoundStmt
-
-
-
-
-
Index: src/Tests/Expect-v/StructMember.txt
===================================================================
--- src/Tests/Expect-v/StructMember.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,693 +1,0 @@
-struct S
-    with members
-      m1: signed int with bitfield width constant expression 3 signed int 
-      m2: signed int with bitfield width constant expression 4 signed int 
-      signed int with bitfield width constant expression 2 signed int 
-      signed int with bitfield width constant expression 3 signed int 
-      signed int with bitfield width constant expression 4 signed int 
-      m3: signed int 
-      m4: signed int 
-      m5: signed int 
-      m6: signed int 
-      m7: pointer to signed int 
-      m8: pointer to signed int 
-      m9: pointer to signed int 
-      m10: pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      m11: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      T: signed int 
-      T: signed int 
-      m12: pointer to signed int 
-      m13: pointer to signed int 
-      m14: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      signed int 
-      signed int 
-      signed int 
-      signed int 
-      pointer to signed int 
-      signed int 
-      signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to signed int 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-      pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct S 
-      _src: instance of struct S 
-    returning 
-      instance of struct S 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m1: signed int with bitfield width constant expression 3 signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m1: signed int with bitfield width constant expression 3 signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m2: signed int with bitfield width constant expression 4 signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m2: signed int with bitfield width constant expression 4 signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m3: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m3: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m4: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m4: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m5: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m5: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m6: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m6: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m7: pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m7: pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m8: pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m8: pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m9: pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m9: pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m10: pointer to function
-                        accepting unspecified arguments
-                      returning 
-                        signed int 
-
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m10: pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m11: pointer to function
-                      with parameters
-                        signed int 
-                      returning 
-                        pointer to signed int 
-
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m11: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    T: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    T: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m12: pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m12: pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m13: pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m13: pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    m14: pointer to function
-                      with parameters
-                        signed int 
-                      returning 
-                        pointer to signed int 
-
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  m14: pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      pointer to signed int 
-
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    pointer to signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  pointer to signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    pointer to function
-                        accepting unspecified arguments
-                      returning 
-                        signed int 
-
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  pointer to function
-                      accepting unspecified arguments
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    pointer to pointer to function
-                      with parameters
-                        signed int 
-                      returning 
-                        signed int 
-
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  pointer to pointer to function
-                    with parameters
-                      signed int 
-                    returning 
-                      signed int 
-
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S 
-                Member Expression, with field: 
-                  signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct S 
-
-
-
-s: instance of struct S 
-union U
-    with members
-      m1: array of signed int with dimension of constant expression 5 signed int 
-      m2: array of signed int with dimension of constant expression 5 signed int 
-      m3: pointer to signed int 
-      m4: pointer to signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of union U 
-      _src: instance of union U 
-    returning 
-      instance of union U 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: __builtin_memcpy
-            ...to: 
-                Variable Expression: _dst: pointer to instance of union U 
-                Address of:
-                  Variable Expression: _src: instance of union U 
-                Sizeof Expression on: instance of union U 
-
-                  Return Statement, returning: Variable Expression: _src: instance of union U 
-
-
-
-u: instance of union U 
Index: src/Tests/Expect-v/Subrange.txt
===================================================================
--- src/Tests/Expect-v/Subrange.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,409 +1,0 @@
-context ordered
-    with parameters
-      T: type
-
-    with members
-      ?<?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            signed int 
-
-      ?<=?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            signed int 
-
-
-subrange: type for instance of type base_t (not function type) 
-  with parameters
-    base_t: type
-      with assertions
-        instance of context ordered 
-          with parameters
-            instance of type base_t (not function type) 
-
-
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type subrange (not function type) 
-      _src: instance of type subrange (not function type) 
-    returning 
-      instance of type subrange (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type subrange (not function type) 
-
-    to:
-      pointer to instance of type base_t (not function type) 
-    Cast of:
-      Variable Expression: _src: instance of type subrange (not function type) 
-
-    to:
-      instance of type base_t (not function type) 
-
-
-
-day_of_month: instance of type subrange (not function type) 
-  with parameters
-    unsigned int 
-          Name: 1
-
-    constant expression 31 signed int 
-
-lcase: instance of type subrange (not function type) 
-  with parameters
-    char 
-    constant expression 'a' char 
-    constant expression 'z' char 
-
-foo: instance of type subrange (not function type) 
-  with parameters
-    signed int 
-          Name: 0
-
-          Applying untyped: 
-          Name: ?&?
-      ...to: 
-          Applying untyped: 
-              Name: rand
-          ...to: 
-constant expression 0xF signed int 
-
-lbound: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      v: instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Name: low
-
-
-
-hbound: forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-
-    function
-    with parameters
-      v: instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-    returning 
-      instance of type T (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Name: high
-
-
-
-lday: unsigned int with initializer 
-  Simple Initializer:     Applying untyped: 
-        Name: lbound
-    ...to: 
-        Name: day_of_month
-
-?=?: inline forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?<?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-          ?<=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-
-    function
-    with parameters
-      target: pointer to instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-      source: instance of type T (not function type) 
-    returning 
-      instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: low
-
-                      Name: high
-
-
-    with body 
-      CompoundStmt
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Short-circuited operation (and) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: low
-          Name: source
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: source
-          Name: high
-      Name: 0
-
-to:
-  signed int 
-
-                    Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Applying untyped: 
-                          Name: *?
-                      ...to: 
-                          Cast of:
-                            Name: target
-
-                          to:
-                            pointer to instance of type T (not function type) 
-                    Name: source
-              Expression Statement:
-                Applying untyped: 
-                    Name: abort
-                ...to: 
-
-                  Return Statement, returning: Name: target
-
-
-
-?=?: inline forall
-      T: type
-        with assertions
-          ?=?: pointer to function
-              with parameters
-                pointer to instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                instance of type T (not function type) 
-
-          ?<?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-          ?<=?: pointer to function
-              with parameters
-                instance of type T (not function type) 
-                instance of type T (not function type) 
-              returning 
-                signed int 
-
-
-    function
-    with parameters
-      target: pointer to instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: t_low
-
-                      Name: t_high
-
-
-      source: instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: s_low
-
-                      Name: s_high
-
-
-    returning 
-      instance of type subrange (not function type) 
-        with parameters
-          instance of type T (not function type) 
-                      Name: t_low
-
-                      Name: t_high
-
-
-    with body 
-      CompoundStmt
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Short-circuited operation (and) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Short-circuited operation (or) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: t_low
-          Name: s_low
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: t_low
-          Name: source
-      Name: 0
-
-to:
-  signed int 
-
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Short-circuited operation (or) on: Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: s_high
-          Name: t_high
-      Name: 0
-
-to:
-  signed int 
- and Cast of:
-  Applying untyped: 
-      Name: ?!=?
-  ...to: 
-      Applying untyped: 
-          Name: ?<=?
-      ...to: 
-          Name: source
-          Name: t_high
-      Name: 0
-
-to:
-  signed int 
-
-      Name: 0
-
-to:
-  signed int 
-
-                    Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Applying untyped: 
-                          Name: *?
-                      ...to: 
-                          Cast of:
-                            Name: target
-
-                          to:
-                            pointer to instance of type T (not function type) 
-                    Name: source
-              Expression Statement:
-                Applying untyped: 
-                    Name: abort
-                ...to: 
-
-                  Return Statement, returning: Name: target
-
-
-
Index: src/Tests/Expect-v/Switch.txt
===================================================================
--- src/Tests/Expect-v/Switch.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,131 +1,0 @@
-fred: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of i: signed int 
-                  Switch on condition: Name: i
-
-              Case constant expression 3 signed int 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  Switch on condition: Name: i
-
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  Switch on condition: constant expression 3 signed int 
-              Default 
-              Case constant expression 2 signed int 
-              Case constant expression 3 signed int 
-                  Expression Statement:
-constant expression 3 signed int 
-                  Switch on condition: Name: i
-
-
-                  Switch on condition: Name: i
-
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 8 signed int constant expression 10 signed int 
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-constant expression 3 signed int               Case constant expression 3 signed int 
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 'A' char constant expression 'Z' char 
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 5 signed int constant expression 6 signed int 
-              Case Tuple:
-  constant expression 2 signed int 
-  constant expression 4 signed int 
-
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-constant expression 3 signed int                   Branch (Break)
-
-                  Choose on condition: Name: i
-
-              Case constant expression 3 signed int 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  Choose on condition: Name: i
-
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-                        Name: 1
-
-                  Choose on condition: Name: i
-
-              Case constant expression 3 signed int 
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 'A' char constant expression 'Z' char 
-              Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 5 signed int constant expression 6 signed int 
-              Case Tuple:
-  constant expression 2 signed int 
-  constant expression 4 signed int 
-  constant expression 7 signed int 
-
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-constant expression 3 signed int                   Fall-through statement
-              Default 
-                  Expression Statement:
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: i
-constant expression 3 signed int               Case Applying untyped: 
-    Name: Range
-...to: 
-constant expression 8 signed int constant expression 10 signed int 
-                  Fall-through statement
-
-
Index: src/Tests/Expect-v/Tuple.txt
===================================================================
--- src/Tests/Expect-v/Tuple.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,670 +1,0 @@
-f: function
-    with parameters
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-g: function
-    with parameters
-      signed int 
-      signed int 
-      signed int 
-    returning 
-      signed int 
-
-h: static function
-    with parameters
-      a: signed int 
-      b: signed int 
-      c: pointer to signed int 
-      d: pointer to char 
-    returning 
-      signed int 
-      pointer to signed int 
-      pointer to signed int 
-      signed int 
-
-struct inner
-    with members
-      f2: signed int 
-      f3: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct inner 
-      _src: instance of struct inner 
-    returning 
-      instance of struct inner 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    f2: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct inner 
-                Member Expression, with field: 
-                  f2: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct inner 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    f3: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct inner 
-                Member Expression, with field: 
-                  f3: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct inner 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct inner 
-
-
-
-struct outer
-    with members
-      f1: signed int 
-      i: instance of struct inner 
-      f4: double 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct outer 
-      _src: instance of struct outer 
-    returning 
-      instance of struct outer 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    f1: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct outer 
-                Member Expression, with field: 
-                  f1: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct outer 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: instance of struct inner 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct outer 
-                Member Expression, with field: 
-                  i: instance of struct inner 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct outer 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    f4: double 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct outer 
-                Member Expression, with field: 
-                  f4: double 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct outer 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct outer 
-
-
-
-s: instance of struct outer 
-sp: pointer to instance of struct outer 
-t1: const volatile tuple of types
-    signed int 
-    signed int 
-
-t2: static const tuple of types
-    signed int 
-    const signed int 
-
-t3: static const tuple of types
-    signed int 
-    const signed int 
-
-printf: function
-    with parameters
-      fmt: pointer to char 
-      and a variable number of other arguments
-    returning 
-      rc: signed int 
-
-printf: function
-    with parameters
-      fmt: pointer to char 
-      and a variable number of other arguments
-    returning 
-      signed int 
-
-f1: function
-    with parameters
-      w: signed int 
-    returning 
-      x: short signed int 
-      y: unsigned int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: y
-
-                                          Name: x
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                                                  Name: x
-
-                                                  Name: y
-
-                    Tuple:
-                                              Name: w
-
-                      constant expression 23 signed int 
-
-
-g1: function
-    returning 
-      r: tuple of types
-          signed int 
-          char 
-          long signed int 
-          signed int 
-
-    with body 
-      CompoundStmt
-        Declaration of x: short signed int 
-        Declaration of p: short signed int 
-        Declaration of y: unsigned int 
-        Declaration of z: tuple of types
-            signed int 
-            signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: x
-
-                                          Name: y
-
-                                          Name: z
-
-                Tuple:
-                                      Name: p
-
-                                      Applying untyped: 
-                        Name: f
-                    ...to: 
-constant expression 17 signed int 
-                  constant expression 3 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: x
-
-                                          Name: y
-
-                                          Name: z
-
-                Cast of:
-                  Tuple:
-                                          Name: p
-
-                                          Applying untyped: 
-                          Name: f
-                      ...to: 
-constant expression 17 signed int 
-                    constant expression 3 signed int 
-
-                to:
-                  short signed int 
-                  unsigned int 
-                  tuple of types
-                      signed int 
-                      signed int 
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: r
-                Tuple:
-                                      Name: x
-
-                                      Name: y
-
-                                      Name: z
-
-
-
-main: C function
-    with parameters
-      argc: signed int 
-      argv: pointer to pointer to char 
-    returning 
-      rc: signed int 
-    with body 
-      CompoundStmt
-        Declaration of a: signed int 
-        Declaration of b: signed int 
-        Declaration of c: signed int 
-        Declaration of d: signed int 
-        Declaration of t: instance of struct outer with initializer 
-          Compound initializer:  
-            Simple Initializer:               Tuple:
-                                  Name: 1
-
-                constant expression 7.0 double 
-
-              designated by:                 Name: f1
-                Name: f4
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Tuple:
-                  constant expression 3 signed int 
-                  constant expression 5 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Tuple:
-                  constant expression 3 signed int 
-                  constant expression 5 signed int 
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: f
-            ...to: 
-                Name: t1
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: g
-            ...to: 
-                Name: t1
-constant expression 3 signed int 
-                  Expression Statement:
-            Tuple:
-
-                  Expression Statement:
-            Tuple:
-              constant expression 3 signed int 
-              constant expression 5 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-constant expression 3 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Tuple:
-                  constant expression 4.6 double 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                                                  Name: c
-
-                                                  Name: d
-
-                    Tuple:
-                      constant expression 3 signed int 
-                      constant expression 5 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                                          Tuple:
-                                                  Name: c
-
-
-                Tuple:
-                  constant expression 2 signed int 
-                                      Tuple:
-                                              Name: a
-
-                                              Name: b
-
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Conditional expression on: 
-                  Cast of:
-                    Applying untyped: 
-                        Name: ?!=?
-                    ...to: 
-                        Applying untyped: 
-                            Name: ?>?
-                        ...to: 
-constant expression 3 signed int constant expression 4 signed int                         Name: 0
-
-                  to:
-                    signed int 
-                First alternative:
-                  Tuple:
-                                          Name: b
-
-                    constant expression 6 signed int 
-                Second alternative:
-                  Tuple:
-                    constant expression 7 signed int 
-                    constant expression 8 signed int 
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: t1
-                Tuple:
-                                      Name: a
-
-                                      Name: b
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: t1
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: t2
-                    Tuple:
-                                              Name: a
-
-                                              Name: b
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                                                  Name: c
-
-                                                  Name: d
-
-                    Applying untyped: 
-                        Name: ?+=?
-                    ...to: 
-                        Address of:
-                          Name: d
-                        Applying untyped: 
-                            Name: ?+=?
-                        ...to: 
-                            Address of:
-                              Name: c
-                            Name: 1
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                                                  Name: c
-
-                                                  Name: d
-
-                    Name: t1
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: t1
-                    Tuple:
-                                              Name: c
-
-                                              Name: d
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Name: t1
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Name: t2
-                        Tuple:
-                                                      Name: c
-
-                                                      Name: d
-
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: t1
-                Applying untyped: 
-                    Name: ?=?
-                ...to: 
-                    Address of:
-                      Tuple:
-                        constant expression 3 signed int 
-                        constant expression 4 signed int 
-                    Applying untyped: 
-                        Name: ?=?
-                    ...to: 
-                        Address of:
-                          Tuple:
-                            constant expression 3 signed int 
-                            constant expression 4 signed int 
-                        Applying untyped: 
-                            Name: ?=?
-                        ...to: 
-                            Address of:
-                              Name: t1
-                            Tuple:
-                              constant expression 3 signed int 
-                              constant expression 4 signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: s
-                Tuple:
-                  constant expression 11 signed int 
-                  constant expression 12 signed int 
-                  constant expression 13 signed int 
-                  constant expression 3.14159 double 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: s
-                Applying untyped: 
-                    Name: h
-                ...to: 
-constant expression 3 signed int constant expression 3 signed int                     Name: 0
-constant expression "abc" array of char with dimension of constant expression 6 unsigned int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Tuple:
-                                          Name: a
-
-                                          Name: b
-
-                Applying untyped: 
-                    Name: h
-                ...to: 
-constant expression 3 signed int constant expression 3 signed int                     Name: 0
-constant expression "abc" array of char with dimension of constant expression 6 unsigned int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: sp
-                Name: sp
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: printf
-            ...to: 
-constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int                 Name: s
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: rc
-                Name: 0
-
-
Index: src/Tests/Expect-v/TypeGenerator.txt
===================================================================
--- src/Tests/Expect-v/TypeGenerator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,406 +1,0 @@
-context addable
-    with parameters
-      T: type
-
-    with members
-      ?+?: function
-          with parameters
-            instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-      ?=?: function
-          with parameters
-            pointer to instance of type T (not function type) 
-            instance of type T (not function type) 
-          returning 
-            instance of type T (not function type) 
-
-
-struct __anonymous0
-    with members
-      data: instance of type T (not function type) 
-      next: pointer to instance of type List1 (not function type) 
-        with parameters
-          instance of type T (not function type) 
-
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    data: instance of type T (not function type) 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    next: pointer to instance of type List1 (not function type) 
-                    with parameters
-                      instance of type T (not function type) 
-
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  next: pointer to instance of type List1 (not function type) 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-List1: type for pointer to instance of struct __anonymous0 
-  with parameters
-    T: type
-      with assertions
-        instance of context addable 
-          with parameters
-            instance of type T (not function type) 
-
-
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type List1 (not function type) 
-      _src: instance of type List1 (not function type) 
-    returning 
-      instance of type List1 (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
-
-    to:
-      pointer to pointer to instance of struct __anonymous0 
-    Cast of:
-      Variable Expression: _src: instance of type List1 (not function type) 
-
-    to:
-      pointer to instance of struct __anonymous0 
-
-
-
-li: instance of type List1 (not function type) 
-  with parameters
-    signed int 
-
-f: function
-    with parameters
-      g: pointer to function
-          with parameters
-            signed int 
-          returning 
-            instance of type List1 (not function type) 
-              with parameters
-                signed int 
-
-
-    returning 
-      signed int 
-
-h: function
-    with parameters
-      p: pointer to instance of type List1 (not function type) 
-        with parameters
-          signed int 
-
-    returning 
-      signed int 
-
-struct S2
-    with parameters
-      T: type
-
-    with members
-      i: instance of type T (not function type) 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct S2 
-      _src: instance of struct S2 
-    returning 
-      instance of struct S2 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: instance of type T (not function type) 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S2 
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S2 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct S2 
-
-
-
-v1: instance of struct S3 
-  with parameters
-    signed int 
-
-p: pointer to instance of struct S3 
-  with parameters
-    signed int 
-
-struct S24
-    with parameters
-      T: type
-
-    with members
-      i: instance of type T (not function type) 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct S24 
-      _src: instance of struct S24 
-    returning 
-      instance of struct S24 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: instance of type T (not function type) 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct S24 
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct S24 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct S24 
-
-
-
-v2: instance of struct S24 
-  with parameters
-    signed int 
-
-struct __anonymous1
-    with parameters
-      T: type
-
-    with members
-      i: instance of type T (not function type) 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous1 
-      _src: instance of struct __anonymous1 
-    returning 
-      instance of struct __anonymous1 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    i: instance of type T (not function type) 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous1 
-                Member Expression, with field: 
-                  i: instance of type T (not function type) 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous1 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
-
-
-
-v2: instance of struct __anonymous1 
-  with parameters
-    signed int 
-
-struct node
-    with parameters
-      T: type
-        with assertions
-          instance of context addable 
-            with parameters
-              instance of type T (not function type) 
-
-
-
-    with members
-      data: instance of type T (not function type) 
-      next: pointer to instance of struct node 
-        with parameters
-          instance of type T (not function type) 
-
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct node 
-      _src: instance of struct node 
-    returning 
-      instance of struct node 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    data: instance of type T (not function type) 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct node 
-                Member Expression, with field: 
-                  data: instance of type T (not function type) 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct node 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    next: pointer to instance of struct node 
-                    with parameters
-                      instance of type T (not function type) 
-
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct node 
-                Member Expression, with field: 
-                  next: pointer to instance of struct node 
-                  with parameters
-                    instance of type T (not function type) 
-
-                from aggregate: 
-                  Variable Expression: _src: instance of struct node 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct node 
-
-
-
-List: type for pointer to instance of struct node 
-  with parameters
-    instance of type T (not function type) 
-
-  with parameters
-    T: type
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type List (not function type) 
-      _src: instance of type List (not function type) 
-    returning 
-      instance of type List (not function type) 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: ?=?
-...to: 
-    Cast of:
-      Variable Expression: _dst: pointer to instance of type List (not function type) 
-
-    to:
-      pointer to pointer to instance of struct node 
-        with parameters
-          instance of type T (not function type) 
-
-    Cast of:
-      Variable Expression: _src: instance of type List (not function type) 
-
-    to:
-      pointer to instance of struct node 
-        with parameters
-          instance of type T (not function type) 
-
-
-
-
-my_list: instance of type List (not function type) 
-  with parameters
-    signed int 
-
-Complex: type
-  with assertions
-    instance of context addable 
-      with parameters
-        instance of type Complex (not function type) 
-
-
-?=?: automatically generated function
-    with parameters
-      _dst: pointer to instance of type Complex (not function type) 
-      _src: instance of type Complex (not function type) 
-    returning 
-      instance of type Complex (not function type) 
-
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Cast of:
-              Name: my_list
-
-            to:
-              instance of struct node 
-                with parameters
-                  signed int 
-
-
-
Index: src/Tests/Expect-v/Typedef.txt
===================================================================
--- src/Tests/Expect-v/Typedef.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,86 +1,0 @@
-f: function
-    returning 
-      nothing 
-    with body 
-      CompoundStmt
-        Declaration of T: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: T
-            ...to: 
-constant expression 3 signed int 
-
-struct __anonymous0
-    with members
-      T: signed int 
-
-?=?: automatically generated inline static function
-    with parameters
-      _dst: pointer to instance of struct __anonymous0 
-      _src: instance of struct __anonymous0 
-    returning 
-      instance of struct __anonymous0 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Member Expression, with field: 
-                    T: signed int 
-                  from aggregate: 
-                    Applying untyped: 
-                        Name: *?
-                    ...to: 
-                        Variable Expression: _dst: pointer to instance of struct __anonymous0 
-                Member Expression, with field: 
-                  T: signed int 
-                from aggregate: 
-                  Variable Expression: _src: instance of struct __anonymous0 
-
-                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
-
-
-
-fred: instance of struct __anonymous0 with initializer 
-  Compound initializer:  
-    Simple Initializer: constant expression 3 signed int 
-b: pointer to function
-    with parameters
-      signed int 
-      char 
-    returning 
-      signed int 
-
-g: function
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of a: double 
-
-c: pointer to function
-    with parameters
-      signed int 
-      char 
-    returning 
-      signed int 
-
-p: type-of expression constant expression 3 signed int 
-q: type-of expression constant expression 3 signed int 
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of w: type-of expression constant expression 3 signed int 
-        Declaration of x: type-of expression constant expression 3 signed int 
-
-array: array of pointer to signed int with dimension of constant expression 10 signed int 
Index: src/Tests/Expect-v/TypedefDeclarator.txt
===================================================================
--- src/Tests/Expect-v/TypedefDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,185 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of f1: signed int 
-        Declaration of f2: signed int 
-        Declaration of f3: pointer to signed int 
-        Declaration of f4: pointer to pointer to signed int 
-        Declaration of f5: pointer to const pointer to signed int 
-        Declaration of f6: const pointer to const pointer to signed int 
-        Declaration of f7: pointer to signed int 
-        Declaration of f8: pointer to pointer to signed int 
-        Declaration of f9: pointer to const pointer to signed int 
-        Declaration of f10: const pointer to const pointer to signed int 
-        Declaration of f11: pointer to signed int 
-        Declaration of f12: pointer to pointer to signed int 
-        Declaration of f13: pointer to const pointer to signed int 
-        Declaration of f14: const pointer to const pointer to signed int 
-        Declaration of f15: open array of signed int 
-        Declaration of f16: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f17: open array of signed int 
-        Declaration of f18: array of signed int with dimension of constant expression 10 signed int 
-        Declaration of f19: open array of pointer to signed int 
-        Declaration of f20: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f21: open array of pointer to pointer to signed int 
-        Declaration of f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f23: open array of pointer to const pointer to signed int 
-        Declaration of f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f25: open array of const pointer to const pointer to signed int 
-        Declaration of f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f27: open array of pointer to signed int 
-        Declaration of f28: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f29: open array of pointer to pointer to signed int 
-        Declaration of f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f31: open array of pointer to const pointer to signed int 
-        Declaration of f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f33: open array of const pointer to const pointer to signed int 
-        Declaration of f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f35: open array of pointer to signed int 
-        Declaration of f36: array of pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f37: open array of pointer to pointer to signed int 
-        Declaration of f38: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f39: open array of pointer to const pointer to signed int 
-        Declaration of f40: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f41: open array of const pointer to const pointer to signed int 
-        Declaration of f42: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-        Declaration of f43: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f45: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f47: open array of array of signed int with dimension of constant expression 3 signed int 
-        Declaration of f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-        Declaration of f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-        Declaration of f65: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f66: function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f67: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f68: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f69: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f70: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f71: function
-            with parameters
-              signed int 
-            returning 
-              pointer to signed int 
-
-        Declaration of f72: function
-            with parameters
-              signed int 
-            returning 
-              pointer to pointer to signed int 
-
-        Declaration of f73: function
-            with parameters
-              signed int 
-            returning 
-              pointer to const pointer to signed int 
-
-        Declaration of f74: function
-            with parameters
-              signed int 
-            returning 
-              const pointer to const pointer to signed int 
-
-        Declaration of f75: pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f76: pointer to pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f77: pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f78: const pointer to const pointer to function
-            with parameters
-              signed int 
-            returning 
-              signed int 
-
-        Declaration of f79: pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f80: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-        Declaration of f81: const pointer to function
-            with parameters
-              signed int 
-            returning 
-              const pointer to function
-                    accepting unspecified arguments
-                  returning 
-                    signed int 
-
-
-
Index: src/Tests/Expect-v/TypedefParamDeclarator.txt
===================================================================
--- src/Tests/Expect-v/TypedefParamDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,262 +1,0 @@
-fred: function
-    with parameters
-      f1: signed int 
-      f3: pointer to signed int 
-      f4: pointer to pointer to signed int 
-      f5: pointer to const pointer to signed int 
-      f6: const pointer to const pointer to signed int 
-      f11: pointer to signed int 
-      f12: pointer to pointer to signed int 
-      f13: pointer to const pointer to signed int 
-      f14: const pointer to const pointer to signed int 
-      f15: pointer to signed int 
-      f16: pointer to array of constant expression 10 signed int signed int 
-      f19: pointer to pointer to signed int 
-      f20: pointer to array of constant expression 10 signed int pointer to signed int 
-      f21: pointer to pointer to pointer to signed int 
-      f22: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f23: pointer to pointer to const pointer to signed int 
-      f24: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f25: pointer to const pointer to const pointer to signed int 
-      f26: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f35: pointer to pointer to signed int 
-      f36: pointer to array of constant expression 10 signed int pointer to signed int 
-      f37: pointer to pointer to pointer to signed int 
-      f38: pointer to array of constant expression 10 signed int pointer to pointer to signed int 
-      f39: pointer to pointer to const pointer to signed int 
-      f40: pointer to array of constant expression 10 signed int pointer to const pointer to signed int 
-      f41: pointer to const pointer to const pointer to signed int 
-      f42: pointer to array of constant expression 10 signed int const pointer to const pointer to signed int 
-      f43: pointer to array of signed int with dimension of constant expression 3 signed int 
-      f44: pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f49: pointer to array of pointer to signed int with dimension of constant expression 3 signed int 
-      f50: pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f51: pointer to array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f52: pointer to array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f53: pointer to array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f54: pointer to array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f55: pointer to array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f56: pointer to array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f57: pointer to array of pointer to signed int with dimension of constant expression 3 signed int 
-      f58: pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f59: pointer to array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f60: pointer to array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f61: pointer to array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f62: pointer to array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f63: pointer to array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f64: pointer to array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f65: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f67: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to signed int 
-
-      f68: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      f69: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      f70: pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f75: pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f76: pointer to pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f77: pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f78: const pointer to const pointer to function
-          with parameters
-            signed int 
-          returning 
-            signed int 
-
-      f79: pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f80: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f81: const pointer to function
-          with parameters
-            signed int 
-          returning 
-            const pointer to function
-                  accepting unspecified arguments
-                returning 
-                  signed int 
-
-
-      f82: const pointer to variable length array of signed int 
-      f83: const pointer to array of constant expression 3 signed int signed int 
-      f84: pointer to static array of constant expression 3 signed int signed int 
-      f85: const pointer to static array of constant expression 3 signed int signed int 
-      pointer to function
-          with parameters
-            const pointer to variable length array of signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            const pointer to array of constant expression 3 signed int signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            signed int 
-
-      f90: const pointer to variable length array of pointer to signed int 
-      f91: const pointer to array of constant expression 3 signed int pointer to signed int 
-      f92: pointer to static array of constant expression 3 signed int pointer to pointer to signed int 
-      f93: const pointer to static array of constant expression 3 signed int pointer to const pointer to signed int 
-      f94: const pointer to static array of constant expression 3 signed int const pointer to const pointer to signed int 
-      pointer to function
-          with parameters
-            const pointer to variable length array of signed int 
-          returning 
-            pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to array of constant expression 3 signed int signed int 
-          returning 
-            pointer to signed int 
-
-      pointer to function
-          with parameters
-            pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-      f100: const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-      f101: const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f102: pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      f103: const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-      pointer to function
-          with parameters
-            const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            signed int 
-
-      f108: const pointer to variable length array of array of pointer to signed int with dimension of constant expression 3 signed int 
-      f109: const pointer to array of constant expression 3 signed int array of pointer to signed int with dimension of constant expression 3 signed int 
-      f110: pointer to static array of constant expression 3 signed int array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-      f111: const pointer to static array of constant expression 3 signed int array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      f112: const pointer to static array of constant expression 3 signed int array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-      pointer to function
-          with parameters
-            const pointer to variable length array of array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to signed int 
-
-      pointer to function
-          with parameters
-            pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            pointer to const pointer to signed int 
-
-      pointer to function
-          with parameters
-            const pointer to static array of constant expression 3 signed int array of signed int with dimension of constant expression 3 signed int 
-          returning 
-            const pointer to const pointer to signed int 
-
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-
Index: src/Tests/Expect-v/Typeof.txt
===================================================================
--- src/Tests/Expect-v/Typeof.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,32 +1,0 @@
-main: C function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of v1: pointer to signed int 
-        Declaration of v2: type-of expression           Name: v1
-
-        Declaration of v3: array of type-of expression           Applying untyped: 
-              Name: *?
-          ...to: 
-              Name: v1
-with dimension of constant expression 4 signed int 
-        Declaration of v4: array of pointer to char with dimension of constant expression 4 signed int 
-        Declaration of v5: array of pointer to char with dimension of constant expression 4 signed int 
-        Declaration of v6: pointer to signed int 
-        Declaration of v7: pointer to function
-            with parameters
-              signed int 
-              p: signed int 
-            returning 
-              signed int 
-
-        Declaration of v8: pointer to function
-            with parameters
-              signed int 
-              p: signed int 
-            returning 
-              signed int 
-
-
Index: src/Tests/Expect-v/VariableDeclarator.txt
===================================================================
--- src/Tests/Expect-v/VariableDeclarator.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,253 +1,0 @@
-f1: signed int 
-f2: signed int 
-f3: pointer to signed int 
-f4: pointer to pointer to signed int 
-f5: pointer to const pointer to signed int 
-f6: const pointer to const pointer to signed int 
-f7: pointer to signed int 
-f8: pointer to pointer to signed int 
-f9: pointer to const pointer to signed int 
-f10: const pointer to const pointer to signed int 
-f11: pointer to signed int 
-f12: pointer to pointer to signed int 
-f13: pointer to const pointer to signed int 
-f14: const pointer to const pointer to signed int 
-f15: open array of signed int 
-f16: array of signed int with dimension of constant expression 10 signed int 
-f17: open array of signed int 
-f18: array of signed int with dimension of constant expression 10 signed int 
-f19: open array of pointer to signed int 
-f20: array of pointer to signed int with dimension of constant expression 10 signed int 
-f21: open array of pointer to pointer to signed int 
-f22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-f23: open array of pointer to const pointer to signed int 
-f24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-f25: open array of const pointer to const pointer to signed int 
-f26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-f27: open array of pointer to signed int 
-f28: array of pointer to signed int with dimension of constant expression 10 signed int 
-f29: open array of pointer to pointer to signed int 
-f30: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-f31: open array of pointer to const pointer to signed int 
-f32: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-f33: open array of const pointer to const pointer to signed int 
-f34: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-f35: pointer to open array of signed int 
-f36: pointer to array of signed int with dimension of constant expression 10 signed int 
-f37: pointer to pointer to open array of signed int 
-f38: pointer to pointer to array of signed int with dimension of constant expression 10 signed int 
-f39: pointer to const pointer to open array of signed int 
-f40: pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-f41: const pointer to const pointer to open array of signed int 
-f42: const pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-f43: open array of array of signed int with dimension of constant expression 3 signed int 
-f44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f45: open array of array of signed int with dimension of constant expression 3 signed int 
-f46: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f47: open array of array of signed int with dimension of constant expression 3 signed int 
-f48: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-f50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-f52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f53: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f57: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-f58: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f59: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-f60: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f61: open array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f62: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f63: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-f64: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-f65: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f66: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f67: function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-f68: function
-    with parameters
-      signed int 
-    returning 
-      pointer to pointer to signed int 
-
-f69: function
-    with parameters
-      signed int 
-    returning 
-      pointer to const pointer to signed int 
-
-f70: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to const pointer to signed int 
-
-f71: function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-f72: function
-    with parameters
-      signed int 
-    returning 
-      pointer to pointer to signed int 
-
-f73: function
-    with parameters
-      signed int 
-    returning 
-      pointer to const pointer to signed int 
-
-f74: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to const pointer to signed int 
-
-f75: pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f76: pointer to pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f77: pointer to const pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f78: const pointer to const pointer to function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-f79: pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-
-f80: const pointer to function
-    with parameters
-      signed int 
-    returning 
-      pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-
-f81: const pointer to function
-    with parameters
-      signed int 
-    returning 
-      const pointer to function
-            accepting unspecified arguments
-          returning 
-            signed int 
-
-
-cf3: pointer to signed int 
-cf4: pointer to pointer to signed int 
-cf5: pointer to const pointer to signed int 
-cf6: const pointer to const pointer to signed int 
-cf15: open array of signed int 
-cf16: array of signed int with dimension of constant expression 10 signed int 
-cf19: open array of pointer to signed int 
-cf20: array of pointer to signed int with dimension of constant expression 10 signed int 
-cf21: open array of pointer to pointer to signed int 
-cf22: array of pointer to pointer to signed int with dimension of constant expression 10 signed int 
-cf23: open array of pointer to const pointer to signed int 
-cf24: array of pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-cf25: open array of const pointer to const pointer to signed int 
-cf26: array of const pointer to const pointer to signed int with dimension of constant expression 10 signed int 
-cf35: pointer to open array of signed int 
-cf36: pointer to array of signed int with dimension of constant expression 10 signed int 
-cf37: pointer to pointer to open array of signed int 
-cf38: pointer to pointer to array of signed int with dimension of constant expression 10 signed int 
-cf39: pointer to const pointer to open array of signed int 
-cf40: pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-cf41: const pointer to const pointer to open array of signed int 
-cf42: const pointer to const pointer to array of signed int with dimension of constant expression 10 signed int 
-cf43: open array of array of signed int with dimension of constant expression 3 signed int 
-cf44: array of array of signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf49: open array of array of pointer to signed int with dimension of constant expression 3 signed int 
-cf50: array of array of pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf51: open array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int 
-cf52: array of array of pointer to pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf53: open array of array of const pointer to signed int with dimension of constant expression 3 signed int 
-cf54: array of array of pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf55: open array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int 
-cf56: array of array of const pointer to const pointer to signed int with dimension of constant expression 3 signed int with dimension of constant expression 3 signed int 
-cf65: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-cf66: function
-    with parameters
-      signed int 
-    returning 
-      signed int 
-
-cf67: function
-    with parameters
-      signed int 
-    returning 
-      pointer to signed int 
-
-cf68: function
-    with parameters
-      signed int 
-    returning 
-      pointer to pointer to signed int 
-
-cf69: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to pointer to signed int 
-
-cf70: function
-    with parameters
-      signed int 
-    returning 
-      const pointer to const pointer to signed int 
-
-v3: pointer to open array of pointer to open array of pointer to function
-    with parameters
-      pointer to open array of pointer to open array of signed int 
-      pointer to open array of pointer to open array of signed int 
-    returning 
-      pointer to open array of pointer to open array of signed int 
-
Index: src/Tests/Expect-v/gcc900407-1.txt
===================================================================
--- src/Tests/Expect-v/gcc900407-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,71 +1,0 @@
-foo: function
-    with parameters
-      a: signed int 
-      b: signed int 
-      p: pointer to signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of c: signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Applying untyped: 
-                      Name: ?[?]
-                  ...to: 
-                      Name: p
-constant expression 2 signed int                 Applying untyped: 
-                    Name: ?+?
-                ...to: 
-                    Name: a
-constant expression 0x1000 signed int 
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: c
-                Applying untyped: 
-                    Name: ?+?
-                ...to: 
-                    Name: b
-constant expression 0xffff0000 unsigned int 
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?==?
-                    ...to: 
-                        Applying untyped: 
-                            Name: ?+?
-                        ...to: 
-                            Name: b
-constant expression 0xffff0000 unsigned int constant expression 2 signed int                     Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              Expression Statement:
-                Applying untyped: 
-                    Name: ?++
-                ...to: 
-                    Address of:
-                      Name: c
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Applying untyped: 
-                      Name: ?[?]
-                  ...to: 
-                      Name: p
-constant expression 2 signed int                 Name: c
-
-
Index: src/Tests/Expect-v/gcc900516-1.txt
===================================================================
--- src/Tests/Expect-v/gcc900516-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,26 +1,0 @@
-f: function
-    with parameters
-      c: signed int 
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Return Statement, returning: Applying untyped: 
-    Name: !?
-...to: 
-    Conditional expression on: 
-      Cast of:
-        Applying untyped: 
-            Name: ?!=?
-        ...to: 
-            Name: c
-            Name: 0
-
-      to:
-        signed int 
-    First alternative:
-constant expression 2.0 double     Second alternative:
-constant expression 1.0 double 
-
-
-
Index: src/Tests/Expect-v/gcc920301-1.txt
===================================================================
--- src/Tests/Expect-v/gcc920301-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,18 +1,0 @@
-f: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of t: static open array of pointer to void 
-                  Null Statement
-
-
-g: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of p: static array of unsigned int with dimension of constant expression 5 signed int 
-
Index: src/Tests/Expect-v/gcc920409-1.txt
===================================================================
--- src/Tests/Expect-v/gcc920409-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,32 +1,0 @@
-x: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of y: signed int 
-                  Expression Statement:
-            Conditional expression on: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?>?
-                    ...to: 
-                        Name: y
-constant expression 0.0 double                     Name: 0
-
-              to:
-                signed int 
-            First alternative:
-              Name: y
-            Second alternative:
-              Applying untyped: 
-                  Name: ?-?
-              ...to: 
-                  Name: y
-                  Name: 1
-
-
-
Index: src/Tests/Expect-v/gcc920409-2.txt
===================================================================
--- src/Tests/Expect-v/gcc920409-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,90 +1,0 @@
-x: function
-      accepting unspecified arguments
-    returning 
-      double 
-    with body 
-      CompoundStmt
-        Declaration of x1: signed int 
-        Declaration of x2: signed int 
-        Declaration of v: double 
-                  If on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Applying untyped: 
-                        Name: ?<?
-                    ...to: 
-                        Cast of:
-                          Applying untyped: 
-                              Name: ?-?
-                          ...to: 
-                              Name: x1
-                              Name: x2
-
-                        to:
-                          long signed int 
-                        Name: 1
-                    Name: 0
-
-              to:
-                signed int 
-          .... and branches: 
-              Return Statement, returning: Applying untyped: 
-    Name: -?
-...to: 
-constant expression 1.0 double 
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: v
-                Applying untyped: 
-                    Name: t
-                ...to: 
-                    Name: v
-
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: v
-                Applying untyped: 
-                    Name: y
-                ...to: 
-                    Name: 1
-                    Conditional expression on: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?>?
-                            ...to: 
-                                Name: v
-constant expression 0.0 double                             Name: 0
-
-                      to:
-                        signed int 
-                    First alternative:
-                      Cast of:
-                        Name: v
-
-                      to:
-                        signed int 
-                    Second alternative:
-                      Applying untyped: 
-                          Name: ?-?
-                      ...to: 
-                          Cast of:
-                            Name: v
-
-                          to:
-                            signed int 
-                          Name: 1
-
-
-
Index: src/Tests/Expect-v/gcc920410-2.txt
===================================================================
--- src/Tests/Expect-v/gcc920410-2.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,93 +1,0 @@
-joe: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of j: signed int 
-                  While on condition: 
-              Cast of:
-                Applying untyped: 
-                    Name: ?!=?
-                ...to: 
-                    Name: 1
-                    Name: 0
-
-              to:
-                signed int 
-          .... with body: 
-              CompoundStmt
-                                  Labels: {}
-                  For Statement
-                    initialization: 
-                      Expression Statement:
-                        Applying untyped: 
-                            Name: ?=?
-                        ...to: 
-                            Address of:
-                              Name: j
-                            Name: 0
-
-                    condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: j
-constant expression 4 signed int                             Name: 0
-
-                      to:
-                        signed int 
-
-                    increment: 
-                      Applying untyped: 
-                          Name: ?++
-                      ...to: 
-                          Address of:
-                            Name: j
-
-                    statement block: 
-                      Null Statement
-
-
-                                  Labels: {}
-                  For Statement
-                    initialization: 
-                      Expression Statement:
-                        Applying untyped: 
-                            Name: ?=?
-                        ...to: 
-                            Address of:
-                              Name: j
-                            Name: 0
-
-                    condition: 
-                      Cast of:
-                        Applying untyped: 
-                            Name: ?!=?
-                        ...to: 
-                            Applying untyped: 
-                                Name: ?<?
-                            ...to: 
-                                Name: j
-constant expression 4 signed int                             Name: 0
-
-                      to:
-                        signed int 
-
-                    increment: 
-                      Applying untyped: 
-                          Name: ?++
-                      ...to: 
-                          Address of:
-                            Name: j
-
-                    statement block: 
-                      Null Statement
-
-
-
-
Index: src/Tests/Expect-v/gcc920501-1.txt
===================================================================
--- src/Tests/Expect-v/gcc920501-1.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,16 +1,0 @@
-a: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-        Declaration of b: open array of pointer to pointer to signed int with initializer 
-          Compound initializer:  
-            Simple Initializer:               Applying untyped: 
-                  Name: LabAddress
-              ...to: 
-                  Name: c
-
-                  Null Statement
-
-
Index: src/Tests/Expect-v/gcc920501-11.txt
===================================================================
--- src/Tests/Expect-v/gcc920501-11.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-cfa-cpp: Parser/ExpressionNode.cc:456: virtual Expression* CompositeExprNode::build() const: Assertion `args.size() == 1' failed.
-Aborted (core dumped)
Index: src/Tests/Expect-v/gcc920501-19.txt
===================================================================
--- src/Tests/Expect-v/gcc920501-19.txt	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,18 +1,0 @@
-x: long long signed int with initializer 
-  Simple Initializer:     Name: 0
-
-y: function
-      accepting unspecified arguments
-    returning 
-      signed int 
-    with body 
-      CompoundStmt
-                  Expression Statement:
-            Applying untyped: 
-                Name: ?=?
-            ...to: 
-                Address of:
-                  Name: x
-                Name: 0
-
-
Index: src/Tests/Expression.c
===================================================================
--- src/Tests/Expression.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,67 +1,0 @@
-int fred() {
-    struct s { int i; } *p;
-    int i;
-
-    // order of evaluation (GCC is different)
-/*
-    i = sizeof( (int) {3} );
-    i = sizeof (int) {3};
-*/
-    // operators
-
-    ! i;
-    ~i;
-    +i;
-    -i;
-    *p;
-    ++p;
-    --p;
-    p++;
-    p--;
-
-    i+i;
-    i-i;
-    i*i;
-
-    i/i;
-    i%i;
-    i^i;
-    i&i;
-    i|i;
-    i<i;
-    i>i;
-    i=i;
-
-    i==i;
-    i!=i;
-    i<<i;
-    i>>i;
-    i<=i;
-    i>=i;
-    i&&i;
-    i||i;
-    p->i;
-    i+=i;
-    i-=i;
-    i*=i;
-    i/=i;
-    i%=i;
-    i&=i;
-    i|=i;
-    i^=i;
-    i<<=i;
-    i>>=i;
-
-    i?i:i;
-
-    // cast
-/*
-    double d;
-    int *ip;
-    (int *) i;
-    (* int) i;
-    ([char, int *])[d, d];
-    [i,ip,ip] = ([int, * int, int *])[1,(void *)2,(void *)3];
-    [i,ip,ip] = ([int, * int, int *])([1,(void *)2,(void *)3]);
-*/
-}
Index: src/Tests/Forall.c
===================================================================
--- src/Tests/Forall.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,98 +1,0 @@
-int ?=?( int*, int );
-float ?=?( float*, float );
-int * ?=?( int **, int * );
-float * ?=?( float **, float * );
-char ?=?( char*, char );
-void (* ?=?( void (**)(void), void (*)(void) ))(void);
-
-void g1() {
-	forall( type T ) T f( T );
-	void f( int );
-	void h( void (*p)(void) );
-  
-	int x;
-	void (*y)(void);
-	char z;
-	float w;
-  
-	f( x );
-	f( y );
-	f( z );
-	f( w );
-	h( f( y ) );
-}
-
-void g2() {
-	forall( type T ) void f( T, T );
-	forall( type T, type U ) void f( T, U );
-  
-	int x;
-	float y;
-	int *z;
-	float *w;
-  
-	f( x, y );
-	f( z, w );
-	f( x, z );
-}
-
-typedef forall ( type T ) int (*f)( int );
-
-forall( type T )
-void swap( T left, T right ) {
-	T temp = left;
-	left = right;
-	right = temp;
-}
-
-context sumable( type T ) {
-	const T 0;
-	T ?+?(T, T);
-	T ?++(T);
-	[T] ?+=?(T,T);
-};
-
-type T1 | { const T1 0; T1 ?+?(T1, T1); T1 ?++(T1); [T1] ?+=?(T1,T1); },
-	T2(type P1, type P2 ),
-	T3 | sumable(T3);
-
-type T2(type P1, type P2) | sumable(T2(P1,P2)) = struct { P1 i; P2 j; };
-
-T2(int, int) w1;
-typedef T2(int, int) w2;
-w2 g2;
-type w3 = T2(int, int);
-w3 g3;
-
-forall( type T | sumable( T ) )
-T sum( int n, T a[] ) {
-	T total = 0;
-	int i;
-	for ( i = 0; i < n; i += 1 )
-		total = total + a[i];
-	return total;
-}
-
-forall( type T | { const T 0; T ?+?(T, T); T ?++(T); [T] ?+=?(T,T); } )
-T twice( T t ) {
-	return t + t;
-}
-
-forall( type T | { const T 0; int ?!=?(T, T); int ?<?(T, T); } )
-T min( T t1, T t2 ) {
-	return t1 < t2 ? t1 : t2;
-}
-
-int main() {
-	int x = 1, y = 2, a[10];
-	float f;
-
-	swap( x, y );
-	twice( x );
-	f = min( 4.0, 3.0 );
-	sum( 10, a );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Function.c
===================================================================
--- src/Tests/Function.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,32 +1,0 @@
-int a;
-float a;
-int f( int );
-float f( float );
-
-void g() {
-	// selects the same f each time but without a cast would be ambiguous
-	f( (int)a );
-	(int)f( a );
-}
-
-[ int ] p;
-[ int, double ] p;
-[ int, int, int ] p;
-[ int, int, int, int ] p;
-
-[ char ] q;
-[ int, int ] q;
-[ int, int, float ] q;
-[ int, int, int, int ] q;
-
-[ int, int ] r( int, int, int, int );
-
-void s() {
-	r( p, q );
-	r( [ q, p ] );
-	r( r( p, q ), r( q, q ) );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Functions.c
===================================================================
--- src/Tests/Functions.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,167 +1,0 @@
-// ANSI function definitions
-
-void h(void) {}
-
-int f (
-	int (void),
-	int (int),
-	int ((void)),
-	int ((int)),
-	void g(void)
-	) {
-	(*g)();
-	g();
-	g = h;
-}
-
-int f1() {}
-int (f2()) {}
-int (*f3())() {}
-int *((f4())) {}
-int ((*f5()))() {}
-int *f6() {}
-int *(f7)() {}
-int **f8() {}
-int * const *(f9)() {}
-int (*f10())[] {}
-int (*f11())[][3] {}
-int ((*f12())[])[3] {}
-
-// "implicit int" type specifier (not ANSI)
-
-fII1( int i ) {}
-const fII2( int i ) {}
-extern fII3( int i ) {}
-extern const fII4( int i ) {}
-
-*fII5() {}
-const *fII6() {}
-const long *fII7() {}
-static const long *fII8() {}
-const static long *fII9() {}
-
-// K&R function definitions
-
-fO1( i ) int i; {}
-int fO2( i ) int i; {}
-const fO3( i ) int i; {}
-extern fO4( i ) int i; {}
-extern const fO5( i ) int i; {}
-
-// Cforall extensions
-
-[] f( );
-[int] f( );
-[] f(int);
-[int] f(int);
-[] f( ) {}
-[int] f( ) {}
-[] f(int) {}
-[int] f(int) {}
-
-[int x] f( );
-[] f(int x);
-[int x] f(int x);
-[int x] f( ) {}
-[] f(int x) {}
-[int x] f(int x) {}
-
-[int, int x] f( );
-[] f(int, int x);
-[int, int x] f(int, int x);
-[int, int x] f( ) {}
-[] f(int, int x) {}
-[int, int x] f(int, int x) {}
-
-[int, int x, int] f( );
-[] f(int, int x, int);
-[int, int x, int] f(int, int x, int);
-[int, int x, int] f( ) {}
-[] f(int, int x, int) {}
-[int, int x, int] f(int, int x, int) {}
-
-[int, int x, * int y] f( );
-[] f(int, int x, * int y);
-[int, int x, * int y] f(int, int x, * int y);
-[int, int x, * int y] f( ) {}
-[] f(int, int x, * int y) {}
-[int, int x, * int y] f(int, int x, * int y) {}
-
-[ int ] f11( int ), f12;  // => int f11( int ), f12( int );
-
-[int] f(
-	int ( int, int p ),
-	[int](int)
-	) {
-	int (*(*p)[][10])[][3];
-	* [][10] * [][3] int p;
-	* [] * [int](int) p;
-}
-
-static const int *f1() {}
-static [ const int ] f2() {}
-static inline [ const * int ] f3() {}
-static inline [ const [ * int, int ] ] f4() {}
-static [ const [ * int, const int ] ] f5() {}
-
-// unnamed parameter
-
-int f(
-	int (),
-
-	int *(),
-	int **(),
-	int * const *(),
-	int * const * const (),
-
-	int ([]),
-	int ([10]),
-
-	int *([]),
-	int *([10]),
-	int **([]),
-	int **([10]),
-	int * const *([]),
-	int * const *([10]),
-	int * const * const ([]),
-	int * const * const ([10])
-	);
-
-int f(
-	int (),
-
-	int *(),
-	int **(),
-	int * const *(),
-	int * const * const (),
-
-	int ([]),
-	int ([10]),
-
-	int *([]),
-	int *([10]),
-	int **([]),
-	int **([10]),
-	int * const *([]),
-	int * const *([10]),
-	int * const * const ([]),
-	int * const * const ([10])
-	) {
-}
-
-typedef int T;
-
-int f( T (*f), T t ) {
-	T (T);
-}
-
-// errors
-
-//int f()[] {}
-//int (f[])() {}
-//int f[]() {}
-//int ((*f15())())[] {}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/GccExtensions.c
===================================================================
--- src/Tests/GccExtensions.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,48 +1,0 @@
-int fred() {
-    asm( "nop" );
-    __asm( "nop" );
-    __asm__( "nop" );
-
-    __complex__ c1;
-    _Complex c2;
-
-    const int i1;
-    __const int i2;
-    __const__ int i3;
-
-    __extension__ const int ex;
-
-    __inline int f1();
-    __inline__ int f2();
-
-    __signed s1;
-    __signed s2;
-
-    __typeof(s1) t1;
-    __typeof__(s1) t2;
-
-    __volatile int v1;
-    __volatile__ int v2;
-
-    __attribute__(()) int a1;
-    const __attribute(()) int a2;
-    const static __attribute(()) int a3;
-    const static int __attribute(()) a4;
-    const static int a5 __attribute(());
-    const static int a6, __attribute(()) a7;
-
-    int * __attribute(()) p1;
-    int (* __attribute(()) p2);
-//    int (__attribute(()) (p3));
-//    int ( __attribute(()) (* __attribute(()) p4));
-
-    struct __attribute(()) s1;
-    struct __attribute(()) s2 { int i; };
-    struct __attribute(()) s3 { int i; } x1, __attribute(()) y1;
-    struct __attribute(()) s4 { int i; } x2, y2 __attribute(());
-
-    int m1 [10] __attribute(());
-    int m2 [10][10] __attribute(());
-    int __attribute(()) m3 [10][10];
-//    int ( __attribute(()) m4 [10] )[10];
-}
Index: src/Tests/IdentFuncDeclarator.c
===================================================================
--- src/Tests/IdentFuncDeclarator.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,109 +1,0 @@
-int main() {
-	//int f0[]();
-	//int (f0[])();
-	//int f0()[];
-	//int f0()();
-	//int (*f0)()();
-	//int ((*f0())())[];
-	
-	int f1;
-	int (f2);
-
-	int *f3;
-	int **f4;
-	int * const *f5;
-	int * const * const f6;
-
-	int *(f7);
-	int **(f8);
-	int * const *(f9);
-	int * const * const (f10);
-
-	int (*f11);
-	int (**f12);
-	int (* const *f13);
-	int (* const * const f14);
-
-	int f15[];
-	int f16[10];
-	int (f17[]);
-	int (f18[10]);
-
-	int *f19[];
-	int *f20[10];
-	int **f21[];
-	int **f22[10];
-	int * const *f23[];
-	int * const *f24[10];
-	int * const * const f25[];
-	int * const * const f26[10];
-
-	int *(f27[]);
-	int *(f28[10]);
-	int **(f29[]);
-	int **(f30[10]);
-	int * const *(f31[]);
-	int * const *(f32[10]);
-	int * const * const (f33[]);
-	int * const * const (f34[10]);
-
-	int (*f35[]);
-	int (*f36[10]);
-	int (**f37[]);
-	int (**f38[10]);
-	int (* const *f39[]);
-	int (* const *f40[10]);
-	int (* const * const f41[]);
-	int (* const * const f42[10]);
-
-	int f43[][3];
-	int f44[3][3];
-	int (f45[])[3];
-	int (f46[3])[3];
-	int ((f47[]))[3];
-	int ((f48[3]))[3];
-
-	int *f49[][3];
-	int *f50[3][3];
-	int **f51[][3];
-	int **f52[3][3];
-	int * const *f53[][3];
-	int * const *f54[3][3];
-	int * const * const f55[][3];
-	int * const * const f56[3][3];
-
-	int (*f57[][3]);
-	int (*f58[3][3]);
-	int (**f59[][3]);
-	int (**f60[3][3]);
-	int (* const *f61[][3]);
-	int (* const *f62[3][3]);
-	int (* const * const f63[][3]);
-	int (* const * const f64[3][3]);
-
-	int f65(int);
-	int (f66)(int);
-
-	int *f67(int);
-	int **f68(int);
-	int * const *f69(int);
-	int * const * const f70(int);
-
-	int *(f71)(int);
-	int **(f72)(int);
-	int * const *(f73)(int);
-	int * const * const (f74)(int);
-
-	int (*f75)(int);
-	int (**f76)(int);
-	int (* const *f77)(int);
-	int (* const * const f78)(int);
-
-	int (*(*f79)(int))();
-	int (*(* const f80)(int))();
-	int (* const(* const f81)(int))();
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/IdentFuncParamDeclarator.c
===================================================================
--- src/Tests/IdentFuncParamDeclarator.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,154 +1,0 @@
-int fred(
-	//int f0[](),
-	//int (f0[])(),
-	//int f0()[],
-	//int f0()(),
-	//int (*f0)()(),
-	//int ((*f0())())[],
-	
-	int f1,
-	int (f2),
-
-	int *f3,
-	int **f4,
-	int * const *f5,
-	int * const * const f6,
-
-	int *(f7),
-	int **(f8),
-	int * const *(f9),
-	int * const * const (f10),
-
-	int (*f11),
-	int (**f12),
-	int (* const *f13),
-	int (* const * const f14),
-
-	int f15[],
-	int f16[10],
-	int (f17[]),
-	int (f18[10]),
-
-	int *f19[],
-	int *f20[10],
-	int **f21[],
-	int **f22[10],
-	int * const *f23[],
-	int * const *f24[10],
-	int * const * const f25[],
-	int * const * const f26[10],
-
-	int *(f27[]),
-	int *(f28[10]),
-	int **(f29[]),
-	int **(f30[10]),
-	int * const *(f31[]),
-	int * const *(f32[10]),
-	int * const * const (f33[]),
-	int * const * const (f34[10]),
-
-	int (*f35[]),
-	int (*f36[10]),
-	int (**f37[]),
-	int (**f38[10]),
-	int (* const *f39[]),
-	int (* const *f40[10]),
-	int (* const * const f41[]),
-	int (* const * const f42[10]),
-
-	int f43[][3],
-	int f44[3][3],
-	int (f45[])[3],
-	int (f46[3])[3],
-	int ((f47[]))[3],
-	int ((f48[3]))[3],
-
-	int *f49[][3],
-	int *f50[3][3],
-	int **f51[][3],
-	int **f52[3][3],
-	int * const *f53[][3],
-	int * const *f54[3][3],
-	int * const * const f55[][3],
-	int * const * const f56[3][3],
-
-	int (*f57[][3]),
-	int (*f58[3][3]),
-	int (**f59[][3]),
-	int (**f60[3][3]),
-	int (* const *f61[][3]),
-	int (* const *f62[3][3]),
-	int (* const * const f63[][3]),
-	int (* const * const f64[3][3]),
-
-	int f65(int),
-	int (f66)(int),
-
-	int *f67(int),
-	int **f68(int),
-	int * const *f69(int),
-	int * const * const f70(int),
-
-	int *(f71)(int),
-	int **(f72)(int),
-	int * const *(f73)(int),
-	int * const * const (f74)(int),
-
-	int (*f75)(int),
-	int (**f76)(int),
-	int (* const *f77)(int),
-	int (* const * const f78)(int),
-
-	int (*(*f79)(int))(),
-	int (*(* const f80)(int))(),
-	int (* const(* const f81)(int))(),
-
-	int f82[const *],
-	int f83[const 3],
-	int f84[static 3],
-	int f85[static const 3],
-
-	int (f86[const *]),
-	int (f87[const 3]),
-	int (f88[static 3]),
-	int (f89[static const 3]),
-
-	int *f90[const *],
-	int *f91[const 3],
-	int **f92[static 3],
-	int * const *f93[static const 3],
-	int * const * const f94[static const 3],
-
-	int *(f95[const *]),
-	int *(f96[const 3]),
-	int **(f97[static 3]),
-	int * const *(f98[static const 3]),
-	int * const * const (f99[static const 3]),
-
-	int f100[const *][3],
-	int f101[const 3][3],
-	int f102[static 3][3],
-	int f103[static const 3][3],
-
-	int (f104[const *][3]),
-	int (f105[const 3][3]),
-	int (f106[static 3][3]),
-	int (f107[static const 3][3]),
-
-	int *f108[const *][3],
-	int *f109[const 3][3],
-	int **f110[static 3][3],
-	int * const *f111[static const 3][3],
-	int * const * const f112[static const 3][3],
-
-	int *(f113[const *][3]),
-	int *(f114[const 3][3]),
-	int **(f115[static 3][3]),
-	int * const *(f116[static const 3][3]),
-	int * const * const (f117[static const 3][3])
-	) {
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/InferParam.c
===================================================================
--- src/Tests/InferParam.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,30 +1,0 @@
-int ?=?( int*, int );
-float ?=?( float*, float );
-double ?=?( double*, double );
-
-forall( type T, type U | { U f(T); } ) U g(T);
-float f( int );
-double f( int );
-void i( float );
-
-void h() {
-	int a;
-	i( g( a ) );
-}
-
-context has_f_and_j( type T, type U ) {
-	U f( T );
-	U j( T, U );
-};
-
-float j( int, float );
-forall( type T, type U | has_f_and_j( T, U ) ) U k( T );
-
-void l() {
-	int b;
-	i( k( b ) );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Initialization.c
===================================================================
--- src/Tests/Initialization.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,41 +1,0 @@
-// Cforall extensions
-
-int * x11 = 0, x12 = 0;
-int * x21 = 0, x22 = 0;
-
-[20] int y1, y2 = { 1, 2, 3 };
-
-// designators
-
-struct {
-	[int] w;
-} a = { .w : [2] };
-
-struct { int a[3], b; } w [] = { [0].a : {1}, [0].b : 1, [1].a[0] : 2 };
-
-struct {
-	int f1, f2, f3;
-	struct { int g1, g2, g3; } f4[4];
-} v7 = {
-  .f1 : 4,
-  f2 : 3,
-  .f4[2] : {
-	  .g1 : 3,
-	  g3 : 0,
-	},
-  .f4[3].g3 : 7,
-};
-
-struct point { int x; int z; struct {int y1, y2, y3;} y; int w;};
-struct quintet { int v, w, x, y, z;};
-
-int main() {
-	struct point p1 = { x : 3 };
-	struct point p2 = { 3, 4 };
-	struct point p3 = { .[x,z] : 5, y : { .[y3,y1] : 6, 17 } };
-	struct point p4 = { w : 5, 4 };
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Initialization2.c
===================================================================
--- src/Tests/Initialization2.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,15 +1,0 @@
-int a = 3;
-struct { int x; int y; } z = { 3, 7 };      /* OK */
-struct { int x; int y; } z1 = { .[x,y]:3 }; /* OK */
-struct { int x; int y; } z2 = { y:3, x:4 }; /* OK */
-struct { int x; struct { int y1; int y2; } y; } z3 = { x:3, y:{y1:4, y2:5} };  /* OK */
-struct { int x; struct { int y1; int y2; } y; } z3 = { y:{y2:9, y1:8}, x:7 };  /* OK */
-struct { int x; struct { int y1; int y2; } y; } z3 = { x:7, {y2:9, y1:8} };  /* OK */
-struct { int x; struct { int y1; int y2; } y; } z3 = { 3, {4, 5} };   /* OK */
-//struct { int x; struct { int y1; int y2; } } z3 = {4, {5,6}};
-//struct { int x; struct { int y1; int y2; } y; } z4 = { y:{4,5}, a:3 };
-//struct { int x; struct { int y1; int y2; } y; } z5 = { a:3, {4,5}};
-//int x[20] = { [10]: 4 };
-struct t { int a, b; };
-struct t x = { b:4, a:3 };
-struct { int x; int y; } z6= {5,6,4};  /* (should be an) error */
Index: src/Tests/LabelledExit.c
===================================================================
--- src/Tests/LabelledExit.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,139 +1,0 @@
-int main() {
-    int i;
-    int x, y;
-
-    x = 0; y = 0;
-
-// block, labelled exits
-
-  Block: {
-	if ( x == y ) {
-	    for ( ; i < y; ) {
-		y += 1;
-		if ( y < 10 ) break Block;
-	    }
-	}
-    }
-
-// loops, labelled exits
-
-  w1: while ( y == 10 );
-
-  w2: while ( x < 10 ) {
-      while (y < 5 ) {
-	  if ( y == 3 ) break w2;
-      }
-      x += 1;
-  }
-
-  A: for ( i = 0; i < 10; i += 1 ) {
-    B: for ( i = 0; i < 10; i += 1 ) {
-      C: for ( i = 0; i < 10; i += 1 ) {
-	  goto A;
-	  goto B;
-	  goto C;
-	  continue A;
-	  continue B;
-	  continue C;
-	  continue;
-	  break A;
-	  break B;
-	  break C;
-	  break;
-      }
-    }
-  }
-
-  D: for ( ;; ) {
-      break D;
-      continue D;
-  }
-
-    Z : i += 1;
-    goto Z;
-  X: Y: for ( ;; ) {
-      i += 1;
-      if ( i > 5 ) continue X;
-      if ( i < 5 ) break X;
-      if ( i < 5 ) break Y;
-      break;
-  }
-  XX: for ( ;; ) {
-    YY: for ( ;; ) {
-      ZZ: for ( ;; ) {
-	  i += 1;
-	  if ( i > 5 ) continue XX;
-	  if ( i < 5 ) continue YY;
-	  if ( i < 5 ) continue ZZ;
-	  if ( i > 5 ) break XX;
-	  if ( i < 5 ) break YY;
-	  if ( i < 5 ) break ZZ;
-	  break;
-      }
-    }
-  }
-
-    for ( ;; ) ;
-    for ( int i = 0 ;; ) ;
-    for (  ; i < 0; ) ;
-    for (  ; ; i += 1 ) ;
-  L0:  L1:  L2:  L3:  L4:  L5:  L6:  L7:  L8:  L9:
-  L10: L11: L12: L13: L14: L15: L16: L17: L18: L19:
-  L20: L21: L22: L23: L24: L25: L26: L27: L28: L29:
-  L31: L32: L33: L34:
-    for ( ;; ) {
-	break L0;
-    }
-
-// switch/choose, labelled exits
-
-  Switch: switch ( i ) {
-    default:
-      i += 1;
-    case 0:
-      i += 1;
-      break Switch;
-    case 1:
-      switch ( i ) {
-	case 0:
-	  break Switch;
-	default:
-	  break;
-      }
-  }
-
-  Choose: choose ( i ) {
-    default:
-      i += 1;
-    case 0:
-      i += 1;
-      break Choose;
-    case 1:
-      choose ( i ) {
-	case 0:
-	  break;
-	default:
-	  break Choose;
-      }
-      fallthru;
-    case 2:
-      i += 1;
-  }
-#if 0
-// computed goto
-
-    {
-	static void *array[] = { &&foo, &&bar, &&hack };
-
-      foo: bar: hack:
-	goto *array[i];
-    }
-#endif
-#if 0
-  Q: if ( i > 5 ) {
-      i += 1;
-      break Q;
-  } else
-      i += 1;
-#endif
-}
Index: src/Tests/Makefile
===================================================================
--- src/Tests/Makefile	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,42 +1,0 @@
-CFA ?= ../cfa-cpp
-CFAOPT ?= -a
-OUTPUT ?= Output
-EXPECT ?= Expect
-OUTPUTDIR ?= ${OUTPUT}${CFAOPT}
-EXPECTDIR ?= ${EXPECT}${CFAOPT}
-EXAMPLES = ${wildcard *.c}
-OUTPUTS = ${addprefix ${OUTPUTDIR}/,${EXAMPLES:.c=.txt}}
-
-.SILENT :
-
-all :
-	+for opt in -a -e -f -r -s -v ; do \
-	    make test CFAOPT=$${opt} ; \
-	done ; \
-	rm -f core
-
-test : ${OUTPUTS} ${OUTPUTDIR}/report
-
-${OUTPUTDIR}/%.txt : %.c ${CFA} Makefile
-	-${CFA} -n ${CFAOPT} < $< > $@ 2>&1
-
-${OUTPUTDIR}/report : ${OUTPUTS} ${EXPECTDIR}
-	rm -f $@
-	echo "===== regression test using cfa-cpp flag ${CFAOPT} ====="
-	@for i in ${OUTPUTS} ; do \
-	     echo "---"`basename $$i`"---" | tee -a $@; \
-	     diff -B -w ${EXPECTDIR}/`basename $$i` $$i | tee -a $@; \
-	done
-
-${OUTPUTS} : | ${OUTPUTDIR}		# order only prerequisite
-
-${OUTPUTDIR} :
-	mkdir $@
-
-# remove the expected results directories to generate new ones from the current output
-
-${EXPECTDIR} : | ${OUTPUTS}		# new Expected results ?
-	cp -pr ${OUTPUTDIR} $@
-
-clean :
-	rm -rf ${OUTPUT}-* core
Index: src/Tests/Members.c
===================================================================
--- src/Tests/Members.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,72 +1,0 @@
-char ?=?( char*, char );
-int ?=?( int*, int );
-float ?=?( float*, float );
-forall( dtype DT ) DT * ?=?( DT**, DT* );
-forall(type T) lvalue T *?( T* );
-char *__builtin_memcpy();
-
-void a( char );
-void b( int );
-void c( int* );
-void d( float* );
-
-struct a_struct {
-	int a;
-	char a;
-	float a;
-};
-
-union b_struct {
-	int *a;
-	char *a;
-	float *a;
-};
-
-void f() {
-	struct a_struct the_struct;
-	union b_struct the_struct;
-  
-	a( the_struct.a );
-	b( the_struct.a );
-	c( the_struct.a );
-	d( the_struct.a );
-}
-
-struct c_struct {
-	int;
-	char;
-	float;
-};
-
-union d_struct {
-	int*;
-	char*;
-	float*;
-};
-
-void g() {
-	unsigned short x;
-	struct c_struct x;
-	union d_struct x;
-  
-	a( x );	// the 'a' and 'b' calls resolve to the ushort
-	b( x );	// it's debatable whether this is good
-	c( x );
-	d( x );
-}
-
-// make sure that forward declarations work
-
-struct forward;
-
-struct forward *q;
-
-struct forward { int y; };
-
-void h() {
-	q->y;
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Misc.c
===================================================================
--- src/Tests/Misc.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,17 +1,0 @@
-int a;
-int b;
-float b;
-
-void g( int );
-void g( unsigned );
-
-void f( void ) {
-	g( (a, b) );
-	g( (a, a, b) );
-	g( sizeof a );
-	g( sizeof( int ) );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/MiscError.c
===================================================================
--- src/Tests/MiscError.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,16 +1,0 @@
-int a;
-int b;
-float b;
-
-void g( int );
-
-void f( void ) {
-	g( (b, a) );
-	g( (b, a, b) );
-	g( (a, b, b) );
-	sizeof b;
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/NamedParmArg.c
===================================================================
--- src/Tests/NamedParmArg.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,14 +1,0 @@
-int f1( int i = 3, int *j = 0 ) {}  /* ANSI */
-[int, int ] f2( int i = 3, * int j = 0 ) {}  /* CFA */
-
-int main() {
-    f1();		/* identical calls */
-    f1( 3 );
-    f1( 3, );
-    f1( 3, 0 );
-    f1( 3, j : 0 );
-    f1( j : 0, 3 );
-    f1( i : 3, j : 0 );
-    f1( j : 0, i : 3 );
-    f1( [j, i] : f2() );
-}
Index: src/Tests/NumericConstants.c
===================================================================
--- src/Tests/NumericConstants.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,54 +1,0 @@
-int main() {
-    1;							/* decimal */
-    2_1;
-    2_147_483_647;
-    37LL;
-    45ull;
-    89llu;
-    99LLu;
-    56_lu;
-    88_LLu;
-
-//    0;							/* octal */
-    0u;
-    0_3_77;
-    0_377_ul;
-
-    0x1;						/* hexadecimal */
-    0x1u;
-    0xabL;
-    0x_80000000;
-    0x_fff;
-    0x_ef3d_aa5c;
-    0x_3LL;
-
-    3.;							/* integral real */
-    3_100.;
-    1_000_000.;
-
-    3.1;						/* integral/fractional real */
-    3.141_592_654L;
-    123_456.123_456;
-
-    3E1;						/* integral/exponent real */
-    3_e1f;
-    3_E1_1_F;
-    3_E_11;
-    3_e_+11;
-    3_E_-11;
-
-    3.0E1;						/* integral/fractional/exponent real */
-    3.0_E1L;
-    3.0_e1_1;
-    3.0_E_11_l;
-    3.0_e_+11l;
-    3.0_E_-11;
-    123_456.123_456E-16;
-
-    0x_ff.ffp0;						/* hex real */
-    0x_1.ffff_ffff_p_128_l;
-}
-
-// Local Variables: //
-// compile-command: "../../../bin/cfa -std=c99 NumericConstants.c" //
-// End: //
Index: src/Tests/OccursError.c
===================================================================
--- src/Tests/OccursError.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,10 +1,0 @@
-forall( type T ) void f( void (*)( T, T* ) );
-forall( type U ) void g( U*, U );
-
-void test() {
-    f( g );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Operators.c
===================================================================
--- src/Tests/Operators.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,27 +1,0 @@
-int ?*?( int, int );
-
-int ?()( int number1, int number2 ) {
-	return number1 * number2;
-}
-
-int ?+?( int, int );
-
-int ?=?( int *, int );
-struct accumulator {
-	int total;
-};
-
-char ?()( struct accumulator a, char number1, char number2 );
-
-void f( void ) {
-	char a, b;
-	?()( a, b );
-	a(b);
-	a + b;
-	struct accumulator ?+?;	// why not, eh?
-	a + b;
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Parser/Array.c
===================================================================
--- src/Tests/Parser/Array.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Array.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,33 @@
+int a1[];
+int a2[*];
+int a4[3];
+
+int m1[][3];
+int m2[*][*];
+int m4[3][3];
+
+typedef int T;
+
+int fred() {
+    int a1[];
+    int a2[*];
+    int a4[3];
+    int T[3];
+}
+
+int mary( int T[3],
+	  int p1[const 3],
+	  int p2[static 3],
+	  int p3[static const 3]
+    ) {
+}
+
+int (*tom())[3] {
+}
+
+int (*(jane)())( int T[3],
+		 int p1[const 3],
+		 int p2[static 3],
+		 int p3[static const 3]
+    ) {
+}
Index: src/Tests/Parser/Constant0-1.c
===================================================================
--- src/Tests/Parser/Constant0-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Constant0-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,40 @@
+// Cforall extension
+
+// value
+
+int 0;
+const int 0;
+//static const int 0;
+int 1;
+const int 1;
+//static const int 1;
+int 0, 1;
+const int 0, 1;
+//static const int 0, 1;
+struct { int i; } 0;
+const struct { int i; } 1;
+static const struct { int i; } 1;
+
+// pointer
+
+int 1, * 0;
+int (1), ((1)), * (0), (* 0), ((* 0));
+int * const (0), (* const 0), ((* const 0));
+struct { int i; } * 0;
+
+// Cforall style
+
+* int x, 0;
+const * int x, 0;
+//static const * int x, 0;
+* struct { int i; } 0;
+const * struct { int i; } 0;
+static const * struct { int i; } 0;
+//static * int x, 0;
+//static const * int x, 0;
+const * * int x, 0;
+
+int main() {
+//int 1, * 0;
+//* int x, 0;
+}
Index: src/Tests/Parser/DeclarationSpecifier.c
===================================================================
--- src/Tests/Parser/DeclarationSpecifier.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/DeclarationSpecifier.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,90 @@
+typedef short int Int;
+
+
+const short int volatile x1;
+static const short int volatile x2;
+const static short int volatile x3;
+const short static int volatile x4;
+const static volatile short int x4;
+const short int static volatile x5;
+const short int volatile static x6;
+const short volatile int static x7;
+short int volatile static const x8;
+static short int volatile static const x9;		// duplicate static
+
+const volatile struct { int i; } x10;
+const struct { int i; } volatile x11;
+struct { int i; } const volatile x12;
+static const volatile struct { int i; } x13;
+const static struct { int i; } volatile x14;
+struct { int i; } static const volatile x15;
+struct { int i; } const static volatile x16;
+struct { int i; } const volatile static x17;
+struct { int i; } const static volatile static x18;	// duplicate static
+struct { int i; } const static volatile static volatile x19; // duplicate static & volatile
+
+const Int volatile x20;
+static const Int volatile x21;
+const static Int volatile x22;
+const static Int volatile x23;
+const Int static volatile x24;
+const Int volatile static x25;
+const volatile Int static x26;
+Int volatile static const x27;
+static Int volatile static const x28;			// duplicate static
+
+const volatile struct { Int i; } x29;
+const struct { Int i; } volatile x30;
+struct { Int i; } const volatile x31;
+static const volatile struct { Int i; } x32;
+const static struct { Int i; } volatile x33;
+struct { Int i; } static const volatile x34;
+struct { Int i; } const static volatile x35;
+struct { Int i; } const volatile static x36;
+
+
+const static inline const volatile int f01();		// duplicate const
+volatile inline const volatile static int f02();	// duplicate volatile
+const inline const volatile int static f03();		// duplicate const
+volatile inline static const volatile int f04();	// duplicate volatile
+const static const inline volatile int f05();		// duplicate const
+volatile static const volatile inline int f06();	// duplicate volatile
+const static const volatile int inline f07();		// duplicate const
+volatile static const int inline volatile f08();	// duplicate volatile
+
+static inline const volatile int f11();
+inline const volatile static int f12();
+inline const volatile int static f13();
+inline static const volatile int f14();
+static const inline volatile int f15();
+static const volatile inline int f16();
+static const volatile int inline f17();
+static const int inline volatile f18();
+
+short static inline const volatile int f21();
+inline short const volatile static int f22();
+inline const short volatile int static f23();
+inline static const short volatile int f24();
+static const inline volatile short int f25();
+static const volatile inline int short f26();
+static const volatile int inline short f27();
+static const int inline volatile short f28();
+
+static inline const volatile struct { int i; } f31();
+inline const volatile static struct { int i; } f32();
+inline const volatile struct { int i; } static f33();
+inline static const volatile struct { int i; } f34();
+static const inline volatile struct { int i; } f35();
+static const volatile inline struct { int i; } f36();
+static const volatile struct { int i; } inline f37();
+static const struct { int i; } inline volatile f38();
+
+static inline const volatile Int f41();
+inline const volatile static Int f42();
+inline const volatile Int static f43();
+inline static const volatile Int f44();
+static const inline volatile Int f45();
+static const volatile inline Int f46();
+static const volatile Int inline f47();
+static const Int inline volatile f48();
+
Index: src/Tests/Parser/Expected/Array.tst
===================================================================
--- src/Tests/Parser/Expected/Array.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/Array.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,48 @@
+a1: a open array of int 
+a2: a variable-length array of int 
+a4: a array of 3 int 
+m1: a open array of array of 3 int 
+m2: a variable-length array of variable-length array of int 
+m4: a array of 3 array of 3 int 
+T: a typedef definition for int 
+fred: a function
+  with no parameters 
+  returning int 
+  with body 
+    a1: a open array of int 
+    a2: a variable-length array of int 
+    a4: a array of     3 int 
+    T: a array of     3 int 
+
+mary: a function
+  with parameters 
+    T: a array of     3 int 
+    p1: a const array of     3 int 
+    p2: a static array of     3 int 
+    p3: a const static array of     3 int 
+  returning int 
+  with body 
+
+  Null Statement:
+
+tom: a function
+  with no parameters 
+  returning pointer to array of     3 int 
+  with body 
+
+  Null Statement:
+
+jane: a function
+  with no parameters 
+  returning pointer to function
+      with parameters 
+        T: a array of         3 int 
+        p1: a const array of         3 int 
+        p2: a static array of         3 int 
+        p3: a const static array of         3 int 
+      returning int 
+
+  with body 
+
+  Null Statement:
+
Index: src/Tests/Parser/Expected/Constant0-1.tst
===================================================================
--- src/Tests/Parser/Expected/Constant0-1.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/Constant0-1.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,62 @@
+0: a int 
+0: a const int 
+0: a static const int 
+1: a int 
+1: a const int 
+1: a static const int 
+0: a int 
+1: a int 
+0: a const int 
+1: a const int 
+0: a static const int 
+1: a static const int 
+0: a instance of struct __anonymous0
+  with members 
+    i: a int 
+
+1: a const instance of struct __anonymous1
+  with members 
+    i: a int 
+
+1: a static const instance of struct __anonymous2
+  with members 
+    i: a int 
+
+1: a int 
+0: a pointer to int 
+1: a int 
+1: a int 
+0: a pointer to int 
+0: a pointer to int 
+0: a pointer to int 
+0: a const pointer to int 
+0: a const pointer to int 
+0: a const pointer to int 
+0: a pointer to instance of struct __anonymous3
+  with members 
+    i: a int 
+
+x: a pointer to int 
+0: a pointer to int 
+x: a const pointer to int 
+0: a const pointer to int 
+x: a static const pointer to int 
+0: a static const pointer to int 
+0: a pointer to instance of struct __anonymous4
+  with members 
+    i: a int 
+
+0: a const pointer to instance of struct __anonymous5
+  with members 
+    i: a int 
+
+0: a static const pointer to instance of struct __anonymous6
+  with members 
+    i: a int 
+
+x: a static pointer to int 
+0: a static pointer to int 
+x: a static const pointer to int 
+0: a static const pointer to int 
+x: a const pointer to pointer to int 
+0: a const pointer to pointer to int 
Index: src/Tests/Parser/Expected/DeclarationSpecifier.tst
===================================================================
--- src/Tests/Parser/Expected/DeclarationSpecifier.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/DeclarationSpecifier.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,276 @@
+Int: a typedef definition for short int 
+x1: a const volatile short int 
+x2: a static const volatile short int 
+x3: a static volatile const short int 
+x4: a static volatile const short int 
+x4: a static volatile const short int 
+x5: a static const volatile short int 
+x6: a static const volatile short int 
+x7: a static const volatile short int 
+x8: a static volatile const short int 
+x9: a static static volatile const short int 
+x10: a const volatile instance of struct __anonymous0
+  with members 
+    i: a int 
+
+x11: a const volatile instance of struct __anonymous1
+  with members 
+    i: a int 
+
+x12: a const volatile instance of struct __anonymous2
+  with members 
+    i: a int 
+
+x13: a static const volatile instance of struct __anonymous3
+  with members 
+    i: a int 
+
+x14: a static volatile const instance of struct __anonymous4
+  with members 
+    i: a int 
+
+x15: a static const volatile instance of struct __anonymous5
+  with members 
+    i: a int 
+
+x16: a static const volatile instance of struct __anonymous6
+  with members 
+    i: a int 
+
+x17: a static const volatile instance of struct __anonymous7
+  with members 
+    i: a int 
+
+x18: a static static const volatile instance of struct __anonymous8
+  with members 
+    i: a int 
+
+x19: a static static const volatile volatile instance of struct __anonymous9
+  with members 
+    i: a int 
+
+x20: a const volatile instance of type Int
+x21: a static const volatile instance of type Int
+x22: a static volatile const instance of type Int
+x23: a static volatile const instance of type Int
+x24: a static const volatile instance of type Int
+x25: a static const volatile instance of type Int
+x26: a static const volatile instance of type Int
+x27: a static volatile const instance of type Int
+x28: a static static volatile const instance of type Int
+x29: a const volatile instance of struct __anonymous10
+  with members 
+    i: a instance of type Int
+
+x30: a const volatile instance of struct __anonymous11
+  with members 
+    i: a instance of type Int
+
+x31: a const volatile instance of struct __anonymous12
+  with members 
+    i: a instance of type Int
+
+x32: a static const volatile instance of struct __anonymous13
+  with members 
+    i: a instance of type Int
+
+x33: a static volatile const instance of struct __anonymous14
+  with members 
+    i: a instance of type Int
+
+x34: a static const volatile instance of struct __anonymous15
+  with members 
+    i: a instance of type Int
+
+x35: a static const volatile instance of struct __anonymous16
+  with members 
+    i: a instance of type Int
+
+x36: a static const volatile instance of struct __anonymous17
+  with members 
+    i: a instance of type Int
+
+f01: a static inline function
+  with no parameters 
+  returning const volatile const int 
+
+f02: a inline static function
+  with no parameters 
+  returning volatile const volatile int 
+
+f03: a inline static function
+  with no parameters 
+  returning const volatile const int 
+
+f04: a inline static function
+  with no parameters 
+  returning const volatile volatile int 
+
+f05: a static inline function
+  with no parameters 
+  returning volatile const const int 
+
+f06: a static inline function
+  with no parameters 
+  returning volatile const volatile int 
+
+f07: a static inline function
+  with no parameters 
+  returning const volatile const int 
+
+f08: a static inline function
+  with no parameters 
+  returning const volatile volatile int 
+
+f11: a static inline function
+  with no parameters 
+  returning const volatile int 
+
+f12: a inline static function
+  with no parameters 
+  returning const volatile int 
+
+f13: a inline static function
+  with no parameters 
+  returning const volatile int 
+
+f14: a inline static function
+  with no parameters 
+  returning const volatile int 
+
+f15: a static inline function
+  with no parameters 
+  returning volatile const int 
+
+f16: a static inline function
+  with no parameters 
+  returning const volatile int 
+
+f17: a static inline function
+  with no parameters 
+  returning const volatile int 
+
+f18: a static inline function
+  with no parameters 
+  returning const volatile int 
+
+f21: a inline static function
+  with no parameters 
+  returning const volatile short int 
+
+f22: a static inline function
+  with no parameters 
+  returning const volatile short int 
+
+f23: a inline static function
+  with no parameters 
+  returning const volatile short int 
+
+f24: a inline static function
+  with no parameters 
+  returning const volatile short int 
+
+f25: a static inline function
+  with no parameters 
+  returning volatile const short int 
+
+f26: a static inline function
+  with no parameters 
+  returning const volatile short int 
+
+f27: a inline static function
+  with no parameters 
+  returning const volatile short int 
+
+f28: a inline static function
+  with no parameters 
+  returning volatile const short int 
+
+f31: a static inline function
+  with no parameters 
+  returning const volatile instance of struct __anonymous18
+      with members 
+        i: a int 
+
+
+f32: a inline static function
+  with no parameters 
+  returning const volatile instance of struct __anonymous19
+      with members 
+        i: a int 
+
+
+f33: a inline static function
+  with no parameters 
+  returning const volatile instance of struct __anonymous20
+      with members 
+        i: a int 
+
+
+f34: a inline static function
+  with no parameters 
+  returning const volatile instance of struct __anonymous21
+      with members 
+        i: a int 
+
+
+f35: a static inline function
+  with no parameters 
+  returning volatile const instance of struct __anonymous22
+      with members 
+        i: a int 
+
+
+f36: a static inline function
+  with no parameters 
+  returning const volatile instance of struct __anonymous23
+      with members 
+        i: a int 
+
+
+f37: a static inline function
+  with no parameters 
+  returning const volatile instance of struct __anonymous24
+      with members 
+        i: a int 
+
+
+f38: a static inline function
+  with no parameters 
+  returning const volatile instance of struct __anonymous25
+      with members 
+        i: a int 
+
+
+f41: a static inline function
+  with no parameters 
+  returning const volatile instance of type Int
+
+f42: a inline static function
+  with no parameters 
+  returning const volatile instance of type Int
+
+f43: a inline static function
+  with no parameters 
+  returning const volatile instance of type Int
+
+f44: a inline static function
+  with no parameters 
+  returning const volatile instance of type Int
+
+f45: a static inline function
+  with no parameters 
+  returning volatile const instance of type Int
+
+f46: a static inline function
+  with no parameters 
+  returning const volatile instance of type Int
+
+f47: a static inline function
+  with no parameters 
+  returning const volatile instance of type Int
+
+f48: a static inline function
+  with no parameters 
+  returning const volatile instance of type Int
+
Index: src/Tests/Parser/Expected/Forall.tst
===================================================================
--- src/Tests/Parser/Expected/Forall.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/Forall.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,319 @@
+f: a typedef definition for pointer to forall 
+      T: a type variable 
+function
+    with parameters 
+      int 
+    returning int 
+
+swap: a forall 
+    T: a type variable 
+function
+  with parameters 
+    left: a instance of type T
+    right: a instance of type T
+  returning void 
+  with body 
+    temp: a instance of type T
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: left
+
+        Referencing: Variable: right
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: right
+
+        Referencing: Variable: temp
+
+
+context sumable
+  with type parameters 
+    T: a type variable 
+  with members 
+    0: a const instance of type T
+    ?+?: a function
+      with parameters 
+        instance of type T
+        instance of type T
+      returning instance of type T
+
+    ?++: a function
+      with parameters 
+        instance of type T
+      returning instance of type T
+
+    ?+=?: a function
+      with parameters 
+        instance of type T
+        instance of type T
+      returning tuple with members 
+          instance of type T
+
+
+
+T1: a type definition 
+  with assertions
+    0: a const instance of type T1
+    ?+?: a function
+      with parameters 
+        instance of type T1
+        instance of type T1
+      returning instance of type T1
+
+    ?++: a function
+      with parameters 
+        instance of type T1
+      returning instance of type T1
+
+    ?+=?: a function
+      with parameters 
+        instance of type T1
+        instance of type T1
+      returning tuple with members 
+          instance of type T1
+
+
+  
+T2: a type definition 
+  with parameters
+  P1: a type variable 
+  P2: a type variable 
+
+T3: a type definition 
+  with assertions
+    instance of context sumable
+      with parameters 
+      Type:        instance of type T3
+
+  
+T2: a type definition 
+  with parameters
+  P1: a type variable 
+  P2: a type variable 
+
+  with assertions
+    instance of context sumable
+      with parameters 
+      Type:        instance of type T2 with parameters
+          Type:            instance of type P1
+          Type:            instance of type P2
+
+
+  for instance of struct __anonymous0
+    with members 
+      i: a instance of type P1
+      j: a instance of type P2
+
+w1: a instance of type T2 with parameters
+  Type:    int 
+  Type:    int 
+
+w2: a typedef definition for instance of type T2 with parameters
+    Type:      int 
+    Type:      int 
+
+g2: a instance of type w2
+w3: a type definition for instance of type T2 with parameters
+    Type:      int 
+    Type:      int 
+
+g3: a instance of type w3
+sum: a forall 
+    T: a type variable 
+      with assertions
+        instance of context sumable
+          with parameters 
+          Type:            instance of type T
+
+      
+function
+  with parameters 
+    n: a int 
+    a: a open array of instance of type T
+  returning instance of type T
+  with body 
+    total: a instance of type T
+    i: a int 
+
+    For
+
+        Expression: 
+
+            Application of: 
+
+                Operator: Assign
+
+            ... on arguments: 
+
+                Referencing: Variable: i
+
+                Referencing: Variable: 0
+
+            Application of: 
+
+                Operator: LThan
+
+            ... on arguments: 
+
+                Referencing: Variable: i
+
+                Referencing: Variable: n
+
+            Application of: 
+
+                Operator: PlusAssn
+
+            ... on arguments: 
+
+                Referencing: Variable: i
+
+                Referencing: Variable: 1
+
+        Branches of execution: 
+            
+            Application of: 
+
+                Operator: Assign
+
+            ... on arguments: 
+
+                Referencing: Variable: total
+
+                Application of: 
+
+                    Operator: Plus
+
+                ... on arguments: 
+
+                    Referencing: Variable: total
+
+                    Application of: 
+
+                        Operator: Index
+
+                    ... on arguments: 
+
+                        Referencing: Variable: a
+
+                        Referencing: Variable: i
+
+
+    Return
+
+        Expression: 
+
+            Referencing: Variable: total
+
+twice: a forall 
+    T: a type variable 
+      with assertions
+        0: a const instance of type T
+        ?+?: a function
+          with parameters 
+            instance of type T
+            instance of type T
+          returning instance of type T
+
+        ?++: a function
+          with parameters 
+            instance of type T
+          returning instance of type T
+
+        ?+=?: a function
+          with parameters 
+            instance of type T
+            instance of type T
+          returning tuple with members 
+              instance of type T
+
+
+      
+function
+  with parameters 
+    t: a instance of type T
+  returning instance of type T
+  with body 
+
+    Return
+
+        Expression: 
+
+            Application of: 
+
+                Operator: Plus
+
+            ... on arguments: 
+
+                Referencing: Variable: t
+
+                Referencing: Variable: t
+
+main: a function
+  with no parameters 
+  returning int 
+  with body 
+    x: a int 
+    y: a int 
+    a: a array of     10 int 
+    f: a float 
+    
+    Application of: 
+
+        Referencing: Variable: swap
+
+    ... on arguments: 
+
+        Referencing: Variable: x
+
+        Referencing: Variable: y
+
+    
+    Application of: 
+
+        Referencing: Variable: twice
+
+    ... on arguments: 
+
+        Referencing: Variable: x
+
+        Referencing: Variable: y
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: f
+
+        Application of: 
+
+            Referencing: Variable: min
+
+        ... on arguments: 
+            4.0 
+            3.0 
+
+    
+    Application of: 
+
+        Referencing: Variable: sum
+
+    ... on arguments: 
+        10 
+
+        Referencing: Variable: a
+
+
Index: src/Tests/Parser/Expected/Functions.tst
===================================================================
--- src/Tests/Parser/Expected/Functions.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/Functions.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,741 @@
+h: a function
+  with parameters 
+    void 
+  returning void 
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    function
+      with parameters 
+        void 
+      returning int 
+
+    function
+      with parameters 
+        int 
+      returning int 
+
+    function
+      with parameters 
+        void 
+      returning int 
+
+    function
+      with parameters 
+        int 
+      returning int 
+
+    g: a function
+      with parameters 
+        void 
+      returning void 
+
+  returning int 
+  with body 
+    
+    Application of: 
+
+        Application of: 
+
+            Operator: PointTo
+
+        ... on arguments: 
+
+            Referencing: Variable: g
+
+    ... on no arguments: 
+
+    
+    Application of: 
+
+        Referencing: Variable: g
+
+    ... on no arguments: 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: g
+
+        Referencing: Variable: h
+
+
+f1: a function
+  with no parameters 
+  returning int 
+  with body 
+
+  Null Statement:
+
+f2: a function
+  with no parameters 
+  returning int 
+  with body 
+
+  Null Statement:
+
+f3: a function
+  with no parameters 
+  returning pointer to function
+      with no parameters 
+      returning int 
+
+  with body 
+
+  Null Statement:
+
+f4: a function
+  with no parameters 
+  returning pointer to int 
+  with body 
+
+  Null Statement:
+
+f5: a function
+  with no parameters 
+  returning pointer to function
+      with no parameters 
+      returning int 
+
+  with body 
+
+  Null Statement:
+
+f6: a function
+  with no parameters 
+  returning pointer to int 
+  with body 
+
+  Null Statement:
+
+f7: a function
+  with no parameters 
+  returning pointer to int 
+  with body 
+
+  Null Statement:
+
+f8: a function
+  with no parameters 
+  returning pointer to pointer to int 
+  with body 
+
+  Null Statement:
+
+f9: a function
+  with no parameters 
+  returning pointer to const pointer to int 
+  with body 
+
+  Null Statement:
+
+f10: a function
+  with no parameters 
+  returning pointer to open array of int 
+  with body 
+
+  Null Statement:
+
+f11: a function
+  with no parameters 
+  returning pointer to open array of array of     3 int 
+  with body 
+
+  Null Statement:
+
+f12: a function
+  with no parameters 
+  returning pointer to open array of array of     3 int 
+  with body 
+
+  Null Statement:
+
+fII1: a function
+  with parameters 
+    i: a int 
+  returning nothing 
+  with body 
+
+  Null Statement:
+
+fII2: a function
+  with parameters 
+    i: a int 
+  returning const entity of unknown type 
+  with body 
+
+  Null Statement:
+
+fII3: a extern function
+  with parameters 
+    i: a int 
+  returning nothing 
+  with body 
+
+  Null Statement:
+
+fII4: a extern function
+  with parameters 
+    i: a int 
+  returning const entity of unknown type 
+  with body 
+
+  Null Statement:
+
+fII5: a function
+  with no parameters 
+  returning pointer 
+  with body 
+
+  Null Statement:
+
+fII6: a function
+  with no parameters 
+  returning const pointer 
+  with body 
+
+  Null Statement:
+
+fII7: a function
+  with no parameters 
+  returning pointer to const long 
+  with body 
+
+  Null Statement:
+
+fII8: a static function
+  with no parameters 
+  returning pointer to const long 
+  with body 
+
+  Null Statement:
+
+fII9: a static function
+  with no parameters 
+  returning pointer to const long 
+  with body 
+
+  Null Statement:
+
+fO1: a function
+  with no parameters 
+  with old-style identifier list 
+    i: a untyped entity 
+  with old-style declaration list 
+    i: a int 
+  returning nothing 
+  with body 
+
+  Null Statement:
+
+fO2: a function
+  with no parameters 
+  with old-style identifier list 
+    i: a untyped entity 
+  with old-style declaration list 
+    i: a int 
+  returning int 
+  with body 
+
+  Null Statement:
+
+fO3: a function
+  with no parameters 
+  with old-style identifier list 
+    i: a untyped entity 
+  with old-style declaration list 
+    i: a int 
+  returning const entity of unknown type 
+  with body 
+
+  Null Statement:
+
+fO4: a extern function
+  with no parameters 
+  with old-style identifier list 
+    i: a untyped entity 
+  with old-style declaration list 
+    i: a int 
+  returning nothing 
+  with body 
+
+  Null Statement:
+
+fO5: a extern function
+  with no parameters 
+  with old-style identifier list 
+    i: a untyped entity 
+  with old-style declaration list 
+    i: a int 
+  returning const entity of unknown type 
+  with body 
+
+  Null Statement:
+
+f: a function
+  with no parameters 
+  returning tuple 
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      int 
+
+
+f: a function
+  with parameters 
+    int 
+  returning tuple 
+
+f: a function
+  with parameters 
+    int 
+  returning tuple with members 
+      int 
+
+
+f: a function
+  with no parameters 
+  returning tuple 
+  with body 
+
+  Null Statement:
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      int 
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    int 
+  returning tuple 
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    int 
+  returning tuple with members 
+      int 
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      x: a int 
+
+
+f: a function
+  with parameters 
+    x: a int 
+  returning tuple 
+
+f: a function
+  with parameters 
+    x: a int 
+  returning tuple with members 
+      x: a int 
+
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      x: a int 
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    x: a int 
+  returning tuple 
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    x: a int 
+  returning tuple with members 
+      x: a int 
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      int 
+      x: a int 
+
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+  returning tuple 
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+  returning tuple with members 
+      int 
+      x: a int 
+
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      int 
+      x: a int 
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+  returning tuple 
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+  returning tuple with members 
+      int 
+      x: a int 
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      int 
+      x: a int 
+      int 
+
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+    int 
+  returning tuple 
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+    int 
+  returning tuple with members 
+      int 
+      x: a int 
+      int 
+
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      int 
+      x: a int 
+      int 
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+    int 
+  returning tuple 
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+    int 
+  returning tuple with members 
+      int 
+      x: a int 
+      int 
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      int 
+      x: a int 
+      y: a pointer to int 
+
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+    y: a pointer to int 
+  returning tuple 
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+    y: a pointer to int 
+  returning tuple with members 
+      int 
+      x: a int 
+      y: a pointer to int 
+
+
+f: a function
+  with no parameters 
+  returning tuple with members 
+      int 
+      x: a int 
+      y: a pointer to int 
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+    y: a pointer to int 
+  returning tuple 
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    int 
+    x: a int 
+    y: a pointer to int 
+  returning tuple with members 
+      int 
+      x: a int 
+      y: a pointer to int 
+
+  with body 
+
+  Null Statement:
+
+f11: a function
+  with parameters 
+    int 
+  returning tuple with members 
+      int 
+
+
+f12: a function
+  with parameters 
+    int 
+  returning tuple with members 
+      int 
+
+
+f: a function
+  with parameters 
+    function
+      with parameters 
+        int 
+        p: a int 
+      returning int 
+
+    function
+      with parameters 
+        int 
+      returning tuple with members 
+          int 
+
+
+  returning tuple with members 
+      int 
+
+  with body 
+    p: a pointer to open array of array of     10 pointer to open array of array of     3 int 
+    p: a pointer to open array of array of     10 pointer to open array of array of     3 int 
+    p: a pointer to open array of pointer to function
+      with parameters 
+        int 
+      returning tuple with members 
+          int 
+
+
+
+f1: a static function
+  with no parameters 
+  returning pointer to const int 
+  with body 
+
+  Null Statement:
+
+f2: a static function
+  with no parameters 
+  returning tuple with members 
+      const int 
+
+  with body 
+
+  Null Statement:
+
+f3: a static inline function
+  with no parameters 
+  returning tuple with members 
+      const pointer to int 
+
+  with body 
+
+  Null Statement:
+
+f4: a static inline function
+  with no parameters 
+  returning tuple with members 
+      const tuple with members 
+        pointer to int 
+        int 
+
+
+  with body 
+
+  Null Statement:
+
+f5: a static function
+  with no parameters 
+  returning tuple with members 
+      const tuple with members 
+        pointer to int 
+        const int 
+
+
+  with body 
+
+  Null Statement:
+
+f: a function
+  with parameters 
+    function
+      with no parameters 
+      returning int 
+
+    function
+      with no parameters 
+      returning pointer to int 
+
+    function
+      with no parameters 
+      returning pointer to pointer to int 
+
+    function
+      with no parameters 
+      returning pointer to const pointer to int 
+
+    function
+      with no parameters 
+      returning const pointer to const pointer to int 
+
+    open array of int 
+    array of     10 int 
+    open array of pointer to int 
+    array of     10 pointer to int 
+    open array of pointer to pointer to int 
+    array of     10 pointer to pointer to int 
+    open array of pointer to const pointer to int 
+    array of     10 pointer to const pointer to int 
+    open array of const pointer to const pointer to int 
+    array of     10 const pointer to const pointer to int 
+  returning int 
+
+f: a function
+  with parameters 
+    function
+      with no parameters 
+      returning int 
+
+    function
+      with no parameters 
+      returning pointer to int 
+
+    function
+      with no parameters 
+      returning pointer to pointer to int 
+
+    function
+      with no parameters 
+      returning pointer to const pointer to int 
+
+    function
+      with no parameters 
+      returning const pointer to const pointer to int 
+
+    open array of int 
+    array of     10 int 
+    open array of pointer to int 
+    array of     10 pointer to int 
+    open array of pointer to pointer to int 
+    array of     10 pointer to pointer to int 
+    open array of pointer to const pointer to int 
+    array of     10 pointer to const pointer to int 
+    open array of const pointer to const pointer to int 
+    array of     10 const pointer to const pointer to int 
+  returning int 
+  with body 
+
+  Null Statement:
+
+T: a typedef definition for int 
+f: a function
+  with parameters 
+    function
+      with parameters 
+        instance of type T
+      returning instance of type T
+
+    T: a instance of type T
+  returning int 
+  with body 
+    
+    Application of: 
+
+        Referencing: Variable: T
+
+    ... on arguments: 
+
+        Referencing: Variable: T
+
+
Index: src/Tests/Parser/Expected/IdentFuncDeclarator.tst
===================================================================
--- src/Tests/Parser/Expected/IdentFuncDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/IdentFuncDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,163 @@
+main: a function
+  with no parameters 
+  returning int 
+  with body 
+    f1: a int 
+    f2: a int 
+    f3: a pointer to int 
+    f4: a pointer to pointer to int 
+    f5: a pointer to const pointer to int 
+    f6: a const pointer to const pointer to int 
+    f7: a pointer to int 
+    f8: a pointer to pointer to int 
+    f9: a pointer to const pointer to int 
+    f10: a const pointer to const pointer to int 
+    f11: a pointer to int 
+    f12: a pointer to pointer to int 
+    f13: a pointer to const pointer to int 
+    f14: a const pointer to const pointer to int 
+    f15: a open array of int 
+    f16: a array of     10 int 
+    f17: a open array of int 
+    f18: a array of     10 int 
+    f19: a open array of pointer to int 
+    f20: a array of     10 pointer to int 
+    f21: a open array of pointer to pointer to int 
+    f22: a array of     10 pointer to pointer to int 
+    f23: a open array of pointer to const pointer to int 
+    f24: a array of     10 pointer to const pointer to int 
+    f25: a open array of const pointer to const pointer to int 
+    f26: a array of     10 const pointer to const pointer to int 
+    f27: a open array of pointer to int 
+    f28: a array of     10 pointer to int 
+    f29: a open array of pointer to pointer to int 
+    f30: a array of     10 pointer to pointer to int 
+    f31: a open array of pointer to const pointer to int 
+    f32: a array of     10 pointer to const pointer to int 
+    f33: a open array of const pointer to const pointer to int 
+    f34: a array of     10 const pointer to const pointer to int 
+    f35: a open array of pointer to int 
+    f36: a array of     10 pointer to int 
+    f37: a open array of pointer to pointer to int 
+    f38: a array of     10 pointer to pointer to int 
+    f39: a open array of pointer to const pointer to int 
+    f40: a array of     10 pointer to const pointer to int 
+    f41: a open array of const pointer to const pointer to int 
+    f42: a array of     10 const pointer to const pointer to int 
+    f43: a open array of array of     3 int 
+    f44: a array of     3 array of     3 int 
+    f45: a open array of array of     3 int 
+    f46: a array of     3 array of     3 int 
+    f47: a open array of array of     3 int 
+    f48: a array of     3 array of     3 int 
+    f49: a open array of array of     3 pointer to int 
+    f50: a array of     3 array of     3 pointer to int 
+    f51: a open array of array of     3 pointer to pointer to int 
+    f52: a array of     3 array of     3 pointer to pointer to int 
+    f53: a open array of array of     3 pointer to const pointer to int 
+    f54: a array of     3 array of     3 pointer to const pointer to int 
+    f55: a open array of array of     3 const pointer to const pointer to int 
+    f56: a array of     3 array of     3 const pointer to const pointer to int 
+    f57: a open array of array of     3 pointer to int 
+    f58: a array of     3 array of     3 pointer to int 
+    f59: a open array of array of     3 pointer to pointer to int 
+    f60: a array of     3 array of     3 pointer to pointer to int 
+    f61: a open array of array of     3 pointer to const pointer to int 
+    f62: a array of     3 array of     3 pointer to const pointer to int 
+    f63: a open array of array of     3 const pointer to const pointer to int 
+    f64: a array of     3 array of     3 const pointer to const pointer to int 
+    f65: a function
+      with parameters 
+        int 
+      returning int 
+
+    f66: a function
+      with parameters 
+        int 
+      returning int 
+
+    f67: a function
+      with parameters 
+        int 
+      returning pointer to int 
+
+    f68: a function
+      with parameters 
+        int 
+      returning pointer to pointer to int 
+
+    f69: a function
+      with parameters 
+        int 
+      returning pointer to const pointer to int 
+
+    f70: a function
+      with parameters 
+        int 
+      returning const pointer to const pointer to int 
+
+    f71: a function
+      with parameters 
+        int 
+      returning pointer to int 
+
+    f72: a function
+      with parameters 
+        int 
+      returning pointer to pointer to int 
+
+    f73: a function
+      with parameters 
+        int 
+      returning pointer to const pointer to int 
+
+    f74: a function
+      with parameters 
+        int 
+      returning const pointer to const pointer to int 
+
+    f75: a pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f76: a pointer to pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f77: a pointer to const pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f78: a const pointer to const pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f79: a pointer to function
+      with parameters 
+        int 
+      returning pointer to function
+          with no parameters 
+          returning int 
+
+
+    f80: a const pointer to function
+      with parameters 
+        int 
+      returning pointer to function
+          with no parameters 
+          returning int 
+
+
+    f81: a const pointer to function
+      with parameters 
+        int 
+      returning const pointer to function
+          with no parameters 
+          returning int 
+
+
+
Index: src/Tests/Parser/Expected/IdentFuncParamDeclarator.tst
===================================================================
--- src/Tests/Parser/Expected/IdentFuncParamDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/IdentFuncParamDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,199 @@
+fred: a function
+  with parameters 
+    f1: a int 
+    f2: a int 
+    f3: a pointer to int 
+    f4: a pointer to pointer to int 
+    f5: a pointer to const pointer to int 
+    f6: a const pointer to const pointer to int 
+    f7: a pointer to int 
+    f8: a pointer to pointer to int 
+    f9: a pointer to const pointer to int 
+    f10: a const pointer to const pointer to int 
+    f11: a pointer to int 
+    f12: a pointer to pointer to int 
+    f13: a pointer to const pointer to int 
+    f14: a const pointer to const pointer to int 
+    f15: a open array of int 
+    f16: a array of     10 int 
+    f17: a open array of int 
+    f18: a array of     10 int 
+    f19: a open array of pointer to int 
+    f20: a array of     10 pointer to int 
+    f21: a open array of pointer to pointer to int 
+    f22: a array of     10 pointer to pointer to int 
+    f23: a open array of pointer to const pointer to int 
+    f24: a array of     10 pointer to const pointer to int 
+    f25: a open array of const pointer to const pointer to int 
+    f26: a array of     10 const pointer to const pointer to int 
+    f27: a open array of pointer to int 
+    f28: a array of     10 pointer to int 
+    f29: a open array of pointer to pointer to int 
+    f30: a array of     10 pointer to pointer to int 
+    f31: a open array of pointer to const pointer to int 
+    f32: a array of     10 pointer to const pointer to int 
+    f33: a open array of const pointer to const pointer to int 
+    f34: a array of     10 const pointer to const pointer to int 
+    f35: a open array of pointer to int 
+    f36: a array of     10 pointer to int 
+    f37: a open array of pointer to pointer to int 
+    f38: a array of     10 pointer to pointer to int 
+    f39: a open array of pointer to const pointer to int 
+    f40: a array of     10 pointer to const pointer to int 
+    f41: a open array of const pointer to const pointer to int 
+    f42: a array of     10 const pointer to const pointer to int 
+    f43: a open array of array of     3 int 
+    f44: a array of     3 array of     3 int 
+    f45: a open array of array of     3 int 
+    f46: a array of     3 array of     3 int 
+    f47: a open array of array of     3 int 
+    f48: a array of     3 array of     3 int 
+    f49: a open array of array of     3 pointer to int 
+    f50: a array of     3 array of     3 pointer to int 
+    f51: a open array of array of     3 pointer to pointer to int 
+    f52: a array of     3 array of     3 pointer to pointer to int 
+    f53: a open array of array of     3 pointer to const pointer to int 
+    f54: a array of     3 array of     3 pointer to const pointer to int 
+    f55: a open array of array of     3 const pointer to const pointer to int 
+    f56: a array of     3 array of     3 const pointer to const pointer to int 
+    f57: a open array of array of     3 pointer to int 
+    f58: a array of     3 array of     3 pointer to int 
+    f59: a open array of array of     3 pointer to pointer to int 
+    f60: a array of     3 array of     3 pointer to pointer to int 
+    f61: a open array of array of     3 pointer to const pointer to int 
+    f62: a array of     3 array of     3 pointer to const pointer to int 
+    f63: a open array of array of     3 const pointer to const pointer to int 
+    f64: a array of     3 array of     3 const pointer to const pointer to int 
+    f65: a function
+      with parameters 
+        int 
+      returning int 
+
+    f66: a function
+      with parameters 
+        int 
+      returning int 
+
+    f67: a function
+      with parameters 
+        int 
+      returning pointer to int 
+
+    f68: a function
+      with parameters 
+        int 
+      returning pointer to pointer to int 
+
+    f69: a function
+      with parameters 
+        int 
+      returning pointer to const pointer to int 
+
+    f70: a function
+      with parameters 
+        int 
+      returning const pointer to const pointer to int 
+
+    f71: a function
+      with parameters 
+        int 
+      returning pointer to int 
+
+    f72: a function
+      with parameters 
+        int 
+      returning pointer to pointer to int 
+
+    f73: a function
+      with parameters 
+        int 
+      returning pointer to const pointer to int 
+
+    f74: a function
+      with parameters 
+        int 
+      returning const pointer to const pointer to int 
+
+    f75: a pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f76: a pointer to pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f77: a pointer to const pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f78: a const pointer to const pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f79: a pointer to function
+      with parameters 
+        int 
+      returning pointer to function
+          with no parameters 
+          returning int 
+
+
+    f80: a const pointer to function
+      with parameters 
+        int 
+      returning pointer to function
+          with no parameters 
+          returning int 
+
+
+    f81: a const pointer to function
+      with parameters 
+        int 
+      returning const pointer to function
+          with no parameters 
+          returning int 
+
+
+    f82: a const variable-length array of int 
+    f83: a const array of     3 int 
+    f84: a static array of     3 int 
+    f85: a const static array of     3 int 
+    f86: a const variable-length array of int 
+    f87: a const array of     3 int 
+    f88: a static array of     3 int 
+    f89: a const static array of     3 int 
+    f90: a const variable-length array of pointer to int 
+    f91: a const array of     3 pointer to int 
+    f92: a static array of     3 pointer to pointer to int 
+    f93: a const static array of     3 pointer to const pointer to int 
+    f94: a const static array of     3 const pointer to const pointer to int 
+    f95: a const variable-length array of pointer to int 
+    f96: a const array of     3 pointer to int 
+    f97: a static array of     3 pointer to pointer to int 
+    f98: a const static array of     3 pointer to const pointer to int 
+    f99: a const static array of     3 const pointer to const pointer to int 
+    f100: a const variable-length array of array of     3 int 
+    f101: a const array of     3 array of     3 int 
+    f102: a static array of     3 array of     3 int 
+    f103: a const static array of     3 array of     3 int 
+    f104: a const variable-length array of array of     3 int 
+    f105: a const array of     3 array of     3 int 
+    f106: a static array of     3 array of     3 int 
+    f107: a const static array of     3 array of     3 int 
+    f108: a const variable-length array of array of     3 pointer to int 
+    f109: a const array of     3 array of     3 pointer to int 
+    f110: a static array of     3 array of     3 pointer to pointer to int 
+    f111: a const static array of     3 array of     3 pointer to const pointer to int 
+    f112: a const static array of     3 array of     3 const pointer to const pointer to int 
+    f113: a const variable-length array of array of     3 pointer to int 
+    f114: a const array of     3 array of     3 pointer to int 
+    f115: a static array of     3 array of     3 pointer to pointer to int 
+    f116: a const static array of     3 array of     3 pointer to const pointer to int 
+    f117: a const static array of     3 array of     3 const pointer to const pointer to int 
+  returning int 
+  with body 
+
Index: src/Tests/Parser/Expected/Initialization.tst
===================================================================
--- src/Tests/Parser/Expected/Initialization.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/Initialization.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,29 @@
+x21: a pointer to int 
+x22: a int 
+x21: a pointer to int 
+x22: a int 
+y1: a array of 20 int 
+y2: a array of 20 int 
+a: a instance of struct __anonymous0
+  with members 
+    w: a tuple with members 
+      int 
+
+
+w: a open array of instance of struct __anonymous1
+  with members 
+    a: a array of     3 int 
+    b: a int 
+
+v7: a instance of struct __anonymous3
+  with members 
+    f1: a int 
+    f2: a int 
+    f3: a int 
+    f4: a array of     4 instance of struct __anonymous2
+      with members 
+        g1: a int 
+        g2: a int 
+        g3: a int 
+
+
Index: src/Tests/Parser/Expected/Scope.tst
===================================================================
--- src/Tests/Parser/Expected/Scope.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/Scope.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,152 @@
+x: a int 
+y: a typedef definition for double 
+t: a typedef definition for float 
+z: a instance of type y
+u: a type definition for instance of struct __anonymous0
+    with members 
+      a: a int 
+      b: a double 
+
+f: a function
+  with parameters 
+    y: a int 
+  returning int 
+
+q: a instance of type y
+w: a function
+  with parameters 
+    y: a instance of type y
+    v: a instance of type u
+  returning instance of type y
+  with body 
+    x: a type definition 
+      with assertions
+        t: a function
+          with parameters 
+            instance of type u
+          returning instance of type x
+
+      
+    u: a instance of type u
+      with initializer y 
+    z: a instance of type x
+      with initializer ( t u ) 
+
+p: a instance of type y
+context has_u
+  with type parameters 
+    z: a type variable 
+  with members 
+    u: a function
+      with parameters 
+        instance of type z
+      returning instance of type z
+
+
+q: a forall 
+    t: a type variable 
+      with assertions
+        instance of context has_u
+          with parameters 
+          Type:            instance of type t
+
+      
+function
+  with parameters 
+    the_t: a instance of type t
+  returning instance of type y
+  with body 
+    y: a instance of type t
+      with initializer ( u the_t ) 
+
+f: a function
+  with parameters 
+    p: a instance of type y
+  returning instance of type t
+  with body 
+    y: a int 
+    x: a typedef definition for char 
+      y: a instance of type x
+      z: a typedef definition for instance of type x
+        x: a instance of type z
+        y: a typedef definition for instance of type z
+        z: a instance of type y
+          with initializer x 
+      x: a instance of type z
+        with initializer y 
+    q: a instance of type x
+      with initializer y 
+
+g: a function
+  with parameters 
+    void 
+  returning instance of type t
+  with body 
+    x: a typedef definition for char 
+
+    Try
+
+        Branches of execution: 
+              
+              Application of: 
+
+                  Referencing: Variable: some_func
+
+              ... on no arguments: 
+
+
+            Catch
+
+                Declaration: 
+                    x: a instance of type x
+
+                Branches of execution: 
+                      y: a instance of type t
+                        with initializer x 
+    z: a instance of type x
+
+q: a function
+  with no parameters 
+  with old-style identifier list 
+    i: a untyped entity 
+  with old-style declaration list 
+    i: a int 
+  returning instance of type y
+  with body 
+
+    Switch
+
+        Expression: 
+
+            Referencing: Variable: i
+
+        Branches of execution: 
+
+            Case
+
+                Expression: 
+
+                    Referencing: Variable: 0
+
+                Branches of execution: 
+
+                    Return
+
+                        Expression: 
+
+                            Referencing: Variable: q
+
+            Default
+
+                Expression: 
+
+                    Null Expression
+
+                Branches of execution: 
+
+                    Return
+
+                        Expression: 
+
+                            Referencing: Variable: i
+
Index: src/Tests/Parser/Expected/StructMember.tst
===================================================================
--- src/Tests/Parser/Expected/StructMember.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/StructMember.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,73 @@
+T: a typedef definition for int 
+struct S
+  with members 
+    m1: a int 
+      with bitfield width 3 
+    m2: a int 
+      with bitfield width 4 
+    int 
+      with bitfield width 2 
+    int 
+      with bitfield width 3 
+    int 
+      with bitfield width 4 
+    m3: a int 
+    m4: a int 
+    m5: a int 
+    m6: a int 
+    m7: a pointer to int 
+    m8: a pointer to int 
+    m9: a pointer to int 
+    m10: a pointer to function
+      with no parameters 
+      returning int 
+
+    m11: a pointer to function
+      with parameters 
+        int 
+      returning pointer to int 
+
+    T: a instance of type T
+    T: a instance of type T
+    m12: a pointer to int 
+    m13: a pointer to int 
+    m14: a pointer to function
+      with parameters 
+        int 
+      returning tuple with members 
+          pointer to int 
+
+
+    int 
+    int 
+    int 
+    int 
+    pointer to int 
+    int 
+    int 
+    pointer to int 
+    pointer to int 
+    pointer to int 
+    pointer to int 
+    pointer to int 
+    pointer to int 
+    pointer to function
+      with no parameters 
+      returning int 
+
+    pointer to pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    instance of type T
+
+s: a instance of struct S
+
+u: a instance of union U
+  with members 
+    m1: a array of     5 int 
+    m2: a array of     5 int 
+    m3: a pointer to int 
+    m4: a pointer to int 
+
Index: src/Tests/Parser/Expected/Tuple.tst
===================================================================
--- src/Tests/Parser/Expected/Tuple.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/Tuple.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,788 @@
+f: a function
+  with parameters 
+    int 
+    int 
+  returning int 
+
+g: a function
+  with parameters 
+    int 
+    int 
+    int 
+  returning int 
+
+h: a static function
+  with parameters 
+    a: a int 
+    b: a int 
+    c: a pointer to int 
+    d: a open array of char 
+  returning tuple with members 
+      int 
+      pointer to int 
+      pointer to int 
+      int 
+
+
+struct inner
+  with members 
+    f2: a int 
+    f3: a int 
+
+s: a instance of struct outer
+  with members 
+    f1: a int 
+    i: a instance of struct inner
+
+    f4: a double 
+
+sp: a pointer to instance of struct outer
+
+t1: a const volatile tuple with members 
+  int 
+  int 
+
+t2: a static const tuple with members 
+  int 
+  const int 
+
+t3: a static const tuple with members 
+  int 
+  const int 
+
+printf: a function
+  with parameters 
+    fmt: a pointer to char 
+    and a variable number of other arguments
+  returning tuple with members 
+      rc: a int 
+
+
+printf: a function
+  with parameters 
+    fmt: a pointer to char 
+    and a variable number of other arguments
+  returning int 
+
+f1: a function
+  with parameters 
+    w: a int 
+  returning tuple with members 
+      x: a short 
+      y: a unsigned 
+
+  with body 
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: y
+
+            Referencing: Variable: x
+
+        Application of: 
+
+            Operator: Assign
+
+        ... on arguments: 
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: x
+
+                Referencing: Variable: y
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: w
+                23 
+
+
+g1: a function
+  with no parameters 
+  returning tuple with members 
+      r: a tuple with members 
+        int 
+        char 
+        long 
+        int 
+
+
+  with body 
+    x: a short 
+    p: a short 
+    y: a unsigned int 
+    z: a tuple with members 
+      int 
+      int 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: x
+
+            Referencing: Variable: y
+
+            Referencing: Variable: z
+
+        Application of: 
+
+            Operator: Cast
+
+        ... on arguments: 
+            Type:              tuple with members 
+                short 
+                unsigned int 
+                tuple with members 
+                  int 
+                  int 
+
+
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: p
+
+                Application of: 
+
+                    Referencing: Variable: f
+
+                ... on arguments: 
+                    17 
+                3 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: r
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: x
+
+            Referencing: Variable: y
+
+            Referencing: Variable: z
+
+
+main: a function
+  with parameters 
+    argc: a int 
+    argv: a pointer to pointer to char 
+  returning tuple with members 
+      rc: a int 
+
+  with body 
+    a: a int 
+    b: a int 
+    c: a int 
+    d: a int 
+    t: a instance of struct outer
+
+      with initializer [designated by: ()( TupleC 1 7.0 ) ]
+    
+    Application of: 
+
+        Referencing: Variable: f
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+            3 
+            5 
+
+    
+    Application of: 
+
+        Referencing: Variable: g
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+            3 
+            5 
+        3 
+
+    
+    Application of: 
+
+        Referencing: Variable: f
+
+    ... on arguments: 
+
+        Referencing: Variable: t1
+
+    
+    Application of: 
+
+        Referencing: Variable: g
+
+    ... on arguments: 
+
+        Referencing: Variable: t1
+        3 
+
+    
+    Application of: 
+
+        Operator: TupleC
+
+    ... on arguments: 
+        3 
+        5 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+        3 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+            4.6 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+        Application of: 
+
+            Operator: Assign
+
+        ... on arguments: 
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: c
+
+                Referencing: Variable: d
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+                3 
+                5 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: c
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+            2 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+        Application of: 
+
+            Operator: Cond
+
+        ... on arguments: 
+
+            Application of: 
+
+                Operator: GThan
+
+            ... on arguments: 
+                3 
+                4 
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: b
+                6 
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+                7 
+                8 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: t1
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: t1
+
+        Application of: 
+
+            Operator: Assign
+
+        ... on arguments: 
+
+            Referencing: Variable: t2
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: a
+
+                Referencing: Variable: b
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+        Application of: 
+
+            Operator: Assign
+
+        ... on arguments: 
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: c
+
+                Referencing: Variable: d
+
+            Application of: 
+
+                Operator: PlusAssn
+
+            ... on arguments: 
+
+                Referencing: Variable: d
+
+                Application of: 
+
+                    Operator: PlusAssn
+
+                ... on arguments: 
+
+                    Referencing: Variable: c
+
+                    Referencing: Variable: 1
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+        Application of: 
+
+            Operator: Assign
+
+        ... on arguments: 
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: c
+
+                Referencing: Variable: d
+
+            Referencing: Variable: t1
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+        Application of: 
+
+            Operator: Assign
+
+        ... on arguments: 
+
+            Referencing: Variable: t1
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+
+                Referencing: Variable: c
+
+                Referencing: Variable: d
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+
+            Referencing: Variable: a
+
+            Referencing: Variable: b
+
+        Application of: 
+
+            Operator: Assign
+
+        ... on arguments: 
+
+            Referencing: Variable: t1
+
+            Application of: 
+
+                Operator: Assign
+
+            ... on arguments: 
+
+                Referencing: Variable: t2
+
+                Application of: 
+
+                    Operator: TupleC
+
+                ... on arguments: 
+
+                    Referencing: Variable: c
+
+                    Referencing: Variable: d
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: t1
+
+        Application of: 
+
+            Operator: Assign
+
+        ... on arguments: 
+
+            Application of: 
+
+                Operator: TupleC
+
+            ... on arguments: 
+                3 
+                4 
+
+            Application of: 
+
+                Operator: Assign
+
+            ... on arguments: 
+
+                Application of: 
+
+                    Operator: TupleC
+
+                ... on arguments: 
+                    3 
+                    4 
+
+                Application of: 
+
+                    Operator: Assign
+
+                ... on arguments: 
+
+                    Referencing: Variable: t1
+
+                    Application of: 
+
+                        Operator: TupleC
+
+                    ... on arguments: 
+                        3 
+                        4 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: s
+
+        Application of: 
+
+            Operator: TupleC
+
+        ... on arguments: 
+            11 
+
+            Application of: 
+
+                Operator: Comma
+
+            ... on arguments: 
+                12 
+                13 
+            3.14159 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: s
+
+        Application of: 
+
+            Referencing: Variable: h
+
+        ... on arguments: 
+            3 
+            3 
+
+            Referencing: Variable: 0
+            ""abc"" 
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: sp
+
+        Referencing: Variable: sp
+
+    
+    Application of: 
+
+        Referencing: Variable: printf
+
+    ... on arguments: 
+        ""expecting 3, 17, 23, 4; got %d, %d, %d, %d\n"" 
+
+        Referencing: Variable: s
+
+    
+    Application of: 
+
+        Operator: Assign
+
+    ... on arguments: 
+
+        Referencing: Variable: rc
+
+        Referencing: Variable: 0
+
+
Index: src/Tests/Parser/Expected/TypeGenerator.tst
===================================================================
--- src/Tests/Parser/Expected/TypeGenerator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/TypeGenerator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,112 @@
+context addable
+  with type parameters 
+    T: a type variable 
+  with members 
+    ?+?: a function
+      with parameters 
+        instance of type T
+        instance of type T
+      returning instance of type T
+
+
+List: a type definition 
+  with parameters
+  T: a type variable 
+    with assertions
+      instance of context addable
+        with parameters 
+        Type:          instance of type T
+
+    
+
+  with assertions
+    instance of context addable
+      with parameters 
+      Type:        instance of type T
+
+  for pointer to instance of struct __anonymous0
+    with members 
+      data: a instance of type T
+      next: a pointer to instance of type List with parameters
+        Type:          instance of type T
+
+
+ListOfIntegers: a typedef definition for instance of type List with parameters
+    Type:      int 
+
+li: a instance of type ListOfIntegers
+f: a function
+  with parameters 
+    g: a pointer to function
+      with parameters 
+        int 
+      returning instance of type List with parameters
+          Type:            int 
+
+
+  returning int 
+
+h: a function
+  with parameters 
+    p: a pointer to instance of type List with parameters
+      Type:        int 
+
+  returning tuple with members 
+      int 
+
+
+struct node
+  with type parameters 
+    T: a type variable 
+      with assertions
+        instance of context addable
+          with parameters 
+          Type:            instance of type T
+
+      
+  with members 
+    data: a instance of type T
+    next: a pointer to instance of struct node
+      instantiated with actual parameters 
+        Type:          instance of type T
+      with parameters 
+      Type:        instance of type T
+
+
+List: a type definition 
+  with parameters
+  T: a type variable 
+for pointer to instance of struct node
+    instantiated with actual parameters 
+      Type:        instance of type T
+    with parameters 
+    Type:      instance of type T
+
+my_list: a instance of type List with parameters
+  Type:    int 
+
+Complex: a type definition 
+  with assertions
+    instance of context addable
+      with parameters 
+      Type:        instance of type Complex
+
+  
+main: a function
+  with no parameters 
+  returning int 
+  with body 
+    
+    Application of: 
+
+        Operator: Cast
+
+    ... on arguments: 
+        Type:          struct node
+            instantiated with actual parameters 
+              Type:                int 
+
+
+        Referencing: Variable: my_list
+
+
Index: src/Tests/Parser/Expected/Typedef.tst
===================================================================
--- src/Tests/Parser/Expected/Typedef.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/Typedef.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,97 @@
+T: a typedef definition for int 
+f: a function
+  with parameters 
+    void 
+  returning void 
+  with body 
+    T: a function
+      with parameters 
+        instance of type T
+      returning int 
+
+    
+    Application of: 
+
+        Referencing: Variable: T
+
+    ... on arguments: 
+        3 
+
+
+fred: a instance of struct __anonymous0
+  with members 
+    T: a instance of type T
+
+  with initializer [3 ]
+a: a typedef definition for pointer to function
+    with parameters 
+      int 
+      char 
+    returning int 
+
+b: a instance of type a
+g: a function
+  with parameters 
+    void 
+  returning int 
+  with body 
+    a: a double 
+
+c: a instance of type a
+main: a function
+  with no parameters 
+  returning int 
+  with body 
+
+  Null Statement:
+
+arrayOf10Pointers: a typedef definition for array of   10 pointer to int 
+x: a instance of type arrayOf10Pointers
+constantPointer: a typedef definition for const pointer to int 
+funcPtr: a typedef definition for pointer to function
+    with parameters 
+      open array of int 
+    returning tuple with members 
+        int 
+
+
+funcProto: a typedef definition for function
+    with parameters 
+      open array of int 
+    returning tuple with members 
+        int 
+
+
+tupleType: a typedef definition for tuple with members 
+    int 
+    int 
+
+tupleTypePtr: a typedef definition for pointer to tuple with members 
+    int 
+    int 
+
+a: a typedef definition for pointer to int 
+b: a typedef definition for pointer to int 
+f: a typedef definition for function
+    with parameters 
+      pointer to int 
+    returning tuple with members 
+        int 
+
+
+g: a typedef definition for function
+    with parameters 
+      pointer to int 
+    returning tuple with members 
+        int 
+
+
+t: a typedef definition for tuple with members 
+    pointer to static array of     10 int 
+
+f: a typedef definition for function
+    with no parameters 
+    returning tuple with members 
+        x: a pointer to static array of         10 int 
+
+
Index: src/Tests/Parser/Expected/TypedefDeclarator.tst
===================================================================
--- src/Tests/Parser/Expected/TypedefDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/TypedefDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,253 @@
+f0: a typedef definition for int 
+f1: a typedef definition for int 
+f2: a typedef definition for int 
+f3: a typedef definition for int 
+f4: a typedef definition for int 
+f5: a typedef definition for int 
+f6: a typedef definition for int 
+f7: a typedef definition for int 
+f8: a typedef definition for int 
+f9: a typedef definition for int 
+f10: a typedef definition for int 
+f11: a typedef definition for int 
+f12: a typedef definition for int 
+f13: a typedef definition for int 
+f14: a typedef definition for int 
+f15: a typedef definition for int 
+f16: a typedef definition for int 
+f17: a typedef definition for int 
+f18: a typedef definition for int 
+f19: a typedef definition for int 
+f20: a typedef definition for int 
+f21: a typedef definition for int 
+f22: a typedef definition for int 
+f23: a typedef definition for int 
+f24: a typedef definition for int 
+f25: a typedef definition for int 
+f26: a typedef definition for int 
+f27: a typedef definition for int 
+f28: a typedef definition for int 
+f29: a typedef definition for int 
+f30: a typedef definition for int 
+f31: a typedef definition for int 
+f32: a typedef definition for int 
+f33: a typedef definition for int 
+f34: a typedef definition for int 
+f35: a typedef definition for int 
+f36: a typedef definition for int 
+f37: a typedef definition for int 
+f38: a typedef definition for int 
+f39: a typedef definition for int 
+f40: a typedef definition for int 
+f41: a typedef definition for int 
+f42: a typedef definition for int 
+f43: a typedef definition for int 
+f44: a typedef definition for int 
+f45: a typedef definition for int 
+f46: a typedef definition for int 
+f47: a typedef definition for int 
+f48: a typedef definition for int 
+f49: a typedef definition for int 
+f50: a typedef definition for int 
+f51: a typedef definition for int 
+f52: a typedef definition for int 
+f53: a typedef definition for int 
+f54: a typedef definition for int 
+f55: a typedef definition for int 
+f56: a typedef definition for int 
+f57: a typedef definition for int 
+f58: a typedef definition for int 
+f59: a typedef definition for int 
+f60: a typedef definition for int 
+f61: a typedef definition for int 
+f62: a typedef definition for int 
+f63: a typedef definition for int 
+f64: a typedef definition for int 
+f65: a typedef definition for int 
+f66: a typedef definition for int 
+f67: a typedef definition for int 
+f68: a typedef definition for int 
+f69: a typedef definition for int 
+f70: a typedef definition for int 
+f71: a typedef definition for int 
+f72: a typedef definition for int 
+f73: a typedef definition for int 
+f74: a typedef definition for int 
+f75: a typedef definition for int 
+f76: a typedef definition for int 
+f77: a typedef definition for int 
+f78: a typedef definition for int 
+f79: a typedef definition for int 
+f80: a typedef definition for int 
+f81: a typedef definition for int 
+f82: a typedef definition for int 
+f83: a typedef definition for int 
+f84: a typedef definition for int 
+f85: a typedef definition for int 
+f86: a typedef definition for int 
+f87: a typedef definition for int 
+f88: a typedef definition for int 
+f89: a typedef definition for int 
+main: a function
+  with no parameters 
+  returning int 
+  with body 
+    f1: a int 
+    f2: a int 
+    f3: a pointer to int 
+    f4: a pointer to pointer to int 
+    f5: a pointer to const pointer to int 
+    f6: a const pointer to const pointer to int 
+    f7: a pointer to int 
+    f8: a pointer to pointer to int 
+    f9: a pointer to const pointer to int 
+    f10: a const pointer to const pointer to int 
+    f11: a pointer to int 
+    f12: a pointer to pointer to int 
+    f13: a pointer to const pointer to int 
+    f14: a const pointer to const pointer to int 
+    f15: a open array of int 
+    f16: a array of     10 int 
+    f17: a open array of int 
+    f18: a array of     10 int 
+    f19: a open array of pointer to int 
+    f20: a array of     10 pointer to int 
+    f21: a open array of pointer to pointer to int 
+    f22: a array of     10 pointer to pointer to int 
+    f23: a open array of pointer to const pointer to int 
+    f24: a array of     10 pointer to const pointer to int 
+    f25: a open array of const pointer to const pointer to int 
+    f26: a array of     10 const pointer to const pointer to int 
+    f27: a open array of pointer to int 
+    f28: a array of     10 pointer to int 
+    f29: a open array of pointer to pointer to int 
+    f30: a array of     10 pointer to pointer to int 
+    f31: a open array of pointer to const pointer to int 
+    f32: a array of     10 pointer to const pointer to int 
+    f33: a open array of const pointer to const pointer to int 
+    f34: a array of     10 const pointer to const pointer to int 
+    f35: a open array of pointer to int 
+    f36: a array of     10 pointer to int 
+    f37: a open array of pointer to pointer to int 
+    f38: a array of     10 pointer to pointer to int 
+    f39: a open array of pointer to const pointer to int 
+    f40: a array of     10 pointer to const pointer to int 
+    f41: a open array of const pointer to const pointer to int 
+    f42: a array of     10 const pointer to const pointer to int 
+    f43: a open array of array of     3 int 
+    f44: a array of     3 array of     3 int 
+    f45: a open array of array of     3 int 
+    f46: a array of     3 array of     3 int 
+    f47: a open array of array of     3 int 
+    f48: a array of     3 array of     3 int 
+    f49: a open array of array of     3 pointer to int 
+    f50: a array of     3 array of     3 pointer to int 
+    f51: a open array of array of     3 pointer to pointer to int 
+    f52: a array of     3 array of     3 pointer to pointer to int 
+    f53: a open array of array of     3 pointer to const pointer to int 
+    f54: a array of     3 array of     3 pointer to const pointer to int 
+    f55: a open array of array of     3 const pointer to const pointer to int 
+    f56: a array of     3 array of     3 const pointer to const pointer to int 
+    f57: a open array of array of     3 pointer to int 
+    f58: a array of     3 array of     3 pointer to int 
+    f59: a open array of array of     3 pointer to pointer to int 
+    f60: a array of     3 array of     3 pointer to pointer to int 
+    f61: a open array of array of     3 pointer to const pointer to int 
+    f62: a array of     3 array of     3 pointer to const pointer to int 
+    f63: a open array of array of     3 const pointer to const pointer to int 
+    f64: a array of     3 array of     3 const pointer to const pointer to int 
+    f65: a function
+      with parameters 
+        int 
+      returning int 
+
+    f66: a function
+      with parameters 
+        int 
+      returning int 
+
+    f67: a function
+      with parameters 
+        int 
+      returning pointer to int 
+
+    f68: a function
+      with parameters 
+        int 
+      returning pointer to pointer to int 
+
+    f69: a function
+      with parameters 
+        int 
+      returning pointer to const pointer to int 
+
+    f70: a function
+      with parameters 
+        int 
+      returning const pointer to const pointer to int 
+
+    f71: a function
+      with parameters 
+        int 
+      returning pointer to int 
+
+    f72: a function
+      with parameters 
+        int 
+      returning pointer to pointer to int 
+
+    f73: a function
+      with parameters 
+        int 
+      returning pointer to const pointer to int 
+
+    f74: a function
+      with parameters 
+        int 
+      returning const pointer to const pointer to int 
+
+    f75: a pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f76: a pointer to pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f77: a pointer to const pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f78: a const pointer to const pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f79: a pointer to function
+      with parameters 
+        int 
+      returning pointer to function
+          with no parameters 
+          returning int 
+
+
+    f80: a const pointer to function
+      with parameters 
+        int 
+      returning pointer to function
+          with no parameters 
+          returning int 
+
+
+    f81: a const pointer to function
+      with parameters 
+        int 
+      returning const pointer to function
+          with no parameters 
+          returning int 
+
+
+
Index: src/Tests/Parser/Expected/TypedefParamDeclarator.tst
===================================================================
--- src/Tests/Parser/Expected/TypedefParamDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/TypedefParamDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,349 @@
+f0: a typedef definition for int 
+f1: a typedef definition for int 
+f2: a typedef definition for int 
+f3: a typedef definition for int 
+f4: a typedef definition for int 
+f5: a typedef definition for int 
+f6: a typedef definition for int 
+f7: a typedef definition for int 
+f8: a typedef definition for int 
+f9: a typedef definition for int 
+f10: a typedef definition for int 
+f11: a typedef definition for int 
+f12: a typedef definition for int 
+f13: a typedef definition for int 
+f14: a typedef definition for int 
+f15: a typedef definition for int 
+f16: a typedef definition for int 
+f17: a typedef definition for int 
+f18: a typedef definition for int 
+f19: a typedef definition for int 
+f20: a typedef definition for int 
+f21: a typedef definition for int 
+f22: a typedef definition for int 
+f23: a typedef definition for int 
+f24: a typedef definition for int 
+f25: a typedef definition for int 
+f26: a typedef definition for int 
+f27: a typedef definition for int 
+f28: a typedef definition for int 
+f29: a typedef definition for int 
+f30: a typedef definition for int 
+f31: a typedef definition for int 
+f32: a typedef definition for int 
+f33: a typedef definition for int 
+f34: a typedef definition for int 
+f35: a typedef definition for int 
+f36: a typedef definition for int 
+f37: a typedef definition for int 
+f38: a typedef definition for int 
+f39: a typedef definition for int 
+f40: a typedef definition for int 
+f41: a typedef definition for int 
+f42: a typedef definition for int 
+f43: a typedef definition for int 
+f44: a typedef definition for int 
+f45: a typedef definition for int 
+f46: a typedef definition for int 
+f47: a typedef definition for int 
+f48: a typedef definition for int 
+f49: a typedef definition for int 
+f50: a typedef definition for int 
+f51: a typedef definition for int 
+f52: a typedef definition for int 
+f53: a typedef definition for int 
+f54: a typedef definition for int 
+f55: a typedef definition for int 
+f56: a typedef definition for int 
+f57: a typedef definition for int 
+f58: a typedef definition for int 
+f59: a typedef definition for int 
+f60: a typedef definition for int 
+f61: a typedef definition for int 
+f62: a typedef definition for int 
+f63: a typedef definition for int 
+f64: a typedef definition for int 
+f65: a typedef definition for int 
+f66: a typedef definition for int 
+f67: a typedef definition for int 
+f68: a typedef definition for int 
+f69: a typedef definition for int 
+f70: a typedef definition for int 
+f71: a typedef definition for int 
+f72: a typedef definition for int 
+f73: a typedef definition for int 
+f74: a typedef definition for int 
+f75: a typedef definition for int 
+f76: a typedef definition for int 
+f77: a typedef definition for int 
+f78: a typedef definition for int 
+f79: a typedef definition for int 
+f80: a typedef definition for int 
+f81: a typedef definition for int 
+f82: a typedef definition for int 
+f83: a typedef definition for int 
+f84: a typedef definition for int 
+f85: a typedef definition for int 
+f86: a typedef definition for int 
+f87: a typedef definition for int 
+f88: a typedef definition for int 
+f89: a typedef definition for int 
+f90: a typedef definition for int 
+f91: a typedef definition for int 
+f92: a typedef definition for int 
+f93: a typedef definition for int 
+f94: a typedef definition for int 
+f95: a typedef definition for int 
+f96: a typedef definition for int 
+f97: a typedef definition for int 
+f98: a typedef definition for int 
+f99: a typedef definition for int 
+f100: a typedef definition for int 
+f101: a typedef definition for int 
+f102: a typedef definition for int 
+f103: a typedef definition for int 
+f104: a typedef definition for int 
+f105: a typedef definition for int 
+f106: a typedef definition for int 
+f107: a typedef definition for int 
+f108: a typedef definition for int 
+f109: a typedef definition for int 
+f110: a typedef definition for int 
+f111: a typedef definition for int 
+f112: a typedef definition for int 
+f113: a typedef definition for int 
+f114: a typedef definition for int 
+f115: a typedef definition for int 
+f116: a typedef definition for int 
+f117: a typedef definition for int 
+f118: a typedef definition for int 
+f119: a typedef definition for int 
+fred: a function
+  with parameters 
+    f1: a int 
+    f3: a pointer to int 
+    f4: a pointer to pointer to int 
+    f5: a pointer to const pointer to int 
+    f6: a const pointer to const pointer to int 
+    f11: a pointer to int 
+    f12: a pointer to pointer to int 
+    f13: a pointer to const pointer to int 
+    f14: a const pointer to const pointer to int 
+    f15: a open array of int 
+    f16: a array of     10 int 
+    f19: a open array of pointer to int 
+    f20: a array of     10 pointer to int 
+    f21: a open array of pointer to pointer to int 
+    f22: a array of     10 pointer to pointer to int 
+    f23: a open array of pointer to const pointer to int 
+    f24: a array of     10 pointer to const pointer to int 
+    f25: a open array of const pointer to const pointer to int 
+    f26: a array of     10 const pointer to const pointer to int 
+    f35: a open array of pointer to int 
+    f36: a array of     10 pointer to int 
+    f37: a open array of pointer to pointer to int 
+    f38: a array of     10 pointer to pointer to int 
+    f39: a open array of pointer to const pointer to int 
+    f40: a array of     10 pointer to const pointer to int 
+    f41: a open array of const pointer to const pointer to int 
+    f42: a array of     10 const pointer to const pointer to int 
+    f43: a open array of array of     3 int 
+    f44: a array of     3 array of     3 int 
+    f49: a open array of array of     3 pointer to int 
+    f50: a array of     3 array of     3 pointer to int 
+    f51: a open array of array of     3 pointer to pointer to int 
+    f52: a array of     3 array of     3 pointer to pointer to int 
+    f53: a open array of array of     3 pointer to const pointer to int 
+    f54: a array of     3 array of     3 pointer to const pointer to int 
+    f55: a open array of array of     3 const pointer to const pointer to int 
+    f56: a array of     3 array of     3 const pointer to const pointer to int 
+    f57: a open array of array of     3 pointer to int 
+    f58: a array of     3 array of     3 pointer to int 
+    f59: a open array of array of     3 pointer to pointer to int 
+    f60: a array of     3 array of     3 pointer to pointer to int 
+    f61: a open array of array of     3 pointer to const pointer to int 
+    f62: a array of     3 array of     3 pointer to const pointer to int 
+    f63: a open array of array of     3 const pointer to const pointer to int 
+    f64: a array of     3 array of     3 const pointer to const pointer to int 
+    f65: a function
+      with parameters 
+        int 
+      returning int 
+
+    f67: a function
+      with parameters 
+        int 
+      returning pointer to int 
+
+    f68: a function
+      with parameters 
+        int 
+      returning pointer to pointer to int 
+
+    f69: a function
+      with parameters 
+        int 
+      returning pointer to const pointer to int 
+
+    f70: a function
+      with parameters 
+        int 
+      returning const pointer to const pointer to int 
+
+    f75: a pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f76: a pointer to pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f77: a pointer to const pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f78: a const pointer to const pointer to function
+      with parameters 
+        int 
+      returning int 
+
+    f79: a pointer to function
+      with parameters 
+        int 
+      returning pointer to function
+          with no parameters 
+          returning int 
+
+
+    f80: a const pointer to function
+      with parameters 
+        int 
+      returning pointer to function
+          with no parameters 
+          returning int 
+
+
+    f81: a const pointer to function
+      with parameters 
+        int 
+      returning const pointer to function
+          with no parameters 
+          returning int 
+
+
+    f82: a const variable-length array of int 
+    f83: a const array of     3 int 
+    f84: a static array of     3 int 
+    f85: a const static array of     3 int 
+    function
+      with parameters 
+        const variable-length array of instance of type f86
+      returning int 
+
+    function
+      with parameters 
+        const array of         3 instance of type f87
+      returning int 
+
+    function
+      with parameters 
+        static array of         3 instance of type f88
+      returning int 
+
+    function
+      with parameters 
+        const static array of         3 instance of type f89
+      returning int 
+
+    f90: a const variable-length array of pointer to int 
+    f91: a const array of     3 pointer to int 
+    f92: a static array of     3 pointer to pointer to int 
+    f93: a const static array of     3 pointer to const pointer to int 
+    f94: a const static array of     3 const pointer to const pointer to int 
+    function
+      with parameters 
+        const variable-length array of instance of type f95
+      returning pointer to int 
+
+    function
+      with parameters 
+        const array of         3 instance of type f96
+      returning pointer to int 
+
+    function
+      with parameters 
+        static array of         3 instance of type f97
+      returning pointer to pointer to int 
+
+    function
+      with parameters 
+        const static array of         3 instance of type f98
+      returning pointer to const pointer to int 
+
+    function
+      with parameters 
+        const static array of         3 instance of type f99
+      returning const pointer to const pointer to int 
+
+    f100: a const variable-length array of array of     3 int 
+    f101: a const array of     3 array of     3 int 
+    f102: a static array of     3 array of     3 int 
+    f103: a const static array of     3 array of     3 int 
+    function
+      with parameters 
+        const variable-length array of array of         3 instance of type f104
+      returning int 
+
+    function
+      with parameters 
+        const array of         3 array of         3 instance of type f105
+      returning int 
+
+    function
+      with parameters 
+        static array of         3 array of         3 instance of type f106
+      returning int 
+
+    function
+      with parameters 
+        const static array of         3 array of         3 instance of type f107
+      returning int 
+
+    f108: a const variable-length array of array of     3 pointer to int 
+    f109: a const array of     3 array of     3 pointer to int 
+    f110: a static array of     3 array of     3 pointer to pointer to int 
+    f111: a const static array of     3 array of     3 pointer to const pointer to int 
+    f112: a const static array of     3 array of     3 const pointer to const pointer to int 
+    function
+      with parameters 
+        const variable-length array of array of         3 instance of type f113
+      returning pointer to int 
+
+    function
+      with parameters 
+        const array of         3 array of         3 instance of type f114
+      returning pointer to int 
+
+    function
+      with parameters 
+        static array of         3 array of         3 instance of type f115
+      returning pointer to pointer to int 
+
+    function
+      with parameters 
+        const static array of         3 array of         3 instance of type f116
+      returning pointer to const pointer to int 
+
+    function
+      with parameters 
+        const static array of         3 array of         3 instance of type f117
+      returning const pointer to const pointer to int 
+
+  returning int 
+  with body 
+
+  Null Statement:
+
Index: src/Tests/Parser/Expected/VariableDeclarator.tst
===================================================================
--- src/Tests/Parser/Expected/VariableDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Expected/VariableDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,168 @@
+f1: a int 
+f2: a int 
+f3: a pointer to int 
+f4: a pointer to pointer to int 
+f5: a pointer to const pointer to int 
+f6: a const pointer to const pointer to int 
+f7: a pointer to int 
+f8: a pointer to pointer to int 
+f9: a pointer to const pointer to int 
+f10: a const pointer to const pointer to int 
+f11: a pointer to int 
+f12: a pointer to pointer to int 
+f13: a pointer to const pointer to int 
+f14: a const pointer to const pointer to int 
+f15: a open array of int 
+f16: a array of 10 int 
+f17: a open array of int 
+f18: a array of 10 int 
+f19: a open array of pointer to int 
+f20: a array of 10 pointer to int 
+f21: a open array of pointer to pointer to int 
+f22: a array of 10 pointer to pointer to int 
+f23: a open array of pointer to const pointer to int 
+f24: a array of 10 pointer to const pointer to int 
+f25: a open array of const pointer to const pointer to int 
+f26: a array of 10 const pointer to const pointer to int 
+f27: a open array of pointer to int 
+f28: a array of 10 pointer to int 
+f29: a open array of pointer to pointer to int 
+f30: a array of 10 pointer to pointer to int 
+f31: a open array of pointer to const pointer to int 
+f32: a array of 10 pointer to const pointer to int 
+f33: a open array of const pointer to const pointer to int 
+f34: a array of 10 const pointer to const pointer to int 
+f35: a open array of pointer to int 
+f36: a array of 10 pointer to int 
+f37: a open array of pointer to pointer to int 
+f38: a array of 10 pointer to pointer to int 
+f39: a open array of pointer to const pointer to int 
+f40: a array of 10 pointer to const pointer to int 
+f41: a open array of const pointer to const pointer to int 
+f42: a array of 10 const pointer to const pointer to int 
+f43: a open array of array of 3 int 
+f44: a array of 3 array of 3 int 
+f45: a open array of array of 3 int 
+f46: a array of 3 array of 3 int 
+f47: a open array of array of 3 int 
+f48: a array of 3 array of 3 int 
+f49: a open array of array of 3 pointer to int 
+f50: a array of 3 array of 3 pointer to int 
+f51: a open array of array of 3 pointer to pointer to int 
+f52: a array of 3 array of 3 pointer to pointer to int 
+f53: a open array of array of 3 pointer to const pointer to int 
+f54: a array of 3 array of 3 pointer to const pointer to int 
+f55: a open array of array of 3 const pointer to const pointer to int 
+f56: a array of 3 array of 3 const pointer to const pointer to int 
+f57: a open array of array of 3 pointer to int 
+f58: a array of 3 array of 3 pointer to int 
+f59: a open array of array of 3 pointer to pointer to int 
+f60: a array of 3 array of 3 pointer to pointer to int 
+f61: a open array of array of 3 pointer to const pointer to int 
+f62: a array of 3 array of 3 pointer to const pointer to int 
+f63: a open array of array of 3 const pointer to const pointer to int 
+f64: a array of 3 array of 3 const pointer to const pointer to int 
+f65: a function
+  with parameters 
+    int 
+  returning int 
+
+f66: a function
+  with parameters 
+    int 
+  returning int 
+
+f67: a function
+  with parameters 
+    int 
+  returning pointer to int 
+
+f68: a function
+  with parameters 
+    int 
+  returning pointer to pointer to int 
+
+f69: a function
+  with parameters 
+    int 
+  returning pointer to const pointer to int 
+
+f70: a function
+  with parameters 
+    int 
+  returning const pointer to const pointer to int 
+
+f71: a function
+  with parameters 
+    int 
+  returning pointer to int 
+
+f72: a function
+  with parameters 
+    int 
+  returning pointer to pointer to int 
+
+f73: a function
+  with parameters 
+    int 
+  returning pointer to const pointer to int 
+
+f74: a function
+  with parameters 
+    int 
+  returning const pointer to const pointer to int 
+
+f75: a pointer to function
+  with parameters 
+    int 
+  returning int 
+
+f76: a pointer to pointer to function
+  with parameters 
+    int 
+  returning int 
+
+f77: a pointer to const pointer to function
+  with parameters 
+    int 
+  returning int 
+
+f78: a const pointer to const pointer to function
+  with parameters 
+    int 
+  returning int 
+
+f79: a pointer to function
+  with parameters 
+    int 
+  returning pointer to function
+      with no parameters 
+      returning int 
+
+
+f80: a const pointer to function
+  with parameters 
+    int 
+  returning pointer to function
+      with no parameters 
+      returning int 
+
+
+f81: a const pointer to function
+  with parameters 
+    int 
+  returning const pointer to function
+      with no parameters 
+      returning int 
+
+
+z: a pointer to array of 20 double 
+w: a array of 20 pointer to char 
+v3: a pointer to open array of pointer to open array of pointer to function
+  with parameters 
+    pointer to open array of pointer to open array of int 
+    pointer to open array of pointer to open array of int 
+  returning tuple with members 
+      pointer to open array of pointer to open array of int 
+
+
Index: src/Tests/Parser/Forall.c
===================================================================
--- src/Tests/Parser/Forall.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Forall.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,51 @@
+typedef forall ( type T ) int (*f)( int );
+
+forall( type T )
+    void swap( T left, T right ) {
+	T temp = left;
+	left = right;
+	right = temp;
+    }
+
+context sumable( type T ) {
+    const T 0;
+    T ?+?(T, T);
+    T ?++(T);
+    [T] ?+=?(T,T);
+};
+
+type T1 | { const T1 0; T1 ?+?(T1, T1); T1 ?++(T1); [T1] ?+=?(T1,T1); },
+     T2(type P1, type P2 ),
+     T3 | sumable(T3);
+
+type T2(type P1, type P2) | sumable(T2(P1,P2)) = struct { P1 i; P2 j; };
+
+T2(int, int) w1;
+typedef T2(int, int) w2;
+w2 g2;
+type w3 = T2(int, int);
+w3 g3;
+
+forall( type T | sumable( T ) )
+    T sum( int n, T a[] ) {
+	T total = 0;
+	int i;
+	for ( i = 0; i < n; i += 1 )
+	    total = total + a[i];
+	return total;
+    }
+
+forall( type T | { const T 0; T ?+?(T, T); T ?++(T); [T] ?+=?(T,T); } )
+    T twice( T t ) {
+	return t + t;
+    }
+
+int main() {
+    int x = 1, y = 2, a[10];
+    float f;
+
+    swap( x, y );
+    twice( x, y );
+    f = min( 4.0, 3.0 );
+    sum( 10, a );
+}
Index: src/Tests/Parser/Functions.c
===================================================================
--- src/Tests/Parser/Functions.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Functions.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,163 @@
+// ANSI function definitions
+
+void h(void) {}
+
+int f (
+    int (void),
+    int (int),
+    int ((void)),
+    int ((int)),
+    void g(void)
+  ) {
+    (*g)();
+    g();
+    g = h;
+}
+
+int f1() {}
+int (f2()) {}
+int (*f3())() {}
+int *((f4())) {}
+int ((*f5()))() {}
+int *f6() {}
+int *(f7)() {}
+int **f8() {}
+int * const *(f9)() {}
+int (*f10())[] {}
+int (*f11())[][3] {}
+int ((*f12())[])[3] {}
+
+// "implicit int" type specifier (not ANSI)
+
+fII1( int i ) {}
+const fII2( int i ) {}
+extern fII3( int i ) {}
+extern const fII4( int i ) {}
+
+*fII5() {}
+const *fII6() {}
+const long *fII7() {}
+static const long *fII8() {}
+const static long *fII9() {}
+
+// K&R function definitions
+
+fO1( i ) int i; {}
+int fO2( i ) int i; {}
+const fO3( i ) int i; {}
+extern fO4( i ) int i; {}
+extern const fO5( i ) int i; {}
+
+// Cforall extensions
+
+[] f( );
+[int] f( );
+[] f(int);
+[int] f(int);
+[] f( ) {}
+[int] f( ) {}
+[] f(int) {}
+[int] f(int) {}
+
+[int x] f( );
+[] f(int x);
+[int x] f(int x);
+[int x] f( ) {}
+[] f(int x) {}
+[int x] f(int x) {}
+
+[int, int x] f( );
+[] f(int, int x);
+[int, int x] f(int, int x);
+[int, int x] f( ) {}
+[] f(int, int x) {}
+[int, int x] f(int, int x) {}
+
+[int, int x, int] f( );
+[] f(int, int x, int);
+[int, int x, int] f(int, int x, int);
+[int, int x, int] f( ) {}
+[] f(int, int x, int) {}
+[int, int x, int] f(int, int x, int) {}
+
+[int, int x, * int y] f( );
+[] f(int, int x, * int y);
+[int, int x, * int y] f(int, int x, * int y);
+[int, int x, * int y] f( ) {}
+[] f(int, int x, * int y) {}
+[int, int x, * int y] f(int, int x, * int y) {}
+
+[ int ] f11( int ), f12;  // => int f11( int ), f12( int );
+
+[int] f(
+	int ( int, int p ),
+	[int](int)
+    ) {
+    int (*(*p)[][10])[][3];
+    * [][10] * [][3] int p;
+    * [] * [int](int) p;
+}
+
+static const int *f1() {}
+static [ const int ] f2() {}
+static inline [ const * int ] f3() {}
+static inline [ const [ * int, int ] ] f4() {}
+static [ const [ * int, const int ] ] f5() {}
+
+// unnamed parameter
+
+int f(
+    int (),
+
+    int *(),
+    int **(),
+    int * const *(),
+    int * const * const (),
+
+    int ([]),
+    int ([10]),
+
+    int *([]),
+    int *([10]),
+    int **([]),
+    int **([10]),
+    int * const *([]),
+    int * const *([10]),
+    int * const * const ([]),
+    int * const * const ([10])
+    );
+
+int f(
+    int (),
+
+    int *(),
+    int **(),
+    int * const *(),
+    int * const * const (),
+
+    int ([]),
+    int ([10]),
+
+    int *([]),
+    int *([10]),
+    int **([]),
+    int **([10]),
+    int * const *([]),
+    int * const *([10]),
+    int * const * const ([]),
+    int * const * const ([10])
+    ) {
+}
+
+typedef int T;
+
+int f( T (T), T T ) {
+    T (T);
+}
+
+// errors
+
+//int f()[] {}
+//int (f[])() {}
+//int f[]() {}
+//int ((*f15())())[] {}
Index: src/Tests/Parser/IdentFuncDeclarator.c
===================================================================
--- src/Tests/Parser/IdentFuncDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/IdentFuncDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,105 @@
+int main() {
+    //int f0[]();
+    //int (f0[])();
+    //int f0()[];
+    //int f0()();
+    //int (*f0)()();
+    //int ((*f0())())[];
+    
+    int f1;
+    int (f2);
+
+    int *f3;
+    int **f4;
+    int * const *f5;
+    int * const * const f6;
+
+    int *(f7);
+    int **(f8);
+    int * const *(f9);
+    int * const * const (f10);
+
+    int (*f11);
+    int (**f12);
+    int (* const *f13);
+    int (* const * const f14);
+
+    int f15[];
+    int f16[10];
+    int (f17[]);
+    int (f18[10]);
+
+    int *f19[];
+    int *f20[10];
+    int **f21[];
+    int **f22[10];
+    int * const *f23[];
+    int * const *f24[10];
+    int * const * const f25[];
+    int * const * const f26[10];
+
+    int *(f27[]);
+    int *(f28[10]);
+    int **(f29[]);
+    int **(f30[10]);
+    int * const *(f31[]);
+    int * const *(f32[10]);
+    int * const * const (f33[]);
+    int * const * const (f34[10]);
+
+    int (*f35[]);
+    int (*f36[10]);
+    int (**f37[]);
+    int (**f38[10]);
+    int (* const *f39[]);
+    int (* const *f40[10]);
+    int (* const * const f41[]);
+    int (* const * const f42[10]);
+
+    int f43[][3];
+    int f44[3][3];
+    int (f45[])[3];
+    int (f46[3])[3];
+    int ((f47[]))[3];
+    int ((f48[3]))[3];
+
+    int *f49[][3];
+    int *f50[3][3];
+    int **f51[][3];
+    int **f52[3][3];
+    int * const *f53[][3];
+    int * const *f54[3][3];
+    int * const * const f55[][3];
+    int * const * const f56[3][3];
+
+    int (*f57[][3]);
+    int (*f58[3][3]);
+    int (**f59[][3]);
+    int (**f60[3][3]);
+    int (* const *f61[][3]);
+    int (* const *f62[3][3]);
+    int (* const * const f63[][3]);
+    int (* const * const f64[3][3]);
+
+    int f65(int);
+    int (f66)(int);
+
+    int *f67(int);
+    int **f68(int);
+    int * const *f69(int);
+    int * const * const f70(int);
+
+    int *(f71)(int);
+    int **(f72)(int);
+    int * const *(f73)(int);
+    int * const * const (f74)(int);
+
+    int (*f75)(int);
+    int (**f76)(int);
+    int (* const *f77)(int);
+    int (* const * const f78)(int);
+
+    int (*(*f79)(int))();
+    int (*(* const f80)(int))();
+    int (* const(* const f81)(int))();
+}
Index: src/Tests/Parser/IdentFuncParamDeclarator.c
===================================================================
--- src/Tests/Parser/IdentFuncParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/IdentFuncParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,150 @@
+int fred(
+    //int f0[](),
+    //int (f0[])(),
+    //int f0()[],
+    //int f0()(),
+    //int (*f0)()(),
+    //int ((*f0())())[],
+    
+    int f1,
+    int (f2),
+
+    int *f3,
+    int **f4,
+    int * const *f5,
+    int * const * const f6,
+
+    int *(f7),
+    int **(f8),
+    int * const *(f9),
+    int * const * const (f10),
+
+    int (*f11),
+    int (**f12),
+    int (* const *f13),
+    int (* const * const f14),
+
+    int f15[],
+    int f16[10],
+    int (f17[]),
+    int (f18[10]),
+
+    int *f19[],
+    int *f20[10],
+    int **f21[],
+    int **f22[10],
+    int * const *f23[],
+    int * const *f24[10],
+    int * const * const f25[],
+    int * const * const f26[10],
+
+    int *(f27[]),
+    int *(f28[10]),
+    int **(f29[]),
+    int **(f30[10]),
+    int * const *(f31[]),
+    int * const *(f32[10]),
+    int * const * const (f33[]),
+    int * const * const (f34[10]),
+
+    int (*f35[]),
+    int (*f36[10]),
+    int (**f37[]),
+    int (**f38[10]),
+    int (* const *f39[]),
+    int (* const *f40[10]),
+    int (* const * const f41[]),
+    int (* const * const f42[10]),
+
+    int f43[][3],
+    int f44[3][3],
+    int (f45[])[3],
+    int (f46[3])[3],
+    int ((f47[]))[3],
+    int ((f48[3]))[3],
+
+    int *f49[][3],
+    int *f50[3][3],
+    int **f51[][3],
+    int **f52[3][3],
+    int * const *f53[][3],
+    int * const *f54[3][3],
+    int * const * const f55[][3],
+    int * const * const f56[3][3],
+
+    int (*f57[][3]),
+    int (*f58[3][3]),
+    int (**f59[][3]),
+    int (**f60[3][3]),
+    int (* const *f61[][3]),
+    int (* const *f62[3][3]),
+    int (* const * const f63[][3]),
+    int (* const * const f64[3][3]),
+
+    int f65(int),
+    int (f66)(int),
+
+    int *f67(int),
+    int **f68(int),
+    int * const *f69(int),
+    int * const * const f70(int),
+
+    int *(f71)(int),
+    int **(f72)(int),
+    int * const *(f73)(int),
+    int * const * const (f74)(int),
+
+    int (*f75)(int),
+    int (**f76)(int),
+    int (* const *f77)(int),
+    int (* const * const f78)(int),
+
+    int (*(*f79)(int))(),
+    int (*(* const f80)(int))(),
+    int (* const(* const f81)(int))(),
+
+    int f82[const *],
+    int f83[const 3],
+    int f84[static 3],
+    int f85[static const 3],
+
+    int (f86[const *]),
+    int (f87[const 3]),
+    int (f88[static 3]),
+    int (f89[static const 3]),
+
+    int *f90[const *],
+    int *f91[const 3],
+    int **f92[static 3],
+    int * const *f93[static const 3],
+    int * const * const f94[static const 3],
+
+    int *(f95[const *]),
+    int *(f96[const 3]),
+    int **(f97[static 3]),
+    int * const *(f98[static const 3]),
+    int * const * const (f99[static const 3]),
+
+    int f100[const *][3],
+    int f101[const 3][3],
+    int f102[static 3][3],
+    int f103[static const 3][3],
+
+    int (f104[const *][3]),
+    int (f105[const 3][3]),
+    int (f106[static 3][3]),
+    int (f107[static const 3][3]),
+
+    int *f108[const *][3],
+    int *f109[const 3][3],
+    int **f110[static 3][3],
+    int * const *f111[static const 3][3],
+    int * const * const f112[static const 3][3],
+
+    int *(f113[const *][3]),
+    int *(f114[const 3][3]),
+    int **(f115[static 3][3]),
+    int * const *(f116[static const 3][3]),
+    int * const * const (f117[static const 3][3])
+    ) {
+}
Index: src/Tests/Parser/Initialization.c
===================================================================
--- src/Tests/Parser/Initialization.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Initialization.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,27 @@
+// Cforall extensions
+
+int * x21 = 0, x22 = 0;
+int * x21 = 0, x22 = 0;
+
+[20] int y1, y2 = { 1, 2, 3 };
+
+// designators
+
+struct {
+    [int] w;
+} a = { .w : [2] };
+
+struct { int a[3], b; } w [] = { [0].a : {1}, [0].b : 1, [1].a[0] : 2 };
+
+struct {
+    int f1, f2, f3;
+    struct { int g1, g2, g3; } f4[4];
+} v7 = {
+    .f1 : 4,
+    f2 : 3,
+    .f4[2] : {
+	.g1 : 3,
+	g3 : 0,
+    },
+    .f4[3].g3 : 7,
+};
Index: src/Tests/Parser/Makefile
===================================================================
--- src/Tests/Parser/Makefile	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Makefile	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,19 @@
+CFA = ../../cfa-cpp
+
+EXPECTED = ${wildcard Expected/*.tst}
+TESTS = $(EXPECTED:Expected/%=%)
+TEST_IN = $(TESTS:.tst=.c)
+DIFF = diff
+
+%.tst:%.c $(CFA)
+	$(CFA) -nt < $< > $@ 2>&1
+
+report: $(CFA) $(TESTS) $(EXPECTED)
+	rm -f report
+	@for i in $(TESTS); do \
+	  echo "---$$i---" | tee -a report; \
+	  $(DIFF) -B -w Expected/$$i $$i | tee -a report; \
+	done
+
+clean:
+	rm -f *.tst
Index: src/Tests/Parser/Scope.c
===================================================================
--- src/Tests/Parser/Scope.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Scope.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,69 @@
+int x;
+typedef double y;
+typedef float t;
+y z;
+type u = struct { int a; double b; };
+int f( int y );
+y q;
+
+y w(y y, u v) {
+  type x | { x t(u); };
+  u u = y;
+  x z = t(u);
+}
+
+y p;
+
+context has_u( type z )
+{
+  z u(z);
+};
+
+forall( type t | has_u( t ) )
+y q( t the_t )
+{
+  t y = u( the_t );
+}
+
+t f( y p ) {
+  int y;
+  typedef char x;
+
+  {
+    x y;
+    typedef x z;
+
+    {
+      z x;
+      typedef z y;
+      y z = x;
+    }
+
+    z x = y;
+  }
+
+  x q = y;
+}
+
+t g( void ) {
+  typedef char x;
+  try {
+    some_func();
+  } catch ( x x ) {
+    t y = x;
+  }
+  x z;
+}
+
+y q(i)
+    int i;
+{
+  switch (i) {
+    y q = i;
+  case 0:
+    return q;
+  default:
+    return i;
+  }
+}
+
Index: src/Tests/Parser/StructMember.c
===================================================================
--- src/Tests/Parser/StructMember.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/StructMember.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,40 @@
+typedef int T;
+
+struct S {
+    int m1:3, m2:4;
+    int :2;
+    int :3, :4;
+    int m3;
+    int m4, m5, m6;
+    int *m7, *m8, *m9;
+    int (*m10)();
+    int *(*m11)(int);
+    T T;
+    T (T);
+
+// Cforall extensions
+
+    * int m12, m13;
+    * [ * int ] (int) m14;
+    int ;
+    int , , ;
+    int * , , ;
+    int *, *, *;
+    * int , , ;
+    int (*)();
+    int (**)( int );
+    T ;
+
+// errors
+
+//    void f(void);
+};
+
+struct S s;
+
+union U {
+    [5] int m1;
+    int m2[5];
+    * int m3;
+    int *m4;
+} u;
Index: src/Tests/Parser/Tuple.c
===================================================================
--- src/Tests/Parser/Tuple.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Tuple.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,62 @@
+int f( int, int );
+int g( int, int, int );
+static [ int, int *, * int, int ] h( int a, int b, * int c, [] char d );
+
+struct inner {
+    int f2, f3;
+};
+
+struct outer {
+    int f1;
+    struct inner i;
+    double f4;
+} s, *sp;
+
+const volatile [ int, int ] t1;
+static const [ int, const int ] t2;
+const static [ int, const int ] t3;
+
+[ int rc ] printf( * char fmt, ... );
+int printf( char *fmt, ... );
+
+[ short x, unsigned y ] f1( int w ) {
+    [ y, x ] = [ x, y ] = [ w, 23 ];
+}
+
+[ [ int, char, long, int ] r ] g1() {
+    short x, p;
+    unsigned int y;
+    [ int, int ] z;
+
+    [ x, y, z ] = ([short, unsigned int, [int, int]])([ p, f( 17 ), 3 ]);
+    r = [ x, y, z ];
+}
+
+[ int rc ] main( int argc, ** char argv ) {
+    int a, b, c, d;
+    struct outer t = { .[ f1,f4 ] : [ 1,7.0 ] };
+    f( [ 3,5 ] );
+    g( [ 3,5 ], 3 );
+    f( t1 );
+    g( t1, 3 );
+    [ 3,5 ];
+    [ a,b ] = 3;
+    [ a,b ] = [ 4.6 ];
+    [ a,b ] = [ c,d ] = [ 3,5 ];
+    [ a,b,[ c ] ] = [ 2,[ a,b ] ];
+    [ a,b ] = 3 > 4 ? [ b,6 ] : [ 7,8 ];
+
+    t1 = [ a,b ];
+    t1 = t2 = [ a,b ];
+    [ a,b ] = [ c,d ] = d += c += 1;
+    [ a,b ] = [ c,d ] = t1;
+    [ a,b ] = t1 = [ c,d ];
+    [ a,b ] = t1 = t2 = [ c,d ];
+    t1 = [ 3,4 ] = [ 3,4 ] = t1 = [ 3,4 ];
+
+    s.[ f1, i.[ f2, f3 ], f4 ] = [ 11, 12, 13, 3.14159 ];
+    s.[ f1, i.[ f2, f3 ], f4 ] = h( 3, 3, 0, "abc" );
+    sp->[ f4,f1 ] = sp->[ f1,f4 ];
+    printf( "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n", s.[ f4, i.[ f3,f2 ], f1 ] );
+    rc = 0;
+}
Index: src/Tests/Parser/TypeGenerator.c
===================================================================
--- src/Tests/Parser/TypeGenerator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/TypeGenerator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,19 @@
+context addable(type T) {
+   T ?+?(T,T);
+};
+
+type List(type T | addable(T) ) | addable(T) = struct { T data; List(T) *next; } *;
+typedef List(int) ListOfIntegers;
+ListOfIntegers li;
+int f( List(int) ((*g))(int) );
+[int] h( * List(int) p ); // new declaration syntax
+
+struct(type T | addable(T) ) node { T data; struct(T) node *next; };
+type List(type T) = struct(T) node *;
+List(int) my_list;
+
+type Complex | addable(Complex);
+
+int main() {
+    (struct(int) node)my_list;
+}
Index: src/Tests/Parser/Typedef.c
===================================================================
--- src/Tests/Parser/Typedef.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/Typedef.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,41 @@
+typedef int T;
+
+void f( void ) {
+    int T( T );
+    T( 3 );
+}
+
+struct {
+    T (T);
+} fred = { 3 };
+
+typedef int (*a)(int, char);
+a b;
+
+int g(void) {
+    double a;
+}
+a c;
+
+// typedef x = 3, y = 3;  /* GCC */
+
+// x p;
+// y q;
+
+int main() {
+//    typedef z = p = 3;
+}
+
+/* new-style function definitions */
+
+typedef [10] * int arrayOf10Pointers;
+arrayOf10Pointers x;
+typedef const * int constantPointer;
+typedef * [ int ]( [] int ) funcPtr;
+typedef [ int ] funcProto( []  int );
+typedef [ int, int ] tupleType;
+typedef * [ int, int ] tupleTypePtr;
+typedef * int a, b;
+typedef [ int ] f( * int ), g;
+typedef [ * [static 10] int ] t;
+typedef [ * [static 10] int x ] f();
Index: src/Tests/Parser/TypedefDeclarator.c
===================================================================
--- src/Tests/Parser/TypedefDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/TypedefDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,116 @@
+typedef int
+     f0,  f1,  f2,  f3,  f4,  f5,  f6,  f7,  f8,  f9,
+    f10, f11, f12, f13, f14, f15, f16, f17, f18, f19,
+    f20, f21, f22, f23, f24, f25, f26, f27, f28, f29,
+    f30, f31, f32, f33, f34, f35, f36, f37, f38, f39,
+    f40, f41, f42, f43, f44, f45, f46, f47, f48, f49,
+    f50, f51, f52, f53, f54, f55, f56, f57, f58, f59,
+    f60, f61, f62, f63, f64, f65, f66, f67, f68, f69,
+    f70, f71, f72, f73, f74, f75, f76, f77, f78, f79,
+    f80, f81, f82, f83, f84, f85, f86, f87, f88, f89;
+
+int main() {
+    //int f0[]();
+    //int (f0[])();
+    //int f0()[];
+    //int f0()();
+    //int (*f0)()();
+    //int ((*f0())())[];
+    
+    int f1;
+    int (f2);
+
+    int *f3;
+    int **f4;
+    int * const *f5;
+    int * const * const f6;
+
+    int *(f7);
+    int **(f8);
+    int * const *(f9);
+    int * const * const (f10);
+
+    int (*f11);
+    int (**f12);
+    int (* const *f13);
+    int (* const * const f14);
+
+    int f15[];
+    int f16[10];
+    int (f17[]);
+    int (f18[10]);
+
+    int *f19[];
+    int *f20[10];
+    int **f21[];
+    int **f22[10];
+    int * const *f23[];
+    int * const *f24[10];
+    int * const * const f25[];
+    int * const * const f26[10];
+
+    int *(f27[]);
+    int *(f28[10]);
+    int **(f29[]);
+    int **(f30[10]);
+    int * const *(f31[]);
+    int * const *(f32[10]);
+    int * const * const (f33[]);
+    int * const * const (f34[10]);
+
+    int (*f35[]);
+    int (*f36[10]);
+    int (**f37[]);
+    int (**f38[10]);
+    int (* const *f39[]);
+    int (* const *f40[10]);
+    int (* const * const f41[]);
+    int (* const * const f42[10]);
+
+    int f43[][3];
+    int f44[3][3];
+    int (f45[])[3];
+    int (f46[3])[3];
+    int ((f47[]))[3];
+    int ((f48[3]))[3];
+
+    int *f49[][3];
+    int *f50[3][3];
+    int **f51[][3];
+    int **f52[3][3];
+    int * const *f53[][3];
+    int * const *f54[3][3];
+    int * const * const f55[][3];
+    int * const * const f56[3][3];
+
+    int (*f57[][3]);
+    int (*f58[3][3]);
+    int (**f59[][3]);
+    int (**f60[3][3]);
+    int (* const *f61[][3]);
+    int (* const *f62[3][3]);
+    int (* const * const f63[][3]);
+    int (* const * const f64[3][3]);
+
+    int f65(int);
+    int (f66)(int);
+
+    int *f67(int);
+    int **f68(int);
+    int * const *f69(int);
+    int * const * const f70(int);
+
+    int *(f71)(int);
+    int **(f72)(int);
+    int * const *(f73)(int);
+    int * const * const (f74)(int);
+
+    int (*f75)(int);
+    int (**f76)(int);
+    int (* const *f77)(int);
+    int (* const * const f78)(int);
+
+    int (*(*f79)(int))();
+    int (*(* const f80)(int))();
+    int (* const(* const f81)(int))();
+}
Index: src/Tests/Parser/TypedefParamDeclarator.c
===================================================================
--- src/Tests/Parser/TypedefParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/TypedefParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,150 @@
+typedef int
+     f0,   f1,   f2,   f3,   f4,   f5,   f6,   f7,   f8,   f9,
+    f10,  f11,  f12,  f13,  f14,  f15,  f16,  f17,  f18,  f19,
+    f20,  f21,  f22,  f23,  f24,  f25,  f26,  f27,  f28,  f29,
+    f30,  f31,  f32,  f33,  f34,  f35,  f36,  f37,  f38,  f39,
+    f40,  f41,  f42,  f43,  f44,  f45,  f46,  f47,  f48,  f49,
+    f50,  f51,  f52,  f53,  f54,  f55,  f56,  f57,  f58,  f59,
+    f60,  f61,  f62,  f63,  f64,  f65,  f66,  f67,  f68,  f69,
+    f70,  f71,  f72,  f73,  f74,  f75,  f76,  f77,  f78,  f79,
+    f80,  f81,  f82,  f83,  f84,  f85,  f86,  f87,  f88,  f89,
+    f90,  f91,  f92,  f93,  f94,  f95,  f96,  f97,  f98,  f99,
+    f100, f101, f102, f103, f104, f105, f106, f107, f108, f109,
+    f110, f111, f112, f113, f114, f115, f116, f117, f118, f119;
+
+int fred(
+/*
+    //int f0[](),
+    //int (f0[])(),
+    //int f0()[],
+    //int f0()(),
+    //int (*f0)()(),
+    //int ((*f0())())[],
+*/
+    int f1,
+
+    int *f3,
+    int **f4,
+    int * const *f5,
+    int * const * const f6,
+
+    int (*f11),
+    int (**f12),
+    int (* const *f13),
+    int (* const * const f14),
+
+    int f15[],
+    int f16[10],
+
+    int *f19[],
+    int *f20[10],
+    int **f21[],
+    int **f22[10],
+    int * const *f23[],
+    int * const *f24[10],
+    int * const * const f25[],
+    int * const * const f26[10],
+
+    int (*f35[]),
+    int (*f36[10]),
+    int (**f37[]),
+    int (**f38[10]),
+    int (* const *f39[]),
+    int (* const *f40[10]),
+    int (* const * const f41[]),
+    int (* const * const f42[10]),
+
+    int f43[][3],
+    int f44[3][3],
+/*
+    int (f45[])[3],
+    int (f46[3])[3],
+    int ((f47[]))[3],
+    int ((f48[3]))[3],
+*/
+    int *f49[][3],
+    int *f50[3][3],
+    int **f51[][3],
+    int **f52[3][3],
+    int * const *f53[][3],
+    int * const *f54[3][3],
+    int * const * const f55[][3],
+    int * const * const f56[3][3],
+
+    int (*f57[][3]),
+    int (*f58[3][3]),
+    int (**f59[][3]),
+    int (**f60[3][3]),
+    int (* const *f61[][3]),
+    int (* const *f62[3][3]),
+    int (* const * const f63[][3]),
+    int (* const * const f64[3][3]),
+
+    int f65(int),
+/*
+    int (f66)(int),
+*/
+    int *f67(int),
+    int **f68(int),
+    int * const *f69(int),
+    int * const * const f70(int),
+/*
+    int *(f71)(int),
+    int **(f72)(int),
+    int * const *(f73)(int),
+    int * const * const (f74)(int),
+*/
+    int (*f75)(int),
+    int (**f76)(int),
+    int (* const *f77)(int),
+    int (* const * const f78)(int),
+
+    int (*(*f79)(int))(),
+    int (*(* const f80)(int))(),
+    int (* const(* const f81)(int))(),
+
+    int f82[const *],
+    int f83[const 3],
+    int f84[static 3],
+    int f85[static const 3],
+
+    int (f86[const *]),
+    int (f87[const 3]),
+    int (f88[static 3]),
+    int (f89[static const 3]),
+
+    int *f90[const *],
+    int *f91[const 3],
+    int **f92[static 3],
+    int * const *f93[static const 3],
+    int * const * const f94[static const 3],
+
+    int *(f95[const *]),
+    int *(f96[const 3]),
+    int **(f97[static 3]),
+    int * const *(f98[static const 3]),
+    int * const * const (f99[static const 3]),
+
+    int f100[const *][3],
+    int f101[const 3][3],
+    int f102[static 3][3],
+    int f103[static const 3][3],
+
+    int (f104[const *][3]),
+    int (f105[const 3][3]),
+    int (f106[static 3][3]),
+    int (f107[static const 3][3]),
+
+    int *f108[const *][3],
+    int *f109[const 3][3],
+    int **f110[static 3][3],
+    int * const *f111[static const 3][3],
+    int * const * const f112[static const 3][3],
+
+    int *(f113[const *][3]),
+    int *(f114[const 3][3]),
+    int **(f115[static 3][3]),
+    int * const *(f116[static const 3][3]),
+    int * const * const (f117[static const 3][3])
+    ) {
+}
Index: src/Tests/Parser/VariableDeclarator.c
===================================================================
--- src/Tests/Parser/VariableDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Parser/VariableDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,115 @@
+int f1;
+int (f2);
+
+int *f3;
+int **f4;
+int * const *f5;
+int * const * const f6;
+
+int *(f7);
+int **(f8);
+int * const *(f9);
+int * const * const (f10);
+
+int (*f11);
+int (**f12);
+int (* const *f13);
+int (* const * const f14);
+
+int f15[];
+int f16[10];
+int (f17[]);
+int (f18[10]);
+
+int *f19[];
+int *f20[10];
+int **f21[];
+int **f22[10];
+int * const *f23[];
+int * const *f24[10];
+int * const * const f25[];
+int * const * const f26[10];
+
+int *(f27[]);
+int *(f28[10]);
+int **(f29[]);
+int **(f30[10]);
+int * const *(f31[]);
+int * const *(f32[10]);
+int * const * const (f33[]);
+int * const * const (f34[10]);
+
+int (*f35[]);
+int (*f36[10]);
+int (**f37[]);
+int (**f38[10]);
+int (* const *f39[]);
+int (* const *f40[10]);
+int (* const * const f41[]);
+int (* const * const f42[10]);
+
+int f43[][3];
+int f44[3][3];
+int (f45[])[3];
+int (f46[3])[3];
+int ((f47[]))[3];
+int ((f48[3]))[3];
+
+int *f49[][3];
+int *f50[3][3];
+int **f51[][3];
+int **f52[3][3];
+int * const *f53[][3];
+int * const *f54[3][3];
+int * const * const f55[][3];
+int * const * const f56[3][3];
+
+int (*f57[][3]);
+int (*f58[3][3]);
+int (**f59[][3]);
+int (**f60[3][3]);
+int (* const *f61[][3]);
+int (* const *f62[3][3]);
+int (* const * const f63[][3]);
+int (* const * const f64[3][3]);
+
+int f65(int);
+int (f66)(int);
+
+int *f67(int);
+int **f68(int);
+int * const *f69(int);
+int * const * const f70(int);
+
+int *(f71)(int);
+int **(f72)(int);
+int * const *(f73)(int);
+
+int * const * const (f74)(int);
+
+int (*f75)(int);
+int (**f76)(int);
+int (* const *f77)(int);
+int (* const * const f78)(int);
+
+int (*(*f79)(int))();
+int (*(* const f80)(int))();
+int (* const(* const f81)(int))();
+
+// errors
+
+//int fe0[]();				// array of functions
+//int (fe1[])();				// array of functions
+//int fe2()[];				// returning an array
+//int fe3()();				// returning a function
+//int (*fe4)()();				// returning a function
+//int ((*fe5())())[];			// returning an array
+
+// Cforall extensions
+
+* [20] double z;
+[20] * char w;
+
+// function pointer
+
+*[]*[]* [ *[]*[] int ]( *[]*[] int, *[]*[] int ) v3;
Index: src/Tests/Quad.c
===================================================================
--- src/Tests/Quad.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,20 +1,0 @@
-int ?=?( int *, int );
-int ?*?( int, int );
-
-forall( type T | { T ?*?( T, T ); } )
-T square( T t ) {
-	return t * t;
-}
-
-forall( type U | { U square( U ); } )
-U quad( U u ) {
-	return square( square( u ) );
-}
-
-void f() {
-	quad( 7 );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Rank2.c
===================================================================
--- src/Tests/Rank2.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,20 +1,0 @@
-int ?=?( int *, int );
-forall(dtype DT) DT * ?=?( DT **, DT * );
-
-void a() {
-	forall( type T ) void f( T );
-	void g( forall( type U ) void p( U ) );
-	g( f );
-}
-
-void g() {
-	void h( int *null );
-	forall( type T ) T id( T );
-	forall( dtype T ) T *0;
-	int 0;
-	h( id( id( id( 0 ) ) ) );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/ResolvExpr/Abstype.c
===================================================================
--- src/Tests/ResolvExpr/Abstype.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Abstype.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,28 @@
+// "cfa-cpp -nx Abstype.c"
+
+type T | { T x( T ); };
+
+T y( T t )
+{
+	T t_instance;
+	return x( t );
+}
+
+forall(type T) lvalue T			*?(                T* );
+int		?++( int *);
+int ?=?( int*, int );
+forall(dtype DT) DT* 		   	?=?(                DT *          *,          DT* );
+
+type U = int*;
+
+U x( U u )
+{
+	U u_instance = u;
+	(*u)++;
+	return u;
+}
+
+int *break_abstraction( U u )
+{
+	return u;
+}
Index: src/Tests/ResolvExpr/Attributes.c
===================================================================
--- src/Tests/ResolvExpr/Attributes.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Attributes.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,19 @@
+// "cfa-cpp -ne simple.c"
+
+int @voon;
+double @voon;
+
+int @bort(int);
+int @bort(double);
+
+void g( int );
+
+void
+f()
+{
+  float x;
+  double x;
+  @bort(x);
+  @bort(int);
+  g( @voon );
+}
Index: src/Tests/ResolvExpr/Cast.c
===================================================================
--- src/Tests/ResolvExpr/Cast.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Cast.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,11 @@
+char f;
+void f()
+{
+  char f;
+  double f;
+  (int)f;
+  short f;
+  (int)f;
+  (void(*)())f;
+  ([long, long double, *[]()])([f, f, f]);
+}
Index: src/Tests/ResolvExpr/CastError.c
===================================================================
--- src/Tests/ResolvExpr/CastError.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/CastError.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,8 @@
+int f;
+void f()
+{
+  int f;
+  double f;
+  (char)f;
+  (int(*)())f;
+}
Index: src/Tests/ResolvExpr/Expected/Abstype.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Abstype.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Abstype.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,215 @@
+T: a type
+  with assertions
+    x: a function
+        with parameters
+          instance of type T 
+        returning 
+          instance of type T 
+
+
+?=?: a automatically generated function
+    with parameters
+      _dst: a pointer to instance of type T 
+      _src: a instance of type T 
+    returning 
+      instance of type T 
+
+y: a function
+    with parameters
+      t: a instance of type T 
+    returning 
+      instance of type T 
+    with body 
+      Declaration of t_instance: a instance of type T 
+      
+        Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: x: a function
+        with parameters
+          instance of type T 
+        returning 
+          instance of type T 
+
+  to arguments
+          Variable Expression: t: a instance of type T 
+
+
+to:
+  instance of type T 
+with environment:
+  Types:
+  Non-types:
+
+
+
+*?: a forall
+      T: a type
+        with assertions
+          ?=?: a pointer to function
+              with parameters
+                pointer to instance of type T 
+                instance of type T 
+              returning 
+                instance of type T 
+
+
+    function
+    with parameters
+      pointer to instance of type T 
+    returning 
+      lvalue instance of type T 
+
+?++: a function
+    with parameters
+      pointer to signed int 
+    returning 
+      signed int 
+
+?=?: a function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+?=?: a forall
+      DT: a incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT 
+      pointer to instance of type DT 
+    returning 
+      pointer to instance of type DT 
+
+U: a type for pointer to signed int 
+?=?: a automatically generated function
+    with parameters
+      _dst: a pointer to instance of type U 
+      _src: a instance of type U 
+    returning 
+      instance of type U 
+    with body 
+      
+        Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?=?: a forall
+          DT: a incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type DT 
+          pointer to instance of type DT 
+        returning 
+          pointer to instance of type DT 
+
+  to arguments
+          Cast of:
+        Variable Expression: _dst: a pointer to instance of type U 
+
+      to:
+        pointer to pointer to signed int 
+
+          Cast of:
+        Variable Expression: _src: a instance of type U 
+
+      to:
+        pointer to signed int 
+
+
+to:
+  instance of type U 
+with environment:
+  Types:
+    _0_DT -> signed int 
+  Non-types:
+
+
+
+x: a function
+    with parameters
+      u: a instance of type U 
+    returning 
+      instance of type U 
+    with body 
+      Declaration of u_instance: a instance of type U with initializer 
+        Simple Initializer:           Name: u
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?++: a function
+                with parameters
+                  pointer to signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Application of
+                  Variable Expression: *?: a forall
+                        T: a type
+                          with assertions
+                            ?=?: a pointer to function
+                                with parameters
+                                  pointer to instance of type T 
+                                  instance of type T 
+                                returning 
+                                  instance of type T 
+
+
+                      function
+                      with parameters
+                        pointer to instance of type T 
+                      returning 
+                        lvalue instance of type T 
+
+                to arguments
+                                      Cast of:
+                      Variable Expression: u: a instance of type U 
+
+                    to:
+                      pointer to signed int 
+
+                with inferred parameters:
+                  ?=?: a function
+                    with parameters
+                      pointer to signed int 
+                      signed int 
+                    returning 
+                      signed int 
+
+
+          with environment:
+            Types:
+              _0_T -> signed int 
+            Non-types:
+
+      
+        Return Statement, returning: Cast of:
+  Variable Expression: u: a instance of type U 
+
+to:
+  instance of type U 
+with environment:
+  Types:
+  Non-types:
+
+
+
+break_abstraction: a function
+    with parameters
+      u: a instance of type U 
+    returning 
+      pointer to signed int 
+    with body 
+      
+        Return Statement, returning: Cast of:
+  Variable Expression: u: a instance of type U 
+
+to:
+  pointer to signed int 
+with environment:
+  Types:
+  Non-types:
+
+
+
Index: src/Tests/ResolvExpr/Expected/Attributes.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Attributes.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Attributes.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,70 @@
+@voon: a signed int 
+@voon: a double 
+@bort: a function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+@bort: a function
+    with parameters
+      double 
+    returning 
+      signed int 
+
+g: a function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+f: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of x: a float 
+      Declaration of x: a double 
+      
+        Expression Statement:
+          Attr             Variable Expression: @bort: a function
+                with parameters
+                  double 
+                returning 
+                  signed int 
+
+applied to: lvalue double 
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Attr             Variable Expression: @bort: a function
+                with parameters
+                  signed int 
+                returning 
+                  signed int 
+
+applied to: signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: g: a function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Variable Expression: @voon: a signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/Cast.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Cast.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Cast.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,78 @@
+f: a char 
+f: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of f: a char 
+      Declaration of f: a double 
+      
+        Expression Statement:
+          Cast of:
+            Variable Expression: f: a char 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      Declaration of f: a short signed int 
+      
+        Expression Statement:
+          Cast of:
+            Variable Expression: f: a short signed int 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Cast of:
+            Variable Expression: f: a function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+          to:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Cast of:
+            Tuple:
+                              Variable Expression: f: a short signed int 
+
+                              Variable Expression: f: a double 
+
+                              Variable Expression: f: a function
+                      accepting unspecified arguments
+                    returning 
+                      nothing 
+
+
+
+          to:
+            long signed int 
+            long double 
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+          with environment:
+            Types:
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/CastError.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/CastError.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/CastError.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,94 @@
+Error: Can't choose between alternatives for expression Cast of:
+  Name: f
+
+to:
+  char 
+Alternatives are:        Cost ( 1, 0, 0 ):         Cast of:
+          Variable Expression: f: a signed int 
+
+        to:
+          char 
+(types:
+            char 
+)
+        Environment: 
+
+        Cost ( 1, 0, 0 ):         Cast of:
+          Variable Expression: f: a double 
+
+        to:
+          char 
+(types:
+            char 
+)
+        Environment: 
+
+
+Error: Can't choose between alternatives for expression Cast of:
+  Name: f
+
+to:
+  pointer to function
+        accepting unspecified arguments
+      returning 
+        signed int 
+
+Alternatives are:        Cost ( 1, 0, 0 ):         Cast of:
+          Variable Expression: f: a function
+                accepting unspecified arguments
+              returning 
+                nothing 
+
+
+        to:
+          pointer to function
+                accepting unspecified arguments
+              returning 
+                signed int 
+
+(types:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  signed int 
+
+)
+        Environment: 
+
+        Cost ( 1, 0, 0 ):         Cast of:
+          Variable Expression: f: a signed int 
+
+        to:
+          pointer to function
+                accepting unspecified arguments
+              returning 
+                signed int 
+
+(types:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  signed int 
+
+)
+        Environment: 
+
+        Cost ( 1, 0, 0 ):         Cast of:
+          Variable Expression: f: a double 
+
+        to:
+          pointer to function
+                accepting unspecified arguments
+              returning 
+                signed int 
+
+(types:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  signed int 
+
+)
+        Environment: 
+
+
Index: src/Tests/ResolvExpr/Expected/Forall.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Forall.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Forall.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,495 @@
+?=?: a function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+?=?: a function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+?=?: a function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+?=?: a function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+?=?: a function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+?=?: a function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+g1: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of f: a forall
+            T: a type
+              with assertions
+                ?=?: a pointer to function
+                    with parameters
+                      pointer to instance of type T 
+                      instance of type T 
+                    returning 
+                      instance of type T 
+
+
+          function
+          with parameters
+            instance of type T 
+          returning 
+            instance of type T 
+
+      Declaration of f: a function
+          with parameters
+            signed int 
+          returning 
+            nothing 
+
+      Declaration of h: a function
+          with parameters
+            p: a pointer to function
+                returning 
+                  nothing 
+
+          returning 
+            nothing 
+
+      Declaration of x: a signed int 
+      Declaration of y: a pointer to function
+          returning 
+            nothing 
+
+      Declaration of z: a char 
+      Declaration of w: a float 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: f: a function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Variable Expression: x: a signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: f: a forall
+                  T: a type
+                    with assertions
+                      ?=?: a pointer to function
+                          with parameters
+                            pointer to instance of type T 
+                            instance of type T 
+                          returning 
+                            instance of type T 
+
+
+                function
+                with parameters
+                  instance of type T 
+                returning 
+                  instance of type T 
+
+          to arguments
+                          Variable Expression: y: a pointer to function
+                  returning 
+                    nothing 
+
+
+          with inferred parameters:
+            ?=?: a function
+              with parameters
+                pointer to pointer to function
+                    returning 
+                      nothing 
+
+                pointer to function
+                    returning 
+                      nothing 
+
+              returning 
+                pointer to function
+                    returning 
+                      nothing 
+
+
+          with environment:
+            Types:
+              _0_T -> pointer to function
+                  returning 
+                    nothing 
+
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: f: a function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Cast of:
+                Variable Expression: z: a char 
+
+              to:
+                signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: f: a forall
+                  T: a type
+                    with assertions
+                      ?=?: a pointer to function
+                          with parameters
+                            pointer to instance of type T 
+                            instance of type T 
+                          returning 
+                            instance of type T 
+
+
+                function
+                with parameters
+                  instance of type T 
+                returning 
+                  instance of type T 
+
+          to arguments
+                          Variable Expression: w: a float 
+
+          with inferred parameters:
+            ?=?: a function
+              with parameters
+                pointer to float 
+                float 
+              returning 
+                float 
+
+          with environment:
+            Types:
+              _0_T -> float 
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: h: a function
+                with parameters
+                  p: a pointer to function
+                      returning 
+                        nothing 
+
+                returning 
+                  nothing 
+
+          to arguments
+                          Application of
+                Variable Expression: f: a forall
+                      T: a type
+                        with assertions
+                          ?=?: a pointer to function
+                              with parameters
+                                pointer to instance of type T 
+                                instance of type T 
+                              returning 
+                                instance of type T 
+
+
+                    function
+                    with parameters
+                      instance of type T 
+                    returning 
+                      instance of type T 
+
+              to arguments
+                                  Variable Expression: y: a pointer to function
+                      returning 
+                        nothing 
+
+
+              with inferred parameters:
+                ?=?: a function
+                  with parameters
+                    pointer to pointer to function
+                        returning 
+                          nothing 
+
+                    pointer to function
+                        returning 
+                          nothing 
+
+                  returning 
+                    pointer to function
+                        returning 
+                          nothing 
+
+
+
+          with environment:
+            Types:
+              _0_T -> pointer to function
+                  returning 
+                    nothing 
+
+            Non-types:
+
+
+g2: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of f: a forall
+            T: a type
+              with assertions
+                ?=?: a pointer to function
+                    with parameters
+                      pointer to instance of type T 
+                      instance of type T 
+                    returning 
+                      instance of type T 
+
+
+          function
+          with parameters
+            instance of type T 
+            instance of type T 
+          returning 
+            nothing 
+
+      Declaration of f: a forall
+            T: a type
+              with assertions
+                ?=?: a pointer to function
+                    with parameters
+                      pointer to instance of type T 
+                      instance of type T 
+                    returning 
+                      instance of type T 
+
+
+            U: a type
+              with assertions
+                ?=?: a pointer to function
+                    with parameters
+                      pointer to instance of type U 
+                      instance of type U 
+                    returning 
+                      instance of type U 
+
+
+          function
+          with parameters
+            instance of type T 
+            instance of type U 
+          returning 
+            nothing 
+
+      Declaration of x: a signed int 
+      Declaration of y: a float 
+      Declaration of z: a pointer to signed int 
+      Declaration of w: a pointer to float 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: f: a forall
+                  T: a type
+                    with assertions
+                      ?=?: a pointer to function
+                          with parameters
+                            pointer to instance of type T 
+                            instance of type T 
+                          returning 
+                            instance of type T 
+
+
+                function
+                with parameters
+                  instance of type T 
+                  instance of type T 
+                returning 
+                  nothing 
+
+          to arguments
+                          Cast of:
+                Variable Expression: x: a signed int 
+
+              to:
+                float 
+
+                          Variable Expression: y: a float 
+
+          with inferred parameters:
+            ?=?: a function
+              with parameters
+                pointer to float 
+                float 
+              returning 
+                float 
+
+          with environment:
+            Types:
+              _0_T -> float 
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: f: a forall
+                  T: a type
+                    with assertions
+                      ?=?: a pointer to function
+                          with parameters
+                            pointer to instance of type T 
+                            instance of type T 
+                          returning 
+                            instance of type T 
+
+
+                  U: a type
+                    with assertions
+                      ?=?: a pointer to function
+                          with parameters
+                            pointer to instance of type U 
+                            instance of type U 
+                          returning 
+                            instance of type U 
+
+
+                function
+                with parameters
+                  instance of type T 
+                  instance of type U 
+                returning 
+                  nothing 
+
+          to arguments
+                          Variable Expression: z: a pointer to signed int 
+
+                          Variable Expression: w: a pointer to float 
+
+          with inferred parameters:
+            ?=?: a function
+              with parameters
+                pointer to pointer to signed int 
+                pointer to signed int 
+              returning 
+                pointer to signed int 
+
+            ?=?: a function
+              with parameters
+                pointer to pointer to float 
+                pointer to float 
+              returning 
+                pointer to float 
+
+          with environment:
+            Types:
+              _1_T -> pointer to signed int 
+              _2_U -> pointer to float 
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: f: a forall
+                  T: a type
+                    with assertions
+                      ?=?: a pointer to function
+                          with parameters
+                            pointer to instance of type T 
+                            instance of type T 
+                          returning 
+                            instance of type T 
+
+
+                  U: a type
+                    with assertions
+                      ?=?: a pointer to function
+                          with parameters
+                            pointer to instance of type U 
+                            instance of type U 
+                          returning 
+                            instance of type U 
+
+
+                function
+                with parameters
+                  instance of type T 
+                  instance of type U 
+                returning 
+                  nothing 
+
+          to arguments
+                          Variable Expression: x: a signed int 
+
+                          Variable Expression: z: a pointer to signed int 
+
+          with inferred parameters:
+            ?=?: a function
+              with parameters
+                pointer to signed int 
+                signed int 
+              returning 
+                signed int 
+
+            ?=?: a function
+              with parameters
+                pointer to pointer to signed int 
+                pointer to signed int 
+              returning 
+                pointer to signed int 
+
+          with environment:
+            Types:
+              _1_T -> signed int 
+              _2_U -> pointer to signed int 
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/Function.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Function.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Function.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,249 @@
+a: a signed int 
+a: a float 
+f: a function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f: a function
+    with parameters
+      float 
+    returning 
+      float 
+
+g: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: f: a function
+                with parameters
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Cast of:
+                Variable Expression: a: a signed int 
+
+              to:
+                signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Cast of:
+            Application of
+              Variable Expression: f: a function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+            to arguments
+                              Variable Expression: a: a signed int 
+
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+
+p: a tuple of types
+    signed int 
+
+p: a tuple of types
+    signed int 
+    double 
+
+p: a tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+p: a tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+q: a tuple of types
+    char 
+
+q: a tuple of types
+    signed int 
+    signed int 
+
+q: a tuple of types
+    signed int 
+    signed int 
+    float 
+
+q: a tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+r: a function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+s: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: r: a function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+          to arguments
+                          Variable Expression: p: a tuple of types
+                  signed int 
+                  signed int 
+                  signed int 
+
+
+                          Cast of:
+                Variable Expression: q: a tuple of types
+                    char 
+
+
+              to:
+                signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: r: a function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+          to arguments
+                          Cast of:
+                Tuple:
+                                      Variable Expression: q: a tuple of types
+                        char 
+
+
+                                      Variable Expression: p: a tuple of types
+                        signed int 
+                        signed int 
+                        signed int 
+
+
+
+              to:
+                signed int 
+                signed int 
+                signed int 
+                signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: r: a function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+          to arguments
+                          Application of
+                Variable Expression: r: a function
+                    with parameters
+                      signed int 
+                      signed int 
+                      signed int 
+                      signed int 
+                    returning 
+                      signed int 
+                      signed int 
+
+              to arguments
+                                  Variable Expression: p: a tuple of types
+                      signed int 
+                      signed int 
+                      signed int 
+
+
+                                  Cast of:
+                    Variable Expression: q: a tuple of types
+                        char 
+
+
+                  to:
+                    signed int 
+
+
+                          Application of
+                Variable Expression: r: a function
+                    with parameters
+                      signed int 
+                      signed int 
+                      signed int 
+                      signed int 
+                    returning 
+                      signed int 
+                      signed int 
+
+              to arguments
+                                  Variable Expression: q: a tuple of types
+                      signed int 
+                      signed int 
+
+
+                                  Variable Expression: q: a tuple of types
+                      signed int 
+                      signed int 
+
+
+
+          with environment:
+            Types:
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/InferParam.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/InferParam.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/InferParam.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,317 @@
+?=?: a function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+?=?: a function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+?=?: a function
+    with parameters
+      pointer to double 
+      double 
+    returning 
+      double 
+
+g: a forall
+      T: a type
+        with assertions
+          ?=?: a pointer to function
+              with parameters
+                pointer to instance of type T 
+                instance of type T 
+              returning 
+                instance of type T 
+
+
+      U: a type
+        with assertions
+          ?=?: a pointer to function
+              with parameters
+                pointer to instance of type U 
+                instance of type U 
+              returning 
+                instance of type U 
+
+          f: a pointer to function
+              with parameters
+                instance of type T 
+              returning 
+                instance of type U 
+
+
+    function
+    with parameters
+      instance of type T 
+    returning 
+      instance of type U 
+
+f: a function
+    with parameters
+      signed int 
+    returning 
+      float 
+
+f: a function
+    with parameters
+      signed int 
+    returning 
+      double 
+
+i: a function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+h: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of a: a signed int 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: i: a function
+                with parameters
+                  float 
+                returning 
+                  nothing 
+
+          to arguments
+                          Application of
+                Variable Expression: g: a forall
+                      T: a type
+                        with assertions
+                          ?=?: a pointer to function
+                              with parameters
+                                pointer to instance of type T 
+                                instance of type T 
+                              returning 
+                                instance of type T 
+
+
+                      U: a type
+                        with assertions
+                          ?=?: a pointer to function
+                              with parameters
+                                pointer to instance of type U 
+                                instance of type U 
+                              returning 
+                                instance of type U 
+
+                          f: a pointer to function
+                              with parameters
+                                instance of type T 
+                              returning 
+                                instance of type U 
+
+
+                    function
+                    with parameters
+                      instance of type T 
+                    returning 
+                      instance of type U 
+
+              to arguments
+                                  Variable Expression: a: a signed int 
+
+              with inferred parameters:
+                ?=?: a function
+                  with parameters
+                    pointer to signed int 
+                    signed int 
+                  returning 
+                    signed int 
+
+                ?=?: a function
+                  with parameters
+                    pointer to float 
+                    float 
+                  returning 
+                    float 
+
+                f: a function
+                  with parameters
+                    signed int 
+                  returning 
+                    float 
+
+
+          with environment:
+            Types:
+              _0_T -> signed int 
+              _1_U -> float 
+            Non-types:
+
+
+context has_f_and_j
+    with parameters
+      T: a type
+      U: a type
+
+    with members
+      f: a function
+          with parameters
+            instance of type T 
+          returning 
+            instance of type U 
+
+      j: a function
+          with parameters
+            instance of type T 
+            instance of type U 
+          returning 
+            instance of type U 
+
+
+j: a function
+    with parameters
+      signed int 
+      float 
+    returning 
+      float 
+
+k: a forall
+      T: a type
+        with assertions
+          ?=?: a pointer to function
+              with parameters
+                pointer to instance of type T 
+                instance of type T 
+              returning 
+                instance of type T 
+
+
+      U: a type
+        with assertions
+          ?=?: a pointer to function
+              with parameters
+                pointer to instance of type U 
+                instance of type U 
+              returning 
+                instance of type U 
+
+          f: a pointer to function
+              with parameters
+                instance of type T 
+              returning 
+                instance of type U 
+
+          j: a pointer to function
+              with parameters
+                instance of type T 
+                instance of type U 
+              returning 
+                instance of type U 
+
+
+    function
+    with parameters
+      instance of type T 
+    returning 
+      instance of type U 
+
+l: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of b: a signed int 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: i: a function
+                with parameters
+                  float 
+                returning 
+                  nothing 
+
+          to arguments
+                          Application of
+                Variable Expression: k: a forall
+                      T: a type
+                        with assertions
+                          ?=?: a pointer to function
+                              with parameters
+                                pointer to instance of type T 
+                                instance of type T 
+                              returning 
+                                instance of type T 
+
+
+                      U: a type
+                        with assertions
+                          ?=?: a pointer to function
+                              with parameters
+                                pointer to instance of type U 
+                                instance of type U 
+                              returning 
+                                instance of type U 
+
+                          f: a pointer to function
+                              with parameters
+                                instance of type T 
+                              returning 
+                                instance of type U 
+
+                          j: a pointer to function
+                              with parameters
+                                instance of type T 
+                                instance of type U 
+                              returning 
+                                instance of type U 
+
+
+                    function
+                    with parameters
+                      instance of type T 
+                    returning 
+                      instance of type U 
+
+              to arguments
+                                  Variable Expression: b: a signed int 
+
+              with inferred parameters:
+                ?=?: a function
+                  with parameters
+                    pointer to signed int 
+                    signed int 
+                  returning 
+                    signed int 
+
+                ?=?: a function
+                  with parameters
+                    pointer to float 
+                    float 
+                  returning 
+                    float 
+
+                f: a function
+                  with parameters
+                    signed int 
+                  returning 
+                    float 
+
+                j: a function
+                  with parameters
+                    signed int 
+                    float 
+                  returning 
+                    float 
+
+
+          with environment:
+            Types:
+              _0_T -> signed int 
+              _1_U -> float 
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/Members.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Members.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Members.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,666 @@
+?=?: a function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+?=?: a function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+?=?: a function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+?=?: a forall
+      DT: a incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT 
+      pointer to instance of type DT 
+    returning 
+      pointer to instance of type DT 
+
+*?: a forall
+      T: a type
+        with assertions
+          ?=?: a pointer to function
+              with parameters
+                pointer to instance of type T 
+                instance of type T 
+              returning 
+                instance of type T 
+
+
+    function
+    with parameters
+      pointer to instance of type T 
+    returning 
+      lvalue instance of type T 
+
+__builtin_memcpy: a function
+      accepting unspecified arguments
+    returning 
+      pointer to char 
+
+a: a function
+    with parameters
+      char 
+    returning 
+      nothing 
+
+b: a function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+c: a function
+    with parameters
+      pointer to signed int 
+    returning 
+      nothing 
+
+d: a function
+    with parameters
+      pointer to float 
+    returning 
+      nothing 
+
+struct a_struct
+    with members
+      a: a signed int 
+      a: a char 
+      a: a float 
+
+?=?: a automatically generated inline static function
+    with parameters
+      _dst: a pointer to instance of struct a_struct 
+      _src: a instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?=?: a function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: a signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+
+                  ...to: 
+                      Variable Expression: _dst: a pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: a signed int 
+              from aggregate: 
+                Variable Expression: _src: a instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?=?: a function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: a char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+
+                  ...to: 
+                      Variable Expression: _dst: a pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: a char 
+              from aggregate: 
+                Variable Expression: _src: a instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?=?: a function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: a float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+
+                  ...to: 
+                      Variable Expression: _dst: a pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: a float 
+              from aggregate: 
+                Variable Expression: _src: a instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Return Statement, returning: Cast of:
+  Variable Expression: _src: a instance of struct a_struct 
+
+to:
+  instance of struct a_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+union b_struct
+    with members
+      a: a pointer to signed int 
+      a: a pointer to char 
+      a: a pointer to float 
+
+?=?: a automatically generated inline static function
+    with parameters
+      _dst: a pointer to instance of union b_struct 
+      _src: a instance of union b_struct 
+    returning 
+      instance of union b_struct 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: __builtin_memcpy: a function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+          to arguments
+                          Variable Expression: _dst: a pointer to instance of union b_struct 
+
+                          Address of:
+                Variable Expression: _src: a instance of union b_struct 
+
+                          Sizeof Expression on: instance of union b_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Return Statement, returning: Cast of:
+  Variable Expression: _src: a instance of union b_struct 
+
+to:
+  instance of union b_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+f: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of the_struct: a instance of struct a_struct 
+      Declaration of the_struct: a instance of union b_struct 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: a: a function
+                with parameters
+                  char 
+                returning 
+                  nothing 
+
+          to arguments
+                          Member Expression, with field: 
+                a: a char 
+              from aggregate: 
+                Variable Expression: the_struct: a instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: b: a function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Member Expression, with field: 
+                a: a signed int 
+              from aggregate: 
+                Variable Expression: the_struct: a instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: c: a function
+                with parameters
+                  pointer to signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Member Expression, with field: 
+                a: a pointer to signed int 
+              from aggregate: 
+                Variable Expression: the_struct: a instance of union b_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: d: a function
+                with parameters
+                  pointer to float 
+                returning 
+                  nothing 
+
+          to arguments
+                          Member Expression, with field: 
+                a: a pointer to float 
+              from aggregate: 
+                Variable Expression: the_struct: a instance of union b_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+
+struct c_struct
+    with members
+      signed int 
+      char 
+      float 
+
+?=?: a automatically generated inline static function
+    with parameters
+      _dst: a pointer to instance of struct c_struct 
+      _src: a instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?=?: a function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+
+                  ...to: 
+                      Variable Expression: _dst: a pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: a instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?=?: a function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+
+                  ...to: 
+                      Variable Expression: _dst: a pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                char 
+              from aggregate: 
+                Variable Expression: _src: a instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?=?: a function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+
+                  ...to: 
+                      Variable Expression: _dst: a pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                float 
+              from aggregate: 
+                Variable Expression: _src: a instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Return Statement, returning: Cast of:
+  Variable Expression: _src: a instance of struct c_struct 
+
+to:
+  instance of struct c_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+union d_struct
+    with members
+      pointer to signed int 
+      pointer to char 
+      pointer to float 
+
+?=?: a automatically generated inline static function
+    with parameters
+      _dst: a pointer to instance of union d_struct 
+      _src: a instance of union d_struct 
+    returning 
+      instance of union d_struct 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: __builtin_memcpy: a function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+          to arguments
+                          Variable Expression: _dst: a pointer to instance of union d_struct 
+
+                          Address of:
+                Variable Expression: _src: a instance of union d_struct 
+
+                          Sizeof Expression on: instance of union d_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Return Statement, returning: Cast of:
+  Variable Expression: _src: a instance of union d_struct 
+
+to:
+  instance of union d_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+g: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of x: a short unsigned int 
+      Declaration of x: a instance of struct c_struct 
+      Declaration of x: a instance of union d_struct 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: a: a function
+                with parameters
+                  char 
+                returning 
+                  nothing 
+
+          to arguments
+                          Cast of:
+                Variable Expression: x: a short unsigned int 
+
+              to:
+                char 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: b: a function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Cast of:
+                Variable Expression: x: a short unsigned int 
+
+              to:
+                signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: c: a function
+                with parameters
+                  pointer to signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: x: a instance of union d_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: d: a function
+                with parameters
+                  pointer to float 
+                returning 
+                  nothing 
+
+          to arguments
+                          Member Expression, with field: 
+                pointer to float 
+              from aggregate: 
+                Variable Expression: x: a instance of union d_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+
+struct forward
+q: a pointer to instance of struct forward 
+struct forward
+    with members
+      y: a signed int 
+
+?=?: a automatically generated inline static function
+    with parameters
+      _dst: a pointer to instance of struct forward 
+      _src: a instance of struct forward 
+    returning 
+      instance of struct forward 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?=?: a function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: a signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+
+                  ...to: 
+                      Variable Expression: _dst: a pointer to instance of struct forward 
+
+                          Member Expression, with field: 
+                y: a signed int 
+              from aggregate: 
+                Variable Expression: _src: a instance of struct forward 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Return Statement, returning: Cast of:
+  Variable Expression: _src: a instance of struct forward 
+
+to:
+  instance of struct forward 
+with environment:
+  Types:
+  Non-types:
+
+
+
+h: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      
+        Expression Statement:
+          Member Expression, with field: 
+            y: a signed int 
+          from aggregate: 
+            Application of
+              Variable Expression: *?: a forall
+                    T: a type
+                      with assertions
+                        ?=?: a pointer to function
+                            with parameters
+                              pointer to instance of type T 
+                              instance of type T 
+                            returning 
+                              instance of type T 
+
+
+                  function
+                  with parameters
+                    pointer to instance of type T 
+                  returning 
+                    lvalue instance of type T 
+
+            to arguments
+                              Variable Expression: q: a pointer to instance of struct forward 
+
+            with inferred parameters:
+              ?=?: a inline static function
+                with parameters
+                  _dst: a pointer to instance of struct forward 
+                  _src: a instance of struct forward 
+                returning 
+                  instance of struct forward 
+
+          with environment:
+            Types:
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/Misc.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Misc.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Misc.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,94 @@
+a: a signed int 
+b: a signed int 
+b: a float 
+g: a function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+g: a function
+    with parameters
+      unsigned int 
+    returning 
+      nothing 
+
+f: a function
+    returning 
+      nothing 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: g: a function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Comma Expression:
+                Variable Expression: a: a signed int 
+
+                Variable Expression: b: a signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: g: a function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Comma Expression:
+                Comma Expression:
+                  Variable Expression: a: a signed int 
+
+                  Variable Expression: a: a signed int 
+
+                Variable Expression: b: a signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: g: a function
+                with parameters
+                  unsigned int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Sizeof Expression on:                 Variable Expression: a: a signed int 
+
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: g: a function
+                with parameters
+                  unsigned int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Sizeof Expression on: signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/MiscError.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/MiscError.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/MiscError.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,83 @@
+Error: Can't choose between alternatives for expression Cast of:
+  Name: b
+
+to:
+  nothing
+Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
+          Variable Expression: b: a signed int 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+        Cost ( 0, 0, 1 ):         Cast of:
+          Variable Expression: b: a float 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+
+Error: Can't choose between alternatives for expression Cast of:
+  Name: b
+
+to:
+  nothing
+Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
+          Variable Expression: b: a signed int 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+        Cost ( 0, 0, 1 ):         Cast of:
+          Variable Expression: b: a float 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+
+Error: Can't choose between alternatives for expression Cast of:
+  Comma Expression:
+    Name: a
+
+    Name: b
+
+to:
+  nothing
+Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
+          Comma Expression:
+            Variable Expression: a: a signed int 
+
+            Variable Expression: b: a signed int 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+        Cost ( 0, 0, 1 ):         Cast of:
+          Comma Expression:
+            Variable Expression: a: a signed int 
+
+            Variable Expression: b: a float 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+
+Error: Ambiguous expression in sizeof operand: Name: b
+
Index: src/Tests/ResolvExpr/Expected/OccursError.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/OccursError.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/OccursError.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,6 @@
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: f
+
+...to: 
+    Name: g
+
Index: src/Tests/ResolvExpr/Expected/Operators.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Operators.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Operators.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,224 @@
+?*?: a function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+?(): a function
+    with parameters
+      number1: a signed int 
+      number2: a signed int 
+    returning 
+      signed int 
+    with body 
+      
+        Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?*?: a function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: number1: a signed int 
+
+          Variable Expression: number2: a signed int 
+
+
+to:
+  signed int 
+with environment:
+  Types:
+  Non-types:
+
+
+
+?+?: a function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+?=?: a function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+struct accumulator
+    with members
+      total: a signed int 
+
+?=?: a automatically generated inline static function
+    with parameters
+      _dst: a pointer to instance of struct accumulator 
+      _src: a instance of struct accumulator 
+    returning 
+      instance of struct accumulator 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?=?: a function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  total: a signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+
+                  ...to: 
+                      Variable Expression: _dst: a pointer to instance of struct accumulator 
+
+                          Member Expression, with field: 
+                total: a signed int 
+              from aggregate: 
+                Variable Expression: _src: a instance of struct accumulator 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Return Statement, returning: Cast of:
+  Variable Expression: _src: a instance of struct accumulator 
+
+to:
+  instance of struct accumulator 
+with environment:
+  Types:
+  Non-types:
+
+
+
+?(): a function
+    with parameters
+      a: a instance of struct accumulator 
+      number1: a char 
+      number2: a char 
+    returning 
+      char 
+
+f: a function
+    returning 
+      nothing 
+    with body 
+      Declaration of a: a char 
+      Declaration of b: a char 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?(): a function
+                with parameters
+                  number1: a signed int 
+                  number2: a signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Cast of:
+                Variable Expression: a: a char 
+
+              to:
+                signed int 
+
+                          Cast of:
+                Variable Expression: b: a char 
+
+              to:
+                signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?(): a function
+                with parameters
+                  number1: a signed int 
+                  number2: a signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Cast of:
+                Variable Expression: a: a char 
+
+              to:
+                signed int 
+
+                          Cast of:
+                Variable Expression: b: a char 
+
+              to:
+                signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?+?: a function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Cast of:
+                Variable Expression: a: a char 
+
+              to:
+                signed int 
+
+                          Cast of:
+                Variable Expression: b: a char 
+
+              to:
+                signed int 
+
+          with environment:
+            Types:
+            Non-types:
+
+      Declaration of ?+?: a instance of struct accumulator 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: ?(): a function
+                with parameters
+                  a: a instance of struct accumulator 
+                  number1: a char 
+                  number2: a char 
+                returning 
+                  char 
+
+          to arguments
+                          Variable Expression: ?+?: a instance of struct accumulator 
+
+                          Variable Expression: a: a char 
+
+                          Variable Expression: b: a char 
+
+          with environment:
+            Types:
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/Quad.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Quad.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Quad.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,201 @@
+?=?: a function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+?*?: a function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+square: a forall
+      T: a type
+        with assertions
+          ?=?: a pointer to function
+              with parameters
+                pointer to instance of type T 
+                instance of type T 
+              returning 
+                instance of type T 
+
+          ?*?: a pointer to function
+              with parameters
+                instance of type T 
+                instance of type T 
+              returning 
+                instance of type T 
+
+
+    function
+    with parameters
+      t: a instance of type T 
+    returning 
+      instance of type T 
+    with body 
+      
+        Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?*?: a pointer to function
+        with parameters
+          instance of type T 
+          instance of type T 
+        returning 
+          instance of type T 
+
+  to arguments
+          Variable Expression: t: a instance of type T 
+
+          Variable Expression: t: a instance of type T 
+
+
+to:
+  instance of type T 
+with environment:
+  Types:
+  Non-types:
+
+
+
+quad: a forall
+      U: a type
+        with assertions
+          ?=?: a pointer to function
+              with parameters
+                pointer to instance of type U 
+                instance of type U 
+              returning 
+                instance of type U 
+
+          square: a pointer to function
+              with parameters
+                instance of type U 
+              returning 
+                instance of type U 
+
+
+    function
+    with parameters
+      u: a instance of type U 
+    returning 
+      instance of type U 
+    with body 
+      
+        Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: square: a pointer to function
+        with parameters
+          instance of type U 
+        returning 
+          instance of type U 
+
+  to arguments
+          Application of
+        Variable Expression: square: a pointer to function
+            with parameters
+              instance of type U 
+            returning 
+              instance of type U 
+
+      to arguments
+                  Variable Expression: u: a instance of type U 
+
+
+
+to:
+  instance of type U 
+with environment:
+  Types:
+  Non-types:
+
+
+
+f: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: quad: a forall
+                  U: a type
+                    with assertions
+                      ?=?: a pointer to function
+                          with parameters
+                            pointer to instance of type U 
+                            instance of type U 
+                          returning 
+                            instance of type U 
+
+                      square: a pointer to function
+                          with parameters
+                            instance of type U 
+                          returning 
+                            instance of type U 
+
+
+                function
+                with parameters
+                  u: a instance of type U 
+                returning 
+                  instance of type U 
+
+          to arguments
+                          Constant Expression: 7 (type: signed int )
+          with inferred parameters:
+            ?=?: a function
+              with parameters
+                pointer to signed int 
+                signed int 
+              returning 
+                signed int 
+
+            ?*?: a function
+              with parameters
+                signed int 
+                signed int 
+              returning 
+                signed int 
+
+            ?=?: a function
+              with parameters
+                pointer to signed int 
+                signed int 
+              returning 
+                signed int 
+
+            square: a forall
+                T: a type
+                  with assertions
+                    ?=?: a pointer to function
+                        with parameters
+                          pointer to instance of type T 
+                          instance of type T 
+                        returning 
+                          instance of type T 
+
+                    ?*?: a pointer to function
+                        with parameters
+                          instance of type T 
+                          instance of type T 
+                        returning 
+                          instance of type T 
+
+
+              function
+              with parameters
+                t: a instance of type T 
+              returning 
+                instance of type T 
+
+          with environment:
+            Types:
+              _0_U -> signed int 
+              _1_T -> signed int 
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/Rank2.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Rank2.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Rank2.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,272 @@
+?=?: a function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+?=?: a forall
+      DT: a incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT 
+      pointer to instance of type DT 
+    returning 
+      pointer to instance of type DT 
+
+a: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of f: a forall
+            T: a type
+              with assertions
+                ?=?: a pointer to function
+                    with parameters
+                      pointer to instance of type T 
+                      instance of type T 
+                    returning 
+                      instance of type T 
+
+
+          function
+          with parameters
+            instance of type T 
+          returning 
+            nothing 
+
+      Declaration of g: a function
+          with parameters
+            p: a pointer to forall
+                  U: a type
+                    with assertions
+                      ?=?: a pointer to function
+                          with parameters
+                            pointer to instance of type U 
+                            instance of type U 
+                          returning 
+                            instance of type U 
+
+
+                function
+                with parameters
+                  instance of type U 
+                returning 
+                  nothing 
+
+          returning 
+            nothing 
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: g: a function
+                with parameters
+                  p: a pointer to forall
+                        U: a type
+                          with assertions
+                            ?=?: a pointer to function
+                                with parameters
+                                  pointer to instance of type U 
+                                  instance of type U 
+                                returning 
+                                  instance of type U 
+
+
+                      function
+                      with parameters
+                        instance of type U 
+                      returning 
+                        nothing 
+
+                returning 
+                  nothing 
+
+          to arguments
+                          Variable Expression: f: a forall
+                    T: a type
+                      with assertions
+                        ?=?: a pointer to function
+                            with parameters
+                              pointer to instance of type T 
+                              instance of type T 
+                            returning 
+                              instance of type T 
+
+
+                  function
+                  with parameters
+                    instance of type T 
+                  returning 
+                    nothing 
+
+
+          with inferred parameters:
+            ?=?: a pointer to function
+              with parameters
+                pointer to instance of type U 
+                instance of type U 
+              returning 
+                instance of type U 
+
+          with environment:
+            Types:
+              _1_T -> instance of type _0_U 
+            Non-types:
+
+
+g: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of h: a function
+          with parameters
+            null: a pointer to signed int 
+          returning 
+            nothing 
+
+      Declaration of id: a forall
+            T: a type
+              with assertions
+                ?=?: a pointer to function
+                    with parameters
+                      pointer to instance of type T 
+                      instance of type T 
+                    returning 
+                      instance of type T 
+
+
+          function
+          with parameters
+            instance of type T 
+          returning 
+            instance of type T 
+
+      Declaration of 0: a forall
+            T: a incomplete type
+          pointer to instance of type T 
+      Declaration of 0: a signed int 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: h: a function
+                with parameters
+                  null: a pointer to signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Application of
+                Variable Expression: id: a forall
+                      T: a type
+                        with assertions
+                          ?=?: a pointer to function
+                              with parameters
+                                pointer to instance of type T 
+                                instance of type T 
+                              returning 
+                                instance of type T 
+
+
+                    function
+                    with parameters
+                      instance of type T 
+                    returning 
+                      instance of type T 
+
+              to arguments
+                                  Application of
+                    Variable Expression: id: a forall
+                          T: a type
+                            with assertions
+                              ?=?: a pointer to function
+                                  with parameters
+                                    pointer to instance of type T 
+                                    instance of type T 
+                                  returning 
+                                    instance of type T 
+
+
+                        function
+                        with parameters
+                          instance of type T 
+                        returning 
+                          instance of type T 
+
+                  to arguments
+                                          Application of
+                        Variable Expression: id: a forall
+                              T: a type
+                                with assertions
+                                  ?=?: a pointer to function
+                                      with parameters
+                                        pointer to instance of type T 
+                                        instance of type T 
+                                      returning 
+                                        instance of type T 
+
+
+                            function
+                            with parameters
+                              instance of type T 
+                            returning 
+                              instance of type T 
+
+                      to arguments
+                                                  Variable Expression: 0: a forall
+                                T: a incomplete type
+                              pointer to instance of type T 
+
+                      with inferred parameters:
+                        ?=?: a forall
+                            DT: a incomplete type
+                          function
+                          with parameters
+                            pointer to pointer to instance of type DT 
+                            pointer to instance of type DT 
+                          returning 
+                            pointer to instance of type DT 
+
+
+                  with inferred parameters:
+                    ?=?: a forall
+                        DT: a incomplete type
+                      function
+                      with parameters
+                        pointer to pointer to instance of type DT 
+                        pointer to instance of type DT 
+                      returning 
+                        pointer to instance of type DT 
+
+
+              with inferred parameters:
+                ?=?: a forall
+                    DT: a incomplete type
+                  function
+                  with parameters
+                    pointer to pointer to instance of type DT 
+                    pointer to instance of type DT 
+                  returning 
+                    pointer to instance of type DT 
+
+
+          with environment:
+            Types:
+              _0_T -> forall
+                    _3_T: a incomplete type
+                  pointer to instance of type _3_T 
+              _1_T -> forall
+                    _3_T: a incomplete type
+                  pointer to instance of type _3_T 
+              _2_T -> forall
+                    _3_T: a incomplete type
+                  pointer to instance of type _3_T 
+              _3_T -> signed int 
+              _5_DT -> signed int 
+              _7_DT -> signed int 
+              _9_DT -> signed int 
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/ShortCircuit.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/ShortCircuit.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/ShortCircuit.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,178 @@
+?!=?: a function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+?!=?: a function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+0: a signed int 
+g: a function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+g: a function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+f: a function
+    with parameters
+      a: a signed int 
+    returning 
+      nothing 
+    with body 
+      Declaration of b: a signed int 
+      Declaration of c: a float 
+      
+        Expression Statement:
+          Application of
+            Variable Expression: g: a function
+                with parameters
+                  float 
+                returning 
+                  nothing 
+
+          to arguments
+                          Conditional expression on: 
+                Cast of:
+                  Application of
+                    Variable Expression: ?!=?: a function
+                        with parameters
+                          signed int 
+                          signed int 
+                        returning 
+                          signed int 
+
+                  to arguments
+                                          Variable Expression: a: a signed int 
+
+                                          Variable Expression: 0: a signed int 
+
+
+                to:
+                  signed int 
+              First alternative:
+                Variable Expression: b: a signed int 
+              Second alternative:
+                Variable Expression: c: a float 
+
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: g: a function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: a function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: a signed int 
+
+          Variable Expression: 0: a signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: a function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: a float 
+
+          Cast of:
+        Variable Expression: 0: a signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+
+          with environment:
+            Types:
+            Non-types:
+
+      
+        Expression Statement:
+          Application of
+            Variable Expression: g: a function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+          to arguments
+                          Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: a function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: a signed int 
+
+          Variable Expression: 0: a signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: a function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: a signed int 
+
+          Variable Expression: 0: a signed int 
+
+
+to:
+  signed int 
+
+
+          with environment:
+            Types:
+            Non-types:
+
+
Index: src/Tests/ResolvExpr/Expected/Statement.tst
===================================================================
--- src/Tests/ResolvExpr/Expected/Statement.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Expected/Statement.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,170 @@
+?=?: a function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+?!=?: a function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+0: a signed int 
+f: a function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      Declaration of a: a signed int 
+      Declaration of struct __anonymous0
+          with members
+            b: a signed int 
+
+      Declaration of ?=?: a automatically generated inline static function
+          with parameters
+            _dst: a pointer to instance of struct __anonymous0 
+            _src: a instance of struct __anonymous0 
+          returning 
+            instance of struct __anonymous0 
+          with body 
+            
+              Expression Statement:
+                Application of
+                  Variable Expression: ?=?: a function
+                      with parameters
+                        pointer to signed int 
+                        signed int 
+                      returning 
+                        signed int 
+
+                to arguments
+                                      Address of:
+                      Member Expression, with field: 
+                        b: a signed int 
+                      from aggregate: 
+                        Applying untyped: 
+                            Name: *?
+
+                        ...to: 
+                            Variable Expression: _dst: a pointer to instance of struct __anonymous0 
+
+                                      Member Expression, with field: 
+                      b: a signed int 
+                    from aggregate: 
+                      Variable Expression: _src: a instance of struct __anonymous0 
+
+                with environment:
+                  Types:
+                  Non-types:
+
+            
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: a instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+      Declaration of a: a instance of struct __anonymous0 
+      
+        If on condition: 
+            Cast of:
+              Application of
+                Variable Expression: ?!=?: a function
+                    with parameters
+                      signed int 
+                      signed int 
+                    returning 
+                      signed int 
+
+              to arguments
+                                  Variable Expression: a: a signed int 
+
+                                  Variable Expression: 0: a signed int 
+
+
+            to:
+              signed int 
+            with environment:
+              Types:
+              Non-types:
+        .... and branches: 
+            
+              While on condition: 
+                  Cast of:
+                    Application of
+                      Variable Expression: ?!=?: a function
+                          with parameters
+                            signed int 
+                            signed int 
+                          returning 
+                            signed int 
+
+                    to arguments
+                                              Variable Expression: a: a signed int 
+
+                                              Variable Expression: 0: a signed int 
+
+
+                  to:
+                    signed int 
+                  with environment:
+                    Types:
+                    Non-types:
+              .... with body: 
+                  Declaration of b: a pointer to signed int 
+                  
+                    For Statement
+
+                      initialization: 
+
+                        Expression Statement:
+                          Variable Expression: b: a pointer to signed int 
+                          with environment:
+                            Types:
+                            Non-types:
+
+
+                      condition: 
+                        Cast of:
+                          Application of
+                            Variable Expression: ?!=?: a function
+                                with parameters
+                                  signed int 
+                                  signed int 
+                                returning 
+                                  signed int 
+
+                          to arguments
+                                                          Variable Expression: a: a signed int 
+
+                                                          Variable Expression: 0: a signed int 
+
+
+                        to:
+                          signed int 
+                        with environment:
+                          Types:
+                          Non-types:
+
+
+                      increment: 
+                        Variable Expression: b: a pointer to signed int 
+                        with environment:
+                          Types:
+                          Non-types:
+
+
+                      statement block: 
+
+
+
+
+
Index: src/Tests/ResolvExpr/Forall.c
===================================================================
--- src/Tests/ResolvExpr/Forall.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Forall.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,39 @@
+int ?=?( int*, int );
+float ?=?( float*, float );
+int * ?=?( int **, int * );
+float * ?=?( float **, float * );
+char ?=?( char*, char );
+void (* ?=?( void (**)(void), void (*)(void) ))(void);
+
+void g1()
+{
+  forall( type T ) T f( T );
+  void f( int );
+  void h( void (*p)(void) );
+  
+  int x;
+  void (*y)(void);
+  char z;
+  float w;
+  
+  f( x );
+  f( y );
+  f( z );
+  f( w );
+  h( f( y ) );
+}
+
+void g2()
+{
+  forall( type T ) void f( T, T );
+  forall( type T, type U ) void f( T, U );
+  
+  int x;
+  float y;
+  int *z;
+  float *w;
+  
+  f( x, y );
+  f( z, w );
+  f( x, z );
+}
Index: src/Tests/ResolvExpr/Function.c
===================================================================
--- src/Tests/ResolvExpr/Function.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Function.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,31 @@
+int a;
+float a;
+int f( int );
+float f( float );
+
+void g()
+{
+  // selects the same f and a each time
+  // but without a cast would be ambiguous
+  f( (int)a );
+  (int)f( a );
+}
+
+[ int ] p;
+[ int, double ] p;
+[ int, int, int ] p;
+[ int, int, int, int ] p;
+
+[ char ] q;
+[ int, int ] q;
+[ int, int, float ] q;
+[ int, int, int, int ] q;
+
+[ int, int ] r( int, int, int, int );
+
+void s()
+{
+  r( p, q );
+  r( [ q, p ] );
+  r( r( p, q ), r( q, q ) );
+}
Index: src/Tests/ResolvExpr/InferParam.c
===================================================================
--- src/Tests/ResolvExpr/InferParam.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/InferParam.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,29 @@
+int ?=?( int*, int );
+float ?=?( float*, float );
+double ?=?( double*, double );
+
+forall( type T, type U | { U f(T); } ) U g(T);
+float f( int );
+double f( int );
+void i( float );
+
+void h()
+{
+  int a;
+  i( g( a ) );
+}
+
+context has_f_and_j( type T, type U )
+{
+  U f( T );
+  U j( T, U );
+};
+
+float j( int, float );
+forall( type T, type U | has_f_and_j( T, U ) ) U k( T );
+
+void l()
+{
+  int b;
+  i( k( b ) );
+}
Index: src/Tests/ResolvExpr/Makefile
===================================================================
--- src/Tests/ResolvExpr/Makefile	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Makefile	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,2 @@
+all:
+	sh run-tests.sh
Index: src/Tests/ResolvExpr/Members.c
===================================================================
--- src/Tests/ResolvExpr/Members.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Members.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,77 @@
+// "../../cfa-cpp -nc Members.c"
+
+char ?=?( char*, char );
+int ?=?( int*, int );
+float ?=?( float*, float );
+forall( dtype DT ) DT * ?=?( DT**, DT* );
+forall(type T) lvalue T *?( T* );
+char *__builtin_memcpy();
+
+void a( char );
+void b( int );
+void c( int* );
+void d( float* );
+
+struct a_struct
+{
+  int a;
+  char a;
+  float a;
+};
+
+union b_struct
+{
+  int *a;
+  char *a;
+  float *a;
+};
+
+void f()
+{
+  struct a_struct the_struct;
+  union b_struct the_struct;
+  
+  a( the_struct.a );
+  b( the_struct.a );
+  c( the_struct.a );
+  d( the_struct.a );
+}
+
+struct c_struct
+{
+  int;
+  char;
+  float;
+};
+
+union d_struct
+{
+  int*;
+  char*;
+  float*;
+};
+
+void g()
+{
+  unsigned short x;
+  struct c_struct x;
+  union d_struct x;
+  
+  a( x );	// the 'a' and 'b' calls resolve to the ushort
+  b( x );	// it's debatable whether this is good
+  c( x );
+  d( x );
+}
+
+// make sure that forward declarations work
+
+struct forward;
+
+struct forward *q;
+
+struct forward { int y; };
+
+void h()
+{
+	q->y;
+}
Index: src/Tests/ResolvExpr/Misc.c
===================================================================
--- src/Tests/ResolvExpr/Misc.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Misc.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,15 @@
+int a;
+int b;
+float b;
+
+void g( int );
+void g( unsigned );
+
+void
+f( void )
+{
+  g( (a, b) );
+  g( (a, a, b) );
+  g( sizeof a );
+  g( sizeof( int ) );
+}
Index: src/Tests/ResolvExpr/MiscError.c
===================================================================
--- src/Tests/ResolvExpr/MiscError.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/MiscError.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,14 @@
+int a;
+int b;
+float b;
+
+void g( int );
+
+void
+f( void )
+{
+  g( (b, a) );
+  g( (b, a, b) );
+  g( (a, b, b) );
+  sizeof b;
+}
Index: src/Tests/ResolvExpr/OccursError.c
===================================================================
--- src/Tests/ResolvExpr/OccursError.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/OccursError.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,11 @@
+// "./cfa-cpp -c simple.c"
+// "./cfa -v simple.c"
+// "./cfa -CFA simple.c > simple_out.c"
+
+forall( type T ) void f( void (*)( T, T* ) );
+forall( type U ) void g( U*, U );
+
+void test()
+{
+  f( g );
+}
Index: src/Tests/ResolvExpr/Operators.c
===================================================================
--- src/Tests/ResolvExpr/Operators.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Operators.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,28 @@
+int ?*?( int, int );
+
+int
+?()( int number1, int number2 )
+{
+  return number1 * number2;
+}
+
+int ?+?( int, int );
+
+int ?=?( int*, int );
+struct accumulator
+{
+  int total;
+};
+
+char ?()( struct accumulator a, char number1, char number2 );
+
+void
+f( void )
+{
+  char a, b;
+  ?()( a, b );
+  a(b);
+  a + b;
+  struct accumulator ?+?;	// why not, eh?
+  a + b;
+}
Index: src/Tests/ResolvExpr/Quad.c
===================================================================
--- src/Tests/ResolvExpr/Quad.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Quad.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,19 @@
+int ?=?( int*, int );
+int ?*?( int, int );
+
+forall( type T | { T ?*?( T, T ); } )
+T square( T t )
+{
+  return t * t;
+}
+
+forall( type U | { U square( U ); } )
+U quad( U u )
+{
+  return square( square( u ) );
+}
+
+void f()
+{
+  quad( 7 );
+}
Index: src/Tests/ResolvExpr/Rank2.c
===================================================================
--- src/Tests/ResolvExpr/Rank2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Rank2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,18 @@
+int ?=?( int*, int );
+forall(dtype DT) DT* 	   	?=?( DT *          *,            DT* );
+
+void a()
+{
+  forall( type T ) void f( T );
+  void g( forall( type U ) void p( U ) );
+  g( f );
+}
+
+void g()
+{
+  void h( int *null );
+  forall( type T ) T id( T );
+  forall( dtype T ) T *0;
+  int 0;
+  h( id( id( id( 0 ) ) ) );
+}
Index: src/Tests/ResolvExpr/ShortCircuit.c
===================================================================
--- src/Tests/ResolvExpr/ShortCircuit.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/ShortCircuit.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,15 @@
+int ?!=?( int, int );
+int ?!=?( float, float );
+int 0;
+
+void g( float );
+void g( int );
+
+void f( int a )
+{
+  int b;
+  float c;
+  g( a ? b : c );
+  g( a && c );
+  g( a || b );
+}
Index: src/Tests/ResolvExpr/Statement.c
===================================================================
--- src/Tests/ResolvExpr/Statement.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/Statement.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,16 @@
+int ?=?( int*, int );
+int ?!=?( int, int );
+int 0;
+
+void f()
+{
+    int a;
+    struct { int b; } a;
+    if ( a ) {
+      while ( a ) {
+        int *b;
+        for ( b; a; b ) {
+        }
+      }
+    }
+}
Index: src/Tests/ResolvExpr/make-rules
===================================================================
--- src/Tests/ResolvExpr/make-rules	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/make-rules	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,21 @@
+CFA = ../../cfa-cpp
+
+DIFF = /software/gnu/bin/diff
+
+# Basic SynTree printing
+EXPECTED := ${wildcard $(EXPECTDIR)/*.tst}
+TESTS := $(EXPECTED:$(EXPECTDIR)/%=$(OUTPUTDIR)/%)
+TEST_IN := $(TESTS:.tst=.c)
+
+$(OUTPUTDIR)/%.tst:%.c $(CFA)
+	-$(CFA) $(CFAOPT) < $< > $@ 2>&1
+
+$(OUTPUTDIR)/report: $(TESTS) $(EXPECTED)
+	rm -f $@
+	@for i in $(TESTS); do \
+	  echo "---"`basename $$i`"---" | tee -a $@; \
+	  $(DIFF) -B -w -u $(EXPECTDIR)/`basename $$i` $$i | tee -a $@; \
+	done
+
+clean:
+	rm -rf $(OUTPUTDIR)
Index: src/Tests/ResolvExpr/run-tests.sh
===================================================================
--- src/Tests/ResolvExpr/run-tests.sh	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/ResolvExpr/run-tests.sh	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,8 @@
+#!/bin/sh -v
+
+dotest() {
+  mkdir -p Output$1
+  OUTPUTDIR=Output$1 EXPECTDIR=Expected$1 CFAOPT=$2 gmake -f make-rules $3
+}
+
+dotest "" -ne "$*"
Index: src/Tests/Scope.c
===================================================================
--- src/Tests/Scope.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,66 +1,0 @@
-int x;
-typedef double y;
-typedef float t;
-y z;
-type u = struct { int a; double b; };
-int f( int y );
-y q;
-
-y w( y y, u v ) {
-	type x | { x t(u); };
-	u u = y;
-	x z = t(u);
-}
-
-y p;
-
-context has_u( type z ) {
-	z u(z);
-};
-
-forall( type t | has_u( t ) )
-y q( t the_t ) {
-	t y = u( the_t );
-}
-
-t f( y p ) {
-	int y;
-	typedef char x;
-	{
-		x y;
-		typedef x z;
-		{
-			z x;
-			typedef z y;
-			y z = x;
-		}
-		z x = y;
-	}
-	x q = y;
-}
-
-t g( void ) {
-	typedef char x;
-	try {
-		some_func();
-	} catch ( x x ) {
-		t y = x;
-	}
-	x z;
-}
-
-y q( i )												/* K&R style */
-	int i;
-{
-	switch ( i ) {
-		y q = i;
-	  case 0:
-		return q;
-	  default:
-		return i;
-	}
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/ScopeErrors.c
===================================================================
--- src/Tests/ScopeErrors.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,25 +1,0 @@
-int thisIsAnError;
-int thisIsAnError;
-
-int thisIsNotAnError;
-float thisIsNotAnError;
-
-int thisIsAlsoNotAnError() {
-  int thisIsNotAnError;
-}
-
-int thisIsAlsoNotAnError( double x ) {
-}
-
-double thisIsStillNotAnError( double );
-double thisIsStillNotAnError( double );
-
-double butThisIsAnError( double ) {
-}
-
-double butThisIsAnError( double ) {
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/ShortCircuit.c
===================================================================
--- src/Tests/ShortCircuit.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,18 +1,0 @@
-int ?!=?( int, int );
-int ?!=?( float, float );
-int 0;
-
-void g( float );
-void g( int );
-
-void f( int a ) {
-	int b;
-	float c;
-	g( a ? b : c );
-	g( a && c );
-	g( a || b );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Statement.c
===================================================================
--- src/Tests/Statement.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,19 +1,0 @@
-int ?=?( int *, int );
-int ?!=?( int, int );
-int 0;
-
-void f() {
-    int a;
-    struct { int b; } a;
-    if ( a ) {
-		while ( a ) {
-			int *b;
-			for ( b; a; b ) {
-			}
-		}
-    }
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/StructMember.c
===================================================================
--- src/Tests/StructMember.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,44 +1,0 @@
-typedef int T;
-
-struct S {
-	int m1:3, m2:4;
-	int :2;
-	int :3, :4;
-	int m3;
-	int m4, m5, m6;
-	int *m7, *m8, *m9;
-	int (*m10)();
-	int *(*m11)(int);
-	T T;
-	T (T);
-
-// Cforall extensions
-
-	* int m12, m13;
-	* [ * int ] (int) m14;
-	int ;
-	int , , ;
-	int * , , ;
-	int *, *, *;
-	* int , , ;
-	int (*)();
-	int (**)( int );
-	T ;
-
-// errors
-
-//    void f(void);
-};
-
-struct S s;
-
-union U {
-	[5] int m1;
-	int m2[5];
-	* int m3;
-	int *m4;
-} u;
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Subrange.c
===================================================================
--- src/Tests/Subrange.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,63 +1,0 @@
-// A small context defining the notion of an ordered type.  (The standard
-// library should probably contain a context for this purpose.)
-context ordered(type T) {
-    int ?<?(T, T), ?<=?(T, T);
-};
-
-// A subrange type resembling an Ada subtype with a base type and a range
-// constraint.
-type subrange(type base_t | ordered(base_t), base_t low = 0, base_t high = 8) = base_t;
-
-// Note that subrange() can be applied to floating-point and pointer types, not
-// just integral types.
-//   This requires a "type generator" extension to Cforall.  Type generators
-// must accept type and non-type parameters, which is beyond what we discussed
-// previously.  Type parameters must be usable in the declaration of
-// subsequent parameters: parameter T is used to declare parameters "low"
-// and "high".
-
-// Example usage:
-subrange(unsigned, 1, 31) day_of_month;
-subrange(char, 'a', 'z')  lcase;
-subrange(int, 0, (rand() & 0xF) ) foo;
-
-// What sorts of expressions can be used as arguments of type generators?  Is
-// "subrange(int, 0, rand() & 0xF)" legal?  Probably.  The nearest C equivalent
-// to the "low" and "high" arguments is the array size in a variable-length
-// array declaration, and C allows assignment expressions there.
-
-// Convenient access to subrange bounds, for instance for iteration:
-forall (type T, T low, T high)
-T lbound( subrange(T, low, high) v) {
-    return low;
-}
-
-forall (type T, T low, T high)
-T hbound( subrange(T, low, high) v) {
-    return high;
-}
-
-// Example usage:
-unsigned lday = lbound(day_of_month);
-
-// Assignment from the base type, with bounds checking.  I'll ignore the issue
-// of exception handling here.  Inlining allows the compiler to eliminate
-// bounds checks.
-forall (type T | ordered(T), T low, T high)
-inline subrange(T, low, high) ?=?(subrange(T, low, high)* target, T source) {
-    if (low <= source && source <= high) *((T*)target) = source;
-    else abort();
-    return target;
-}
-
-// Assignment between subranges with a common base type.  The bounds check
-// compares range bounds so that the compiler can optimize checks away when the
-// ranges are known to overlap.
-forall (type T | ordered(T), T t_low, T t_high, T s_low, T s_high)
-inline subrange(T, t_low, t_high) ?=?(subrange(T, t_low, t_high)* target,
-				      subrange(T, s_low, s_high) source) {
-    if ( (t_low <= s_low || t_low <= source)
-	 && (s_high <= t_high || source <= t_high) ) *((T*)target) = source;
-    else abort();
-    return target;
-}
Index: src/Tests/Switch.c
===================================================================
--- src/Tests/Switch.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,42 +1,0 @@
-int fred() {
-    int i;
-    switch ( i ) case 3 : i = 1;
-    switch ( i ) default : i = 1;
-    switch ( 3 )
-      default:
-      case 2:
-      case 3:
-	3;
-
-    switch ( i ) {
-    }
-
-    switch ( i ) {
-	int i;
-      case 8~10:
-      default:
-	i = 3;
-      case 3:
-      case 'A' ... 'Z':
-      case 5 ... 6:
-      case 2, 4:
-	i = 3;
-	break;
-    }
-
-    choose ( i ) case 3 : i = 1;
-    choose ( i ) default : i = 1;
-    choose ( i ) {
-	int i;
-      case 3:
-      case 'A' ... 'Z':
-      case 5 ... 6:
-      case 2, 4, 7:
-	i = 3;
-	fallthru;
-      default:
-	i = 3;
-      case 8~10:
-	fallthru
-    }
-}
Index: src/Tests/SynTree/Array.c
===================================================================
--- src/Tests/SynTree/Array.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Array.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,33 @@
+int a1[];
+int a2[*];
+int a4[3];
+
+int m1[][3];
+int m2[*][*];
+int m4[3][3];
+
+typedef int T;
+
+int fred() {
+    int a1[];
+    int a2[*];
+    int a4[3];
+    int T[3];
+}
+
+int mary( int T[3],
+	  int p1[const 3],
+	  int p2[static 3],
+	  int p3[static const 3]
+    ) {
+}
+
+int (*tom())[3] {
+}
+
+int (*(jane)())( int T[3],
+		 int p1[const 3],
+		 int p2[static 3],
+		 int p3[static const 3]
+    ) {
+}
Index: src/Tests/SynTree/Constant0-1.c
===================================================================
--- src/Tests/SynTree/Constant0-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Constant0-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,35 @@
+// Cforall extension
+
+// value
+
+int 0;
+const int 0;
+static const int 0;
+int 1;
+const int 1;
+static const int 1;
+int 0, 1;
+const int 0, 1;
+static const int 0, 1;
+struct { int i; } 0;
+const struct { int i; } 1;
+static const struct { int i; } 1;
+
+// pointer
+
+int 1, * 0;
+int (1), ((1)), * (0), (* 0), ((* 0));
+int * const (0), (* const 0), ((* const 0));
+struct { int i; } * 0;
+
+// Cforall style
+
+* int x, 0;
+const * int x, 0;
+static const * int x, 0;
+* struct { int i; } 0;
+const * struct { int i; } 0;
+static const * struct { int i; } 0;
+static * int x, 0;
+static const * int x, 0;
+const * * int x, 0;
Index: src/Tests/SynTree/Context.c
===================================================================
--- src/Tests/SynTree/Context.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Context.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,16 @@
+context has_q( type T )
+{
+  T q( T );
+};
+
+forall( type z | has_q( z ) )
+void f()
+{
+  context has_r( type T, type U )
+  {
+    T r( T, T (T,U) );
+  };
+  
+  extern type x, y | has_r( x, y );
+  
+}
Index: src/Tests/SynTree/DeclarationErrors.c
===================================================================
--- src/Tests/SynTree/DeclarationErrors.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/DeclarationErrors.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,5 @@
+static short int volatile static const x9;		// duplicate static
+struct { int i; } const static volatile static x18;	// duplicate static
+struct { int i; } const static volatile static volatile x19; // duplicate static & volatile
+typedef int Int;
+static Int volatile static const x28;			// duplicate static
Index: src/Tests/SynTree/DeclarationSpecifier.c
===================================================================
--- src/Tests/SynTree/DeclarationSpecifier.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/DeclarationSpecifier.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,86 @@
+typedef short int Int;
+
+
+const short int volatile x1;
+static const short int volatile x2;
+const static short int volatile x3;
+const short static int volatile x4;
+const static volatile short int x4;
+const short int static volatile x5;
+const short int volatile static x6;
+const short volatile int static x7;
+short int volatile static const x8;
+
+const volatile struct { int i; } x10;
+const struct { int i; } volatile x11;
+struct { int i; } const volatile x12;
+static const volatile struct { int i; } x13;
+const static struct { int i; } volatile x14;
+struct { int i; } static const volatile x15;
+struct { int i; } const static volatile x16;
+struct { int i; } const volatile static x17;
+
+const Int volatile x20;
+static const Int volatile x21;
+const static Int volatile x22;
+const static Int volatile x23;
+const Int static volatile x24;
+const Int volatile static x25;
+const volatile Int static x26;
+Int volatile static const x27;
+
+const volatile struct { Int i; } x29;
+const struct { Int i; } volatile x30;
+struct { Int i; } const volatile x31;
+static const volatile struct { Int i; } x32;
+const static struct { Int i; } volatile x33;
+struct { Int i; } static const volatile x34;
+struct { Int i; } const static volatile x35;
+struct { Int i; } const volatile static x36;
+
+
+const static inline const volatile int f01();		// duplicate const
+volatile inline const volatile static int f02();	// duplicate volatile
+const inline const volatile int static f03();		// duplicate const
+volatile inline static const volatile int f04();	// duplicate volatile
+const static const inline volatile int f05();		// duplicate const
+volatile static const volatile inline int f06();	// duplicate volatile
+const static const volatile int inline f07();		// duplicate const
+volatile static const int inline volatile f08();	// duplicate volatile
+
+static inline const volatile int f11();
+inline const volatile static int f12();
+inline const volatile int static f13();
+inline static const volatile int f14();
+static const inline volatile int f15();
+static const volatile inline int f16();
+static const volatile int inline f17();
+static const int inline volatile f18();
+
+short static inline const volatile int f21();
+inline short const volatile static int f22();
+inline const short volatile int static f23();
+inline static const short volatile int f24();
+static const inline volatile short int f25();
+static const volatile inline int short f26();
+static const volatile int inline short f27();
+static const int inline volatile short f28();
+
+static inline const volatile struct { int i; } f31();
+inline const volatile static struct { int i; } f32();
+inline const volatile struct { int i; } static f33();
+inline static const volatile struct { int i; } f34();
+static const inline volatile struct { int i; } f35();
+static const volatile inline struct { int i; } f36();
+static const volatile struct { int i; } inline f37();
+static const struct { int i; } inline volatile f38();
+
+static inline const volatile Int f41();
+inline const volatile static Int f42();
+inline const volatile Int static f43();
+inline static const volatile Int f44();
+static const inline volatile Int f45();
+static const volatile inline Int f46();
+static const volatile Int inline f47();
+static const Int inline volatile f48();
+
Index: src/Tests/SynTree/Enum.c
===================================================================
--- src/Tests/SynTree/Enum.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Enum.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,20 @@
+enum Colors {
+  Red,
+  Yellow,
+  Pink,
+  Blue,
+  Purple,
+  Orange,
+  Green
+};
+
+
+void f( void )
+{
+  enum Fruits {
+    Apple,
+    Banana,
+    Pear,
+    Mango
+  } fruit = Mango;
+}
Index: src/Tests/SynTree/Expected-SymTab/Array.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Array.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected-SymTab/Array.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,53 @@
+Adding object a1
+Adding object a2
+Adding object a4
+Adding object m1
+Adding object m2
+Adding object m4
+Adding typedef T
+--- Entering scope
+--- Leaving scope containing
+Adding function fred
+--- Entering scope
+--- Entering scope
+Adding object a1
+Adding object a2
+Adding object a4
+Adding object T
+--- Leaving scope containing
+T (__T__A0i) (2)
+a1 (__a1__A0i) (2)
+a2 (__a2__A0i) (2)
+a4 (__a4__A0i) (2)
+--- Leaving scope containing
+Adding function mary
+--- Entering scope
+Adding object T
+Adding object p1
+Adding object p2
+Adding object p3
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T (__T__Pi) (1)
+p1 (__p1__CPi) (1)
+p2 (__p2__Pi) (1)
+p3 (__p3__CPi) (1)
+Adding function tom
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function jane
+--- Entering scope
+Adding object T
+Adding object p1
+Adding object p2
+Adding object p3
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T (__T__Pi) (1)
+p1 (__p1__CPi) (1)
+p2 (__p2__Pi) (1)
+p3 (__p3__CPi) (1)
Index: src/Tests/SynTree/Expected-SymTab/Context.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Context.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected-SymTab/Context.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,52 @@
+Adding context has_q
+--- Entering scope
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+Adding function q
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+q (__q__F_2tT_2tT_) (1)
+T
+Adding function f
+--- Entering scope
+Adding type z
+--- Entering scope
+--- Leaving scope containing
+Adding function q
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+Adding context has_r
+--- Entering scope
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+Adding type U
+--- Entering scope
+--- Leaving scope containing
+Adding function r
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+r (__r__F_2tT_2tTPF_2tT_2tT2tU__) (3)
+T
+U
+Adding type x
+--- Entering scope
+--- Leaving scope containing
+Adding type y
+--- Entering scope
+--- Leaving scope containing
+Adding function r
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+r (__r__F_2tx_2txPF_2tx_2tx2ty__) (2)
+x
+y
+has_r
+--- Leaving scope containing
+q (__q__F_2tz_2tz_) (1)
+z
Index: src/Tests/SynTree/Expected-SymTab/Enum.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Enum.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected-SymTab/Enum.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,25 @@
+Adding enum Colors
+Adding object Red
+Adding object Yellow
+Adding object Pink
+Adding object Blue
+Adding object Purple
+Adding object Orange
+Adding object Green
+Adding function f
+--- Entering scope
+--- Entering scope
+Adding enum Fruits
+Adding object Apple
+Adding object Banana
+Adding object Pear
+Adding object Mango
+Adding object fruit
+--- Leaving scope containing
+Apple (__Apple__C7eFruits) (2)
+Banana (__Banana__C7eFruits) (2)
+Mango (__Mango__C7eFruits) (2)
+Pear (__Pear__C7eFruits) (2)
+fruit (__fruit__7eFruits) (2)
+Fruits
+--- Leaving scope containing
Index: src/Tests/SynTree/Expected-SymTab/Forall.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Forall.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected-SymTab/Forall.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,188 @@
+in default case, (shouldn't be here)
+in default case, (shouldn't be here)
+Adding typedef f
+--- Entering scope
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+T
+Adding function swap
+--- Entering scope
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+Adding object left
+Adding object right
+--- Entering scope
+Adding object temp
+--- Leaving scope containing
+temp (__temp__2tT) (2)
+--- Leaving scope containing
+left (__left__2tT) (1)
+right (__right__2tT) (1)
+T
+Adding context sumable
+--- Entering scope
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?+=?
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+0 (__0__C2tT) (1)
+?++ (__?++__F_2tT_2tT_) (1)
+?+=? (__?+=?__F_2tT_2tT2tT_) (1)
+?+? (__?+?__F_2tT_2tT2tT_) (1)
+T
+Adding type T1
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?+=?
+--- Entering scope
+--- Leaving scope containing
+Adding type T2
+--- Entering scope
+Adding type P1
+--- Entering scope
+--- Leaving scope containing
+Adding type P2
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+P1
+P2
+Adding type T3
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?+=?
+--- Entering scope
+--- Leaving scope containing
+Adding struct __anonymous0
+--- Entering scope
+Adding object i
+Adding object j
+--- Leaving scope containing
+i (__i__3tP1) (1)
+j (__j__3tP2) (1)
+Adding type T2
+--- Entering scope
+Adding type P1
+--- Entering scope
+--- Leaving scope containing
+Adding type P2
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+P1
+P2
+Adding object 0
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?+=?
+--- Entering scope
+--- Leaving scope containing
+Adding object w1
+Adding typedef w2
+--- Entering scope
+--- Leaving scope containing
+Adding object g2
+Adding type w3
+--- Entering scope
+--- Leaving scope containing
+Adding object g3
+Adding function sum
+--- Entering scope
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?+=?
+--- Entering scope
+--- Leaving scope containing
+Adding object n
+Adding object a
+--- Entering scope
+Adding object total
+Adding object i
+--- Leaving scope containing
+i (__i__i) (2)
+total (__total__2tT) (2)
+--- Leaving scope containing
+0 (__0__2tT) (1)
+?++ (__?++__F_2tT_2tT_) (1)
+?+=? (__?+=?__F_2tT_2tT2tT_) (1)
+?+? (__?+?__F_2tT_2tT2tT_) (1)
+a (__a__P2tT) (1)
+n (__n__i) (1)
+T
+Adding function twice
+--- Entering scope
+Adding type T
+--- Entering scope
+--- Leaving scope containing
+Adding object 0
+Adding function ?+?
+--- Entering scope
+--- Leaving scope containing
+Adding function ?++
+--- Entering scope
+--- Leaving scope containing
+Adding function ?+=?
+--- Entering scope
+--- Leaving scope containing
+Adding object t
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+0 (__0__C2tT) (1)
+?++ (__?++__F_2tT_2tT_) (1)
+?+=? (__?+=?__F_2tT_2tT2tT_) (1)
+?+? (__?+?__F_2tT_2tT2tT_) (1)
+t (__t__2tT) (1)
+T
+Adding function main
+--- Entering scope
+--- Entering scope
+Adding object x
+Adding object y
+Adding object a
+Adding object f
+--- Leaving scope containing
+a (__a__A0i) (2)
+f (__f__f) (2)
+x (__x__i) (2)
+y (__y__i) (2)
+--- Leaving scope containing
Index: src/Tests/SynTree/Expected-SymTab/Scope.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Scope.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected-SymTab/Scope.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,130 @@
+in default case, (shouldn't be here)
+in default case, (shouldn't be here)
+in default case, (shouldn't be here)
+Adding object x
+Adding typedef y
+--- Entering scope
+--- Leaving scope containing
+Adding typedef t
+--- Entering scope
+--- Leaving scope containing
+Adding object z
+Adding struct __anonymous0
+--- Entering scope
+Adding object a
+Adding object b
+--- Leaving scope containing
+a (__a__i) (1)
+b (__b__d) (1)
+Adding type u
+--- Entering scope
+--- Leaving scope containing
+Adding function f
+--- Entering scope
+Adding object y
+--- Leaving scope containing
+y (__y__i) (1)
+Adding object q
+Adding function w
+--- Entering scope
+Adding object y
+Adding object v
+--- Entering scope
+Adding type x
+--- Entering scope
+--- Leaving scope containing
+Adding function t
+--- Entering scope
+--- Leaving scope containing
+Adding object u
+Adding object z
+--- Leaving scope containing
+t (__t__F_2tx_2tu_) (2)
+u (__u__2tu) (2)
+z (__z__2tx) (2)
+x
+--- Leaving scope containing
+v (__v__2tu) (1)
+y (__y__2ty) (1)
+Adding object p
+Adding context has_u
+--- Entering scope
+Adding type z
+--- Entering scope
+--- Leaving scope containing
+Adding function u
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+u (__u__F_2tz_2tz_) (1)
+z
+Adding function q
+--- Entering scope
+Adding type t
+--- Entering scope
+--- Leaving scope containing
+Adding function u
+--- Entering scope
+--- Leaving scope containing
+Adding object the_t
+--- Entering scope
+Adding object y
+--- Leaving scope containing
+y (__y__2tt) (2)
+--- Leaving scope containing
+the_t (__the_t__2tt) (1)
+u (__u__F_2tt_2tt_) (1)
+t
+Adding function f
+--- Entering scope
+Adding object p
+--- Entering scope
+Adding object y
+Adding typedef x
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+Adding object y
+Adding typedef z
+--- Entering scope
+--- Leaving scope containing
+--- Entering scope
+Adding object x
+Adding typedef y
+--- Entering scope
+--- Leaving scope containing
+Adding object z
+--- Leaving scope containing
+x (__x__2tz) (4)
+z (__z__2ty) (4)
+y
+Adding object x
+--- Leaving scope containing
+x (__x__2tz) (3)
+y (__y__2tx) (3)
+z
+Adding object q
+--- Leaving scope containing
+q (__q__2tx) (2)
+y (__y__i) (2)
+x
+--- Leaving scope containing
+p (__p__2ty) (1)
+Adding function g
+--- Entering scope
+--- Entering scope
+Adding typedef x
+--- Entering scope
+--- Leaving scope containing
+Adding object z
+--- Leaving scope containing
+z (__z__2tx) (2)
+x
+--- Leaving scope containing
+Adding function q
+--- Entering scope
+Adding object i
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+i (__i__i) (1)
Index: src/Tests/SynTree/Expected-SymTab/ScopeErrors.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/ScopeErrors.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected-SymTab/ScopeErrors.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,38 @@
+Adding object thisIsAnError
+Adding object thisIsAnError
+Adding object thisIsNotAnError
+Adding object thisIsNotAnError
+Adding function thisIsAlsoNotAnError
+--- Entering scope
+--- Entering scope
+Adding object thisIsNotAnError
+--- Leaving scope containing
+thisIsNotAnError (__thisIsNotAnError__i) (2)
+--- Leaving scope containing
+Adding function thisIsAlsoNotAnError
+--- Entering scope
+Adding object x
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+x (__x__d) (1)
+Adding function thisIsStillNotAnError
+--- Entering scope
+--- Leaving scope containing
+Adding function thisIsStillNotAnError
+--- Entering scope
+--- Leaving scope containing
+Adding function butThisIsAnError
+--- Entering scope
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+Adding function butThisIsAnError
+Error: duplicate definition for thisIsAnError: a signed int 
+Error: duplicate function definition for butThisIsAnError: a function
+  with parameters
+    double 
+  returning 
+    double 
+  with body 
+
Index: src/Tests/SynTree/Expected-SymTab/Tuple.tst
===================================================================
--- src/Tests/SynTree/Expected-SymTab/Tuple.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected-SymTab/Tuple.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,97 @@
+Adding function f
+--- Entering scope
+--- Leaving scope containing
+Adding function g
+--- Entering scope
+--- Leaving scope containing
+Adding function h
+--- Entering scope
+Adding object a
+Adding object b
+Adding object c
+Adding object d
+--- Leaving scope containing
+a (__a__i) (1)
+b (__b__i) (1)
+c (__c__Pi) (1)
+d (__d__Pc) (1)
+Adding struct inner
+--- Entering scope
+Adding object f2
+Adding object f3
+--- Leaving scope containing
+f2 (__f2__i) (1)
+f3 (__f3__i) (1)
+Adding struct outer
+--- Entering scope
+Adding object f1
+Adding object i
+Adding object f4
+--- Leaving scope containing
+f1 (__f1__i) (1)
+f4 (__f4__d) (1)
+i (__i__6sinner) (1)
+Adding object s
+Adding object sp
+Adding object t1
+Adding object t2
+Adding object t3
+Adding function printf
+--- Entering scope
+Adding object rc
+Adding object fmt
+--- Leaving scope containing
+fmt (__fmt__Pc) (1)
+rc (__rc__i) (1)
+Adding function printf
+--- Entering scope
+Adding object fmt
+--- Leaving scope containing
+fmt (__fmt__Pc) (1)
+Adding function f1
+--- Entering scope
+Adding object x
+Adding object y
+Adding object w
+--- Entering scope
+--- Leaving scope containing
+--- Leaving scope containing
+w (__w__i) (1)
+x (__x__s) (1)
+y (__y__Ui) (1)
+Adding function g1
+--- Entering scope
+Adding object r
+--- Entering scope
+Adding object x
+Adding object p
+Adding object y
+Adding object z
+--- Leaving scope containing
+p (__p__s) (2)
+x (__x__s) (2)
+y (__y__Ui) (2)
+z (__z__Tii_) (2)
+--- Leaving scope containing
+r (__r__Ticli_) (1)
+Adding function main
+--- Entering scope
+Adding object rc
+Adding object argc
+Adding object argv
+--- Entering scope
+Adding object a
+Adding object b
+Adding object c
+Adding object d
+Adding object t
+--- Leaving scope containing
+a (__a__i) (2)
+b (__b__i) (2)
+c (__c__i) (2)
+d (__d__i) (2)
+t (__t__6souter) (2)
+--- Leaving scope containing
+argc (__argc__i) (1)
+argv (__argv__PPc) (1)
+rc (__rc__i) (1)
Index: src/Tests/SynTree/Expected/Array.tst
===================================================================
--- src/Tests/SynTree/Expected/Array.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Array.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,50 @@
+a1: a open array of signed int 
+a2: a variable length array of signed int 
+a4: a array of   Constant Expression: 3signed int 
+m1: a open array of array of   Constant Expression: 3signed int 
+m2: a variable length array of variable length array of signed int 
+m4: a array of   Constant Expression: 3array of   Constant Expression: 3signed int 
+T: a typedef for signed int 
+fred: a function
+    returning 
+      signed int 
+    with body 
+      Declaration of a1: a open array of signed int 
+      Declaration of a2: a variable length array of signed int 
+      Declaration of a4: a array of         Constant Expression: 3signed int 
+      Declaration of T: a array of         Constant Expression: 3signed int 
+
+mary: a function
+    with parameters
+      T: a array of         Constant Expression: 3signed int 
+      p1: a const array of         Constant Expression: 3signed int 
+      p2: a static array of         Constant Expression: 3signed int 
+      p3: a const static array of         Constant Expression: 3signed int 
+    returning 
+      signed int 
+    with body 
+
+      Null Statement
+
+tom: a function
+    returning 
+      pointer to array of         Constant Expression: 3signed int 
+    with body 
+
+      Null Statement
+
+jane: a function
+    returning 
+      pointer to function
+          with parameters
+            T: a array of               Constant Expression: 3signed int 
+            p1: a const array of               Constant Expression: 3signed int 
+            p2: a static array of               Constant Expression: 3signed int 
+            p3: a const static array of               Constant Expression: 3signed int 
+          returning 
+            signed int 
+
+    with body 
+
+      Null Statement
+
Index: src/Tests/SynTree/Expected/Constant0-1.tst
===================================================================
--- src/Tests/SynTree/Expected/Constant0-1.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Constant0-1.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,69 @@
+0: a signed int 
+0: a const signed int 
+0: a static const signed int 
+1: a signed int 
+1: a const signed int 
+1: a static const signed int 
+0: a signed int 
+1: a signed int 
+0: a const signed int 
+1: a const signed int 
+0: a static const signed int 
+1: a static const signed int 
+struct __anonymous0
+    with members
+      i: a signed int 
+
+0: a instance of struct __anonymous0 
+struct __anonymous1
+    with members
+      i: a signed int 
+
+1: a const instance of struct __anonymous1 
+struct __anonymous2
+    with members
+      i: a signed int 
+
+1: a static const instance of struct __anonymous2 
+1: a signed int 
+0: a pointer to signed int 
+1: a signed int 
+1: a signed int 
+0: a pointer to signed int 
+0: a pointer to signed int 
+0: a pointer to signed int 
+0: a const pointer to signed int 
+0: a const pointer to signed int 
+0: a const pointer to signed int 
+struct __anonymous3
+    with members
+      i: a signed int 
+
+0: a pointer to instance of struct __anonymous3 
+x: a pointer to signed int 
+0: a pointer to signed int 
+x: a const pointer to signed int 
+0: a const pointer to signed int 
+x: a static const pointer to signed int 
+0: a static const pointer to signed int 
+struct __anonymous4
+    with members
+      i: a signed int 
+
+0: a pointer to instance of struct __anonymous4 
+struct __anonymous5
+    with members
+      i: a signed int 
+
+0: a const pointer to instance of struct __anonymous5 
+struct __anonymous6
+    with members
+      i: a signed int 
+
+0: a static const pointer to instance of struct __anonymous6 
+x: a static pointer to signed int 
+0: a static pointer to signed int 
+x: a static const pointer to signed int 
+0: a static const pointer to signed int 
+x: a const pointer to pointer to signed int 
+0: a const pointer to pointer to signed int 
Index: src/Tests/SynTree/Expected/Context.tst
===================================================================
--- src/Tests/SynTree/Expected/Context.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Context.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,54 @@
+context has_q
+    with parameters
+      T: a type
+
+    with members
+      q: a function
+          with parameters
+            instance of type T 
+          returning 
+            instance of type T 
+
+
+f: a function
+    with forall
+      z: a type
+        with assertions
+          instance of context has_q 
+            with parameters
+              instance of type z 
+
+
+    returning 
+      void 
+    with body 
+      Declaration of context has_r
+          with parameters
+            T: a type
+            U: a type
+
+          with members
+            r: a function
+                with parameters
+                  instance of type T 
+                  function
+                      with parameters
+                        instance of type T 
+                        instance of type U 
+                      returning 
+                        instance of type T 
+
+                returning 
+                  instance of type T 
+
+
+      Declaration of x: a extern type
+      Declaration of y: a extern type
+        with assertions
+          instance of context has_r 
+            with parameters
+              instance of type x 
+              instance of type y 
+
+
+
Index: src/Tests/SynTree/Expected/DeclarationSpecifier.tst
===================================================================
--- src/Tests/SynTree/Expected/DeclarationSpecifier.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/DeclarationSpecifier.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,290 @@
+Int: a typedef for short signed int 
+x1: a const volatile short signed int 
+x2: a static const volatile short signed int 
+x3: a static const volatile short signed int 
+x4: a static const volatile short signed int 
+x4: a static const volatile short signed int 
+x5: a static const volatile short signed int 
+x6: a static const volatile short signed int 
+x7: a static const volatile short signed int 
+x8: a static const volatile short signed int 
+struct __anonymous0
+    with members
+      i: a signed int 
+
+x10: a const volatile instance of struct __anonymous0 
+struct __anonymous1
+    with members
+      i: a signed int 
+
+x11: a const volatile instance of struct __anonymous1 
+struct __anonymous2
+    with members
+      i: a signed int 
+
+x12: a const volatile instance of struct __anonymous2 
+struct __anonymous3
+    with members
+      i: a signed int 
+
+x13: a static const volatile instance of struct __anonymous3 
+struct __anonymous4
+    with members
+      i: a signed int 
+
+x14: a static const volatile instance of struct __anonymous4 
+struct __anonymous5
+    with members
+      i: a signed int 
+
+x15: a static const volatile instance of struct __anonymous5 
+struct __anonymous6
+    with members
+      i: a signed int 
+
+x16: a static const volatile instance of struct __anonymous6 
+struct __anonymous7
+    with members
+      i: a signed int 
+
+x17: a static const volatile instance of struct __anonymous7 
+x20: a const volatile instance of type Int 
+x21: a static const volatile instance of type Int 
+x22: a static const volatile instance of type Int 
+x23: a static const volatile instance of type Int 
+x24: a static const volatile instance of type Int 
+x25: a static const volatile instance of type Int 
+x26: a static const volatile instance of type Int 
+x27: a static const volatile instance of type Int 
+struct __anonymous8
+    with members
+      i: a instance of type Int 
+
+x29: a const volatile instance of struct __anonymous8 
+struct __anonymous9
+    with members
+      i: a instance of type Int 
+
+x30: a const volatile instance of struct __anonymous9 
+struct __anonymous10
+    with members
+      i: a instance of type Int 
+
+x31: a const volatile instance of struct __anonymous10 
+struct __anonymous11
+    with members
+      i: a instance of type Int 
+
+x32: a static const volatile instance of struct __anonymous11 
+struct __anonymous12
+    with members
+      i: a instance of type Int 
+
+x33: a static const volatile instance of struct __anonymous12 
+struct __anonymous13
+    with members
+      i: a instance of type Int 
+
+x34: a static const volatile instance of struct __anonymous13 
+struct __anonymous14
+    with members
+      i: a instance of type Int 
+
+x35: a static const volatile instance of struct __anonymous14 
+struct __anonymous15
+    with members
+      i: a instance of type Int 
+
+x36: a static const volatile instance of struct __anonymous15 
+f01: a inline static function
+    returning 
+      const volatile signed int 
+
+f02: a inline static function
+    returning 
+      const volatile signed int 
+
+f03: a inline static function
+    returning 
+      const volatile signed int 
+
+f04: a inline static function
+    returning 
+      const volatile signed int 
+
+f05: a inline static function
+    returning 
+      const volatile signed int 
+
+f06: a inline static function
+    returning 
+      const volatile signed int 
+
+f07: a inline static function
+    returning 
+      const volatile signed int 
+
+f08: a inline static function
+    returning 
+      const volatile signed int 
+
+f11: a inline static function
+    returning 
+      const volatile signed int 
+
+f12: a inline static function
+    returning 
+      const volatile signed int 
+
+f13: a inline static function
+    returning 
+      const volatile signed int 
+
+f14: a inline static function
+    returning 
+      const volatile signed int 
+
+f15: a inline static function
+    returning 
+      const volatile signed int 
+
+f16: a inline static function
+    returning 
+      const volatile signed int 
+
+f17: a inline static function
+    returning 
+      const volatile signed int 
+
+f18: a inline static function
+    returning 
+      const volatile signed int 
+
+f21: a inline static function
+    returning 
+      const volatile short signed int 
+
+f22: a inline static function
+    returning 
+      const volatile short signed int 
+
+f23: a inline static function
+    returning 
+      const volatile short signed int 
+
+f24: a inline static function
+    returning 
+      const volatile short signed int 
+
+f25: a inline static function
+    returning 
+      const volatile short signed int 
+
+f26: a inline static function
+    returning 
+      const volatile short signed int 
+
+f27: a inline static function
+    returning 
+      const volatile short signed int 
+
+f28: a inline static function
+    returning 
+      const volatile short signed int 
+
+struct __anonymous16
+    with members
+      i: a signed int 
+
+f31: a inline static function
+    returning 
+      const volatile instance of struct __anonymous16 
+
+struct __anonymous17
+    with members
+      i: a signed int 
+
+f32: a inline static function
+    returning 
+      const volatile instance of struct __anonymous17 
+
+struct __anonymous18
+    with members
+      i: a signed int 
+
+f33: a inline static function
+    returning 
+      const volatile instance of struct __anonymous18 
+
+struct __anonymous19
+    with members
+      i: a signed int 
+
+f34: a inline static function
+    returning 
+      const volatile instance of struct __anonymous19 
+
+struct __anonymous20
+    with members
+      i: a signed int 
+
+f35: a inline static function
+    returning 
+      const volatile instance of struct __anonymous20 
+
+struct __anonymous21
+    with members
+      i: a signed int 
+
+f36: a inline static function
+    returning 
+      const volatile instance of struct __anonymous21 
+
+struct __anonymous22
+    with members
+      i: a signed int 
+
+f37: a inline static function
+    returning 
+      const volatile instance of struct __anonymous22 
+
+struct __anonymous23
+    with members
+      i: a signed int 
+
+f38: a inline static function
+    returning 
+      const volatile instance of struct __anonymous23 
+
+f41: a inline static function
+    returning 
+      const volatile instance of type Int 
+
+f42: a inline static function
+    returning 
+      const volatile instance of type Int 
+
+f43: a inline static function
+    returning 
+      const volatile instance of type Int 
+
+f44: a inline static function
+    returning 
+      const volatile instance of type Int 
+
+f45: a inline static function
+    returning 
+      const volatile instance of type Int 
+
+f46: a inline static function
+    returning 
+      const volatile instance of type Int 
+
+f47: a inline static function
+    returning 
+      const volatile instance of type Int 
+
+f48: a inline static function
+    returning 
+      const volatile instance of type Int 
+
Index: src/Tests/SynTree/Expected/Enum.tst
===================================================================
--- src/Tests/SynTree/Expected/Enum.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Enum.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,25 @@
+enum Colors
+    with members
+      Red: a untyped entity 
+      Yellow: a untyped entity 
+      Pink: a untyped entity 
+      Blue: a untyped entity 
+      Purple: a untyped entity 
+      Orange: a untyped entity 
+      Green: a untyped entity 
+
+f: a function
+    with parameters
+      void 
+    returning 
+      void 
+    with body 
+      Declaration of enum Fruits
+          with members
+            Apple: a untyped entity 
+            Banana: a untyped entity 
+            Pear: a untyped entity 
+            Mango: a untyped entity 
+
+      Declaration of fruit: a instance of enum Fruits 
+
Index: src/Tests/SynTree/Expected/Forall.tst
===================================================================
--- src/Tests/SynTree/Expected/Forall.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Forall.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,229 @@
+in default case, (shouldn't be here)
+in default case, (shouldn't be here)
+f: a typedef for pointer to function
+    with parameters
+      signed int 
+    with forall
+      T: a type
+    returning 
+      signed int 
+
+swap: a function
+    with parameters
+      left: a instance of type T 
+      right: a instance of type T 
+    with forall
+      T: a type
+    returning 
+      void 
+    with body 
+      Declaration of temp: a instance of type T 
+      
+        Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+ to: 
+              Name: left
+              Name: right
+
+      
+        Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+ to: 
+              Name: right
+              Name: temp
+
+
+context sumable
+    with parameters
+      T: a type
+
+    with members
+      0: a const instance of type T 
+      ?+?: a function
+          with parameters
+            instance of type T 
+            instance of type T 
+          returning 
+            instance of type T 
+
+      ?++: a function
+          with parameters
+            instance of type T 
+          returning 
+            instance of type T 
+
+      ?+=?: a function
+          with parameters
+            instance of type T 
+            instance of type T 
+          returning 
+            instance of type T 
+
+
+T1: a type
+  with assertions
+    0: a const instance of type T1 
+    ?+?: a function
+        with parameters
+          instance of type T1 
+          instance of type T1 
+        returning 
+          instance of type T1 
+
+    ?++: a function
+        with parameters
+          instance of type T1 
+        returning 
+          instance of type T1 
+
+    ?+=?: a function
+        with parameters
+          instance of type T1 
+          instance of type T1 
+        returning 
+          instance of type T1 
+
+
+T2: a type
+  with parameters
+    P1: a type
+    P2: a type
+
+T3: a type
+  with assertions
+    instance of context sumable 
+      with parameters
+        instance of type T3 
+
+
+struct __anonymous0
+    with members
+      i: a instance of type P1 
+      j: a instance of type P2 
+
+T2: a type for instance of struct __anonymous0 
+  with parameters
+    P1: a type
+    P2: a type
+
+  with assertions
+    instance of context sumable 
+      with parameters
+        instance of type T2 
+          with parameters
+            instance of type P1 
+            instance of type P2 
+
+
+
+w1: a instance of type T2 
+  with parameters
+    signed int 
+    signed int 
+
+w2: a typedef for instance of type T2 
+  with parameters
+    signed int 
+    signed int 
+
+g2: a instance of type w2 
+w3: a type for instance of type T2 
+  with parameters
+    signed int 
+    signed int 
+
+g3: a instance of type w3 
+sum: a function
+    with parameters
+      n: a signed int 
+      a: a open array of instance of type T 
+    with forall
+      T: a type
+        with assertions
+          instance of context sumable 
+            with parameters
+              instance of type T 
+
+
+    returning 
+      instance of type T 
+    with body 
+      Declaration of total: a instance of type T 
+      Declaration of i: a signed int 
+
+twice: a function
+    with parameters
+      t: a instance of type T 
+    with forall
+      T: a type
+        with assertions
+          0: a const instance of type T 
+          ?+?: a function
+              with parameters
+                instance of type T 
+                instance of type T 
+              returning 
+                instance of type T 
+
+          ?++: a function
+              with parameters
+                instance of type T 
+              returning 
+                instance of type T 
+
+          ?+=?: a function
+              with parameters
+                instance of type T 
+                instance of type T 
+              returning 
+                instance of type T 
+
+
+    returning 
+      instance of type T 
+    with body 
+
+main: a function
+    returning 
+      signed int 
+    with body 
+      Declaration of x: a signed int 
+      Declaration of y: a signed int 
+      Declaration of a: a array of         Constant Expression: 10signed int 
+      Declaration of f: a float 
+      
+        Expression Statement:
+          Applying untyped: 
+              Name: swap
+ to: 
+              Name: x
+              Name: y
+
+      
+        Expression Statement:
+          Applying untyped: 
+              Name: twice
+ to: 
+              Name: x
+              Name: y
+
+      
+        Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+ to: 
+              Name: f
+              Applying untyped: 
+                  Name: min
+ to: 
+                  Constant Expression: 4.0                  Constant Expression: 3.0
+      
+        Expression Statement:
+          Applying untyped: 
+              Name: sum
+ to: 
+              Constant Expression: 10              Name: a
+
+
Index: src/Tests/SynTree/Expected/Functions.tst
===================================================================
--- src/Tests/SynTree/Expected/Functions.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Functions.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,586 @@
+h: a function
+    with parameters
+      void 
+    returning 
+      void 
+    with body 
+
+f: a function
+    with parameters
+      function
+          with parameters
+            void 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            void 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      g: a function
+          with parameters
+            void 
+          returning 
+            void 
+
+    returning 
+      signed int 
+    with body 
+
+f1: a function
+    returning 
+      signed int 
+    with body 
+
+f2: a function
+    returning 
+      signed int 
+    with body 
+
+f3: a function
+    returning 
+      pointer to function
+          returning 
+            signed int 
+
+    with body 
+
+f4: a function
+    returning 
+      pointer to signed int 
+    with body 
+
+f5: a function
+    returning 
+      pointer to function
+          returning 
+            signed int 
+
+    with body 
+
+f6: a function
+    returning 
+      pointer to signed int 
+    with body 
+
+f7: a function
+    returning 
+      pointer to signed int 
+    with body 
+
+f8: a function
+    returning 
+      pointer to pointer to signed int 
+    with body 
+
+f9: a function
+    returning 
+      pointer to const pointer to signed int 
+    with body 
+
+f10: a function
+    returning 
+      pointer to open array of signed int 
+    with body 
+
+f11: a function
+    returning 
+      pointer to open array of open array of signed int 
+    with body 
+
+f12: a function
+    returning 
+      pointer to open array of open array of signed int 
+    with body 
+
+fII1: a function
+    with parameters
+      i: a signed int 
+    returning 
+      signed int 
+    with body 
+
+fII2: a function
+    with parameters
+      i: a signed int 
+    returning 
+      const signed int 
+    with body 
+
+fII3: a extern function
+    with parameters
+      i: a signed int 
+    returning 
+      signed int 
+    with body 
+
+fII4: a extern function
+    with parameters
+      i: a signed int 
+    returning 
+      const signed int 
+    with body 
+
+fII5: a function
+    returning 
+      pointer to signed int 
+    with body 
+
+fII6: a function
+    returning 
+      const pointer to signed int 
+    with body 
+
+fII7: a function
+    returning 
+      pointer to const long signed int 
+    with body 
+
+fII8: a static function
+    returning 
+      pointer to const long signed int 
+    with body 
+
+fII9: a static function
+    returning 
+      pointer to const long signed int 
+    with body 
+
+fO1: a function
+    returning 
+      signed int 
+    with parameter names
+      i
+    with parameter declarations
+      i: a signed int 
+    with body 
+
+fO2: a function
+    returning 
+      signed int 
+    with parameter names
+      i
+    with parameter declarations
+      i: a signed int 
+    with body 
+
+fO3: a function
+    returning 
+      const signed int 
+    with parameter names
+      i
+    with parameter declarations
+      i: a signed int 
+    with body 
+
+fO4: a extern function
+    returning 
+      signed int 
+    with parameter names
+      i
+    with parameter declarations
+      i: a signed int 
+    with body 
+
+fO5: a extern function
+    returning 
+      const signed int 
+    with parameter names
+      i
+    with parameter declarations
+      i: a signed int 
+    with body 
+
+f: a function
+    returning 
+      nothing 
+
+f: a function
+    returning 
+      signed int 
+
+f: a function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+f: a function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f: a function
+    returning 
+      nothing 
+    with body 
+
+f: a function
+    returning 
+      signed int 
+    with body 
+
+f: a function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+    with body 
+
+f: a function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+    with body 
+
+f: a function
+    returning 
+      x: a signed int 
+
+f: a function
+    with parameters
+      x: a signed int 
+    returning 
+      nothing 
+
+f: a function
+    with parameters
+      x: a signed int 
+    returning 
+      x: a signed int 
+
+f: a function
+    returning 
+      x: a signed int 
+    with body 
+
+f: a function
+    with parameters
+      x: a signed int 
+    returning 
+      nothing 
+    with body 
+
+f: a function
+    with parameters
+      x: a signed int 
+    returning 
+      x: a signed int 
+    with body 
+
+f: a function
+    returning 
+      signed int 
+      x: a signed int 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+    returning 
+      nothing 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+    returning 
+      signed int 
+      x: a signed int 
+
+f: a function
+    returning 
+      signed int 
+      x: a signed int 
+    with body 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+    returning 
+      nothing 
+    with body 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+    returning 
+      signed int 
+      x: a signed int 
+    with body 
+
+f: a function
+    returning 
+      signed int 
+      x: a signed int 
+      signed int 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+      signed int 
+    returning 
+      nothing 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+      signed int 
+    returning 
+      signed int 
+      x: a signed int 
+      signed int 
+
+f: a function
+    returning 
+      signed int 
+      x: a signed int 
+      signed int 
+    with body 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+      signed int 
+    returning 
+      nothing 
+    with body 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+      signed int 
+    returning 
+      signed int 
+      x: a signed int 
+      signed int 
+    with body 
+
+f: a function
+    returning 
+      signed int 
+      x: a signed int 
+      y: a pointer to signed int 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+      y: a pointer to signed int 
+    returning 
+      nothing 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+      y: a pointer to signed int 
+    returning 
+      signed int 
+      x: a signed int 
+      y: a pointer to signed int 
+
+f: a function
+    returning 
+      signed int 
+      x: a signed int 
+      y: a pointer to signed int 
+    with body 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+      y: a pointer to signed int 
+    returning 
+      nothing 
+    with body 
+
+f: a function
+    with parameters
+      signed int 
+      x: a signed int 
+      y: a pointer to signed int 
+    returning 
+      signed int 
+      x: a signed int 
+      y: a pointer to signed int 
+    with body 
+
+f11: a function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f12: a function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f: a function
+    with parameters
+      function
+          with parameters
+            signed int 
+            p: a signed int 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+    returning 
+      signed int 
+    with body 
+      Declaration of p: a pointer to open array of open array of pointer to open array of open array of signed int 
+      Declaration of p: a pointer to open array of open array of pointer to open array of open array of signed int 
+      Declaration of p: a pointer to open array of pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+
+f1: a static function
+    returning 
+      pointer to const signed int 
+    with body 
+
+f2: a static function
+    returning 
+      const signed int 
+    with body 
+
+f3: a inline static function
+    returning 
+      const pointer to signed int 
+    with body 
+
+f4: a inline static function
+    returning 
+      const tuple of types
+          pointer to signed int 
+          signed int 
+
+    with body 
+
+f5: a static function
+    returning 
+      const tuple of types
+          pointer to signed int 
+          const signed int 
+
+    with body 
+
+f: a function
+    with parameters
+      function
+          returning 
+            signed int 
+
+      function
+          returning 
+            pointer to signed int 
+
+      function
+          returning 
+            pointer to pointer to signed int 
+
+      function
+          returning 
+            pointer to const pointer to signed int 
+
+      function
+          returning 
+            const pointer to const pointer to signed int 
+
+      open array of signed int 
+      open array of signed int 
+      open array of pointer to signed int 
+      open array of pointer to signed int 
+      open array of pointer to pointer to signed int 
+      open array of pointer to pointer to signed int 
+      open array of pointer to const pointer to signed int 
+      open array of pointer to const pointer to signed int 
+      open array of const pointer to const pointer to signed int 
+      open array of const pointer to const pointer to signed int 
+    returning 
+      signed int 
+
+f: a function
+    with parameters
+      function
+          returning 
+            signed int 
+
+      function
+          returning 
+            pointer to signed int 
+
+      function
+          returning 
+            pointer to pointer to signed int 
+
+      function
+          returning 
+            pointer to const pointer to signed int 
+
+      function
+          returning 
+            const pointer to const pointer to signed int 
+
+      open array of signed int 
+      open array of signed int 
+      open array of pointer to signed int 
+      open array of pointer to signed int 
+      open array of pointer to pointer to signed int 
+      open array of pointer to pointer to signed int 
+      open array of pointer to const pointer to signed int 
+      open array of pointer to const pointer to signed int 
+      open array of const pointer to const pointer to signed int 
+      open array of const pointer to const pointer to signed int 
+    returning 
+      signed int 
+    with body 
+
+T: a typedef for signed int 
+f: a function
+    with parameters
+      function
+          with parameters
+            instance of type T 
+          returning 
+            instance of type T 
+
+      T: a instance of type T 
+    returning 
+      signed int 
+    with body 
+
Index: src/Tests/SynTree/Expected/IdentFuncDeclarator.tst
===================================================================
--- src/Tests/SynTree/Expected/IdentFuncDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/IdentFuncDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,180 @@
+main: a function
+    returning 
+      signed int 
+    with body 
+      Declaration of f1: a signed int 
+      Declaration of f2: a signed int 
+      Declaration of f3: a pointer to signed int 
+      Declaration of f4: a pointer to pointer to signed int 
+      Declaration of f5: a pointer to const pointer to signed int 
+      Declaration of f6: a const pointer to const pointer to signed int 
+      Declaration of f7: a pointer to signed int 
+      Declaration of f8: a pointer to pointer to signed int 
+      Declaration of f9: a pointer to const pointer to signed int 
+      Declaration of f10: a const pointer to const pointer to signed int 
+      Declaration of f11: a pointer to signed int 
+      Declaration of f12: a pointer to pointer to signed int 
+      Declaration of f13: a pointer to const pointer to signed int 
+      Declaration of f14: a const pointer to const pointer to signed int 
+      Declaration of f15: a open array of signed int 
+      Declaration of f16: a open array of signed int 
+      Declaration of f17: a open array of signed int 
+      Declaration of f18: a open array of signed int 
+      Declaration of f19: a open array of pointer to signed int 
+      Declaration of f20: a open array of pointer to signed int 
+      Declaration of f21: a open array of pointer to pointer to signed int 
+      Declaration of f22: a open array of pointer to pointer to signed int 
+      Declaration of f23: a open array of pointer to const pointer to signed int 
+      Declaration of f24: a open array of pointer to const pointer to signed int 
+      Declaration of f25: a open array of const pointer to const pointer to signed int 
+      Declaration of f26: a open array of const pointer to const pointer to signed int 
+      Declaration of f27: a open array of pointer to signed int 
+      Declaration of f28: a open array of pointer to signed int 
+      Declaration of f29: a open array of pointer to pointer to signed int 
+      Declaration of f30: a open array of pointer to pointer to signed int 
+      Declaration of f31: a open array of pointer to const pointer to signed int 
+      Declaration of f32: a open array of pointer to const pointer to signed int 
+      Declaration of f33: a open array of const pointer to const pointer to signed int 
+      Declaration of f34: a open array of const pointer to const pointer to signed int 
+      Declaration of f35: a open array of pointer to signed int 
+      Declaration of f36: a open array of pointer to signed int 
+      Declaration of f37: a open array of pointer to pointer to signed int 
+      Declaration of f38: a open array of pointer to pointer to signed int 
+      Declaration of f39: a open array of pointer to const pointer to signed int 
+      Declaration of f40: a open array of pointer to const pointer to signed int 
+      Declaration of f41: a open array of const pointer to const pointer to signed int 
+      Declaration of f42: a open array of const pointer to const pointer to signed int 
+      Declaration of f43: a open array of open array of signed int 
+      Declaration of f44: a open array of open array of signed int 
+      Declaration of f45: a open array of open array of signed int 
+      Declaration of f46: a open array of open array of signed int 
+      Declaration of f47: a open array of open array of signed int 
+      Declaration of f48: a open array of open array of signed int 
+      Declaration of f49: a open array of open array of pointer to signed int 
+      Declaration of f50: a open array of open array of pointer to signed int 
+      Declaration of f51: a open array of open array of pointer to pointer to signed int 
+      Declaration of f52: a open array of open array of pointer to pointer to signed int 
+      Declaration of f53: a open array of open array of pointer to const pointer to signed int 
+      Declaration of f54: a open array of open array of pointer to const pointer to signed int 
+      Declaration of f55: a open array of open array of const pointer to const pointer to signed int 
+      Declaration of f56: a open array of open array of const pointer to const pointer to signed int 
+      Declaration of f57: a open array of open array of pointer to signed int 
+      Declaration of f58: a open array of open array of pointer to signed int 
+      Declaration of f59: a open array of open array of pointer to pointer to signed int 
+      Declaration of f60: a open array of open array of pointer to pointer to signed int 
+      Declaration of f61: a open array of open array of pointer to const pointer to signed int 
+      Declaration of f62: a open array of open array of pointer to const pointer to signed int 
+      Declaration of f63: a open array of open array of const pointer to const pointer to signed int 
+      Declaration of f64: a open array of open array of const pointer to const pointer to signed int 
+      Declaration of f65: a function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f66: a function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f67: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      Declaration of f68: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to pointer to signed int 
+
+      Declaration of f69: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to const pointer to signed int 
+
+      Declaration of f70: a function
+          with parameters
+            signed int 
+          returning 
+            const pointer to const pointer to signed int 
+
+      Declaration of f71: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      Declaration of f72: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to pointer to signed int 
+
+      Declaration of f73: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to const pointer to signed int 
+
+      Declaration of f74: a function
+          with parameters
+            signed int 
+          returning 
+            const pointer to const pointer to signed int 
+
+      Declaration of f75: a pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f76: a pointer to pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f77: a pointer to const pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f78: a const pointer to const pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f79: a pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to function
+                returning 
+                  signed int 
+
+
+      Declaration of f80: a const pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to function
+                returning 
+                  signed int 
+
+
+      Declaration of f81: a const pointer to function
+          with parameters
+            signed int 
+          returning 
+            const pointer to function
+                returning 
+                  signed int 
+
+
+
Index: src/Tests/SynTree/Expected/Initialization.tst
===================================================================
--- src/Tests/SynTree/Expected/Initialization.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Initialization.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,33 @@
+x21: a pointer to signed int 
+x22: a signed int 
+x21: a pointer to signed int 
+x22: a signed int 
+y1: a open array of signed int 
+y2: a open array of signed int 
+struct __anonymous0
+    with members
+      w: a tuple of types
+          signed int 
+
+
+a: a instance of struct __anonymous0 
+struct __anonymous1
+    with members
+      a: a open array of signed int 
+      b: a signed int 
+
+w: a open array of instance of struct __anonymous1 
+struct __anonymous3
+    with members
+      f1: a signed int 
+      f2: a signed int 
+      f3: a signed int 
+      struct __anonymous2
+          with members
+            g1: a signed int 
+            g2: a signed int 
+            g3: a signed int 
+
+      f4: a open array of instance of struct __anonymous2 
+
+v7: a instance of struct __anonymous3 
Index: src/Tests/SynTree/Expected/Scope.tst
===================================================================
--- src/Tests/SynTree/Expected/Scope.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Scope.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,115 @@
+in default case, (shouldn't be here)
+in default case, (shouldn't be here)
+in default case, (shouldn't be here)
+x: a signed int 
+y: a typedef for double 
+t: a typedef for float 
+z: a instance of type y 
+struct __anonymous0
+    with members
+      a: a signed int 
+      b: a double 
+
+u: a type for instance of struct __anonymous0 
+f: a function
+    with parameters
+      y: a signed int 
+    returning 
+      signed int 
+
+q: a instance of type y 
+w: a function
+    with parameters
+      y: a instance of type y 
+      v: a instance of type u 
+    returning 
+      instance of type y 
+    with body 
+      Declaration of x: a type
+        with assertions
+          t: a function
+              with parameters
+                instance of type u 
+              returning 
+                instance of type x 
+
+
+      Declaration of u: a instance of type u 
+      Declaration of z: a instance of type x 
+
+p: a instance of type y 
+context has_u
+    with parameters
+      z: a type
+
+    with members
+      u: a function
+          with parameters
+            instance of type z 
+          returning 
+            instance of type z 
+
+
+q: a function
+    with parameters
+      the_t: a instance of type t 
+    with forall
+      t: a type
+        with assertions
+          instance of context has_u 
+            with parameters
+              instance of type t 
+
+
+    returning 
+      instance of type y 
+    with body 
+      Declaration of y: a instance of type t 
+
+f: a function
+    with parameters
+      p: a instance of type y 
+    returning 
+      instance of type t 
+    with body 
+      Declaration of y: a signed int 
+      Declaration of x: a typedef for char 
+              Declaration of y: a instance of type x 
+        Declaration of z: a typedef for instance of type x 
+                  Declaration of x: a instance of type z 
+          Declaration of y: a typedef for instance of type z 
+          Declaration of z: a instance of type y 
+
+        Declaration of x: a instance of type z 
+
+      Declaration of q: a instance of type x 
+
+g: a function
+    with parameters
+      void 
+    returning 
+      instance of type t 
+    with body 
+      Declaration of x: a typedef for char 
+      Declaration of z: a instance of type x 
+
+q: a function
+    returning 
+      instance of type y 
+    with parameter names
+      i
+    with parameter declarations
+      i: a signed int 
+    with body 
+      
+        Switch on condition: 
+            Name: i
+
+            Case: 
+            .... and 1 conditions 
+                Name: 0
+
+            Case: 
+            .... and 0 conditions 
+
+
Index: src/Tests/SynTree/Expected/StructMember.tst
===================================================================
--- src/Tests/SynTree/Expected/StructMember.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/StructMember.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,69 @@
+T: a typedef for signed int 
+struct S
+    with members
+      m1: a signed int 
+      m2: a signed int 
+      signed int 
+      signed int 
+      signed int 
+      m3: a signed int 
+      m4: a signed int 
+      m5: a signed int 
+      m6: a signed int 
+      m7: a pointer to signed int 
+      m8: a pointer to signed int 
+      m9: a pointer to signed int 
+      m10: a pointer to function
+          returning 
+            signed int 
+
+      m11: a pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      T: a instance of type T 
+      T: a instance of type T 
+      m12: a pointer to signed int 
+      m13: a pointer to signed int 
+      m14: a pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+      pointer to signed int 
+      signed int 
+      signed int 
+      pointer to signed int 
+      pointer to signed int 
+      pointer to signed int 
+      pointer to signed int 
+      pointer to signed int 
+      pointer to signed int 
+      pointer to function
+          returning 
+            signed int 
+
+      pointer to pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      instance of type T 
+
+s: a instance of struct S 
+union U
+    with members
+      m1: a open array of signed int 
+      m2: a open array of signed int 
+      m3: a pointer to signed int 
+      m4: a pointer to signed int 
+
+u: a instance of union U 
Index: src/Tests/SynTree/Expected/Tuple.tst
===================================================================
--- src/Tests/SynTree/Expected/Tuple.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Tuple.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,104 @@
+f: a function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+g: a function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+h: a static function
+    with parameters
+      a: a signed int 
+      b: a signed int 
+      c: a pointer to signed int 
+      d: a open array of char 
+    returning 
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+
+struct inner
+    with members
+      f2: a signed int 
+      f3: a signed int 
+
+struct outer
+    with members
+      f1: a signed int 
+      i: a instance of struct inner 
+      f4: a double 
+
+s: a instance of struct outer 
+sp: a pointer to instance of struct outer 
+t1: a const volatile tuple of types
+    signed int 
+    signed int 
+
+t2: a static const tuple of types
+    signed int 
+    const signed int 
+
+t3: a static const tuple of types
+    signed int 
+    const signed int 
+
+printf: a function
+    with parameters
+      fmt: a pointer to char 
+      and a variable number of other arguments
+    returning 
+      rc: a signed int 
+
+printf: a function
+    with parameters
+      fmt: a pointer to char 
+      and a variable number of other arguments
+    returning 
+      signed int 
+
+f1: a function
+    with parameters
+      w: a signed int 
+    returning 
+      x: a short signed int 
+      y: a unsigned int 
+    with body 
+
+g1: a function
+    returning 
+      r: a tuple of types
+          signed int 
+          char 
+          long signed int 
+          signed int 
+
+    with body 
+      Declaration of x: a short signed int 
+      Declaration of p: a short signed int 
+      Declaration of y: a unsigned int 
+      Declaration of z: a tuple of types
+          signed int 
+          signed int 
+
+
+main: a function
+    with parameters
+      argc: a signed int 
+      argv: a pointer to pointer to char 
+    returning 
+      rc: a signed int 
+    with body 
+      Declaration of a: a signed int 
+      Declaration of b: a signed int 
+      Declaration of c: a signed int 
+      Declaration of d: a signed int 
+      Declaration of t: a instance of struct outer 
+
Index: src/Tests/SynTree/Expected/TypeGenerator.tst
===================================================================
--- src/Tests/SynTree/Expected/TypeGenerator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/TypeGenerator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,116 @@
+context addable
+    with parameters
+      T: a type
+
+    with members
+      ?+?: a function
+          with parameters
+            instance of type T 
+            instance of type T 
+          returning 
+            instance of type T 
+
+
+struct __anonymous0
+    with members
+      data: a instance of type T 
+      next: a pointer to instance of type List 
+        with parameters
+          instance of type T 
+
+
+List: a type for pointer to instance of struct __anonymous0 
+  with parameters
+    T: a type
+      with assertions
+        instance of context addable 
+          with parameters
+            instance of type T 
+
+
+
+  with assertions
+    instance of context addable 
+      with parameters
+        instance of type T 
+
+
+ListOfIntegers: a typedef for instance of type List 
+  with parameters
+    signed int 
+
+li: a instance of type ListOfIntegers 
+f: a function
+    with parameters
+      g: a pointer to function
+          with parameters
+            signed int 
+          returning 
+            instance of type List 
+              with parameters
+                signed int 
+
+
+    returning 
+      signed int 
+
+h: a function
+    with parameters
+      p: a pointer to instance of type List 
+        with parameters
+          signed int 
+
+    returning 
+      signed int 
+
+struct node
+    with parameters
+      T: a type
+        with assertions
+          instance of context addable 
+            with parameters
+              instance of type T 
+
+
+
+    with members
+      data: a instance of type T 
+      next: a pointer to instance of struct node 
+        with parameters
+          instance of type T 
+
+
+List: a type for pointer to instance of struct node 
+  with parameters
+    instance of type T 
+
+  with parameters
+    T: a type
+
+my_list: a instance of type List 
+  with parameters
+    signed int 
+
+Complex: a type
+  with assertions
+    instance of context addable 
+      with parameters
+        instance of type Complex 
+
+
+main: a function
+    returning 
+      signed int 
+    with body 
+      
+        Expression Statement:
+          Cast of:
+            Name: my_list
+
+          to:
+            instance of struct node 
+              with parameters
+                signed int 
+
+
+
Index: src/Tests/SynTree/Expected/Typedef.tst
===================================================================
--- src/Tests/SynTree/Expected/Typedef.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/Typedef.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,85 @@
+T: a typedef for signed int 
+f: a function
+    with parameters
+      void 
+    returning 
+      void 
+    with body 
+      Declaration of T: a function
+          with parameters
+            instance of type T 
+          returning 
+            signed int 
+
+
+struct __anonymous0
+    with members
+      T: a instance of type T 
+
+fred: a instance of struct __anonymous0 
+a: a typedef for pointer to function
+    with parameters
+      signed int 
+      char 
+    returning 
+      signed int 
+
+b: a instance of type a 
+g: a function
+    with parameters
+      void 
+    returning 
+      signed int 
+    with body 
+      Declaration of a: a double 
+
+c: a instance of type a 
+main: a function
+    returning 
+      signed int 
+    with body 
+
+arrayOf10Pointers: a typedef for open array of pointer to signed int 
+x: a instance of type arrayOf10Pointers 
+constantPointer: a typedef for const pointer to signed int 
+funcPtr: a typedef for pointer to function
+    with parameters
+      open array of signed int 
+    returning 
+      signed int 
+
+funcProto: a typedef for function
+    with parameters
+      open array of signed int 
+    returning 
+      signed int 
+
+tupleType: a typedef for tuple of types
+    signed int 
+    signed int 
+
+tupleTypePtr: a typedef for pointer to tuple of types
+    signed int 
+    signed int 
+
+a: a typedef for pointer to signed int 
+b: a typedef for pointer to signed int 
+f: a typedef for function
+    with parameters
+      pointer to signed int 
+    returning 
+      signed int 
+
+g: a typedef for function
+    with parameters
+      pointer to signed int 
+    returning 
+      signed int 
+
+t: a typedef for tuple of types
+    pointer to static open array of signed int 
+
+f: a typedef for function
+    returning 
+      x: a pointer to static open array of signed int 
+
Index: src/Tests/SynTree/Expected/TypedefDeclarator.tst
===================================================================
--- src/Tests/SynTree/Expected/TypedefDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/TypedefDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,270 @@
+f0: a typedef for signed int 
+f1: a typedef for signed int 
+f2: a typedef for signed int 
+f3: a typedef for signed int 
+f4: a typedef for signed int 
+f5: a typedef for signed int 
+f6: a typedef for signed int 
+f7: a typedef for signed int 
+f8: a typedef for signed int 
+f9: a typedef for signed int 
+f10: a typedef for signed int 
+f11: a typedef for signed int 
+f12: a typedef for signed int 
+f13: a typedef for signed int 
+f14: a typedef for signed int 
+f15: a typedef for signed int 
+f16: a typedef for signed int 
+f17: a typedef for signed int 
+f18: a typedef for signed int 
+f19: a typedef for signed int 
+f20: a typedef for signed int 
+f21: a typedef for signed int 
+f22: a typedef for signed int 
+f23: a typedef for signed int 
+f24: a typedef for signed int 
+f25: a typedef for signed int 
+f26: a typedef for signed int 
+f27: a typedef for signed int 
+f28: a typedef for signed int 
+f29: a typedef for signed int 
+f30: a typedef for signed int 
+f31: a typedef for signed int 
+f32: a typedef for signed int 
+f33: a typedef for signed int 
+f34: a typedef for signed int 
+f35: a typedef for signed int 
+f36: a typedef for signed int 
+f37: a typedef for signed int 
+f38: a typedef for signed int 
+f39: a typedef for signed int 
+f40: a typedef for signed int 
+f41: a typedef for signed int 
+f42: a typedef for signed int 
+f43: a typedef for signed int 
+f44: a typedef for signed int 
+f45: a typedef for signed int 
+f46: a typedef for signed int 
+f47: a typedef for signed int 
+f48: a typedef for signed int 
+f49: a typedef for signed int 
+f50: a typedef for signed int 
+f51: a typedef for signed int 
+f52: a typedef for signed int 
+f53: a typedef for signed int 
+f54: a typedef for signed int 
+f55: a typedef for signed int 
+f56: a typedef for signed int 
+f57: a typedef for signed int 
+f58: a typedef for signed int 
+f59: a typedef for signed int 
+f60: a typedef for signed int 
+f61: a typedef for signed int 
+f62: a typedef for signed int 
+f63: a typedef for signed int 
+f64: a typedef for signed int 
+f65: a typedef for signed int 
+f66: a typedef for signed int 
+f67: a typedef for signed int 
+f68: a typedef for signed int 
+f69: a typedef for signed int 
+f70: a typedef for signed int 
+f71: a typedef for signed int 
+f72: a typedef for signed int 
+f73: a typedef for signed int 
+f74: a typedef for signed int 
+f75: a typedef for signed int 
+f76: a typedef for signed int 
+f77: a typedef for signed int 
+f78: a typedef for signed int 
+f79: a typedef for signed int 
+f80: a typedef for signed int 
+f81: a typedef for signed int 
+f82: a typedef for signed int 
+f83: a typedef for signed int 
+f84: a typedef for signed int 
+f85: a typedef for signed int 
+f86: a typedef for signed int 
+f87: a typedef for signed int 
+f88: a typedef for signed int 
+f89: a typedef for signed int 
+main: a function
+    returning 
+      signed int 
+    with body 
+      Declaration of f1: a signed int 
+      Declaration of f2: a signed int 
+      Declaration of f3: a pointer to signed int 
+      Declaration of f4: a pointer to pointer to signed int 
+      Declaration of f5: a pointer to const pointer to signed int 
+      Declaration of f6: a const pointer to const pointer to signed int 
+      Declaration of f7: a pointer to signed int 
+      Declaration of f8: a pointer to pointer to signed int 
+      Declaration of f9: a pointer to const pointer to signed int 
+      Declaration of f10: a const pointer to const pointer to signed int 
+      Declaration of f11: a pointer to signed int 
+      Declaration of f12: a pointer to pointer to signed int 
+      Declaration of f13: a pointer to const pointer to signed int 
+      Declaration of f14: a const pointer to const pointer to signed int 
+      Declaration of f15: a open array of signed int 
+      Declaration of f16: a open array of signed int 
+      Declaration of f17: a open array of signed int 
+      Declaration of f18: a open array of signed int 
+      Declaration of f19: a open array of pointer to signed int 
+      Declaration of f20: a open array of pointer to signed int 
+      Declaration of f21: a open array of pointer to pointer to signed int 
+      Declaration of f22: a open array of pointer to pointer to signed int 
+      Declaration of f23: a open array of pointer to const pointer to signed int 
+      Declaration of f24: a open array of pointer to const pointer to signed int 
+      Declaration of f25: a open array of const pointer to const pointer to signed int 
+      Declaration of f26: a open array of const pointer to const pointer to signed int 
+      Declaration of f27: a open array of pointer to signed int 
+      Declaration of f28: a open array of pointer to signed int 
+      Declaration of f29: a open array of pointer to pointer to signed int 
+      Declaration of f30: a open array of pointer to pointer to signed int 
+      Declaration of f31: a open array of pointer to const pointer to signed int 
+      Declaration of f32: a open array of pointer to const pointer to signed int 
+      Declaration of f33: a open array of const pointer to const pointer to signed int 
+      Declaration of f34: a open array of const pointer to const pointer to signed int 
+      Declaration of f35: a open array of pointer to signed int 
+      Declaration of f36: a open array of pointer to signed int 
+      Declaration of f37: a open array of pointer to pointer to signed int 
+      Declaration of f38: a open array of pointer to pointer to signed int 
+      Declaration of f39: a open array of pointer to const pointer to signed int 
+      Declaration of f40: a open array of pointer to const pointer to signed int 
+      Declaration of f41: a open array of const pointer to const pointer to signed int 
+      Declaration of f42: a open array of const pointer to const pointer to signed int 
+      Declaration of f43: a open array of open array of signed int 
+      Declaration of f44: a open array of open array of signed int 
+      Declaration of f45: a open array of open array of signed int 
+      Declaration of f46: a open array of open array of signed int 
+      Declaration of f47: a open array of open array of signed int 
+      Declaration of f48: a open array of open array of signed int 
+      Declaration of f49: a open array of open array of pointer to signed int 
+      Declaration of f50: a open array of open array of pointer to signed int 
+      Declaration of f51: a open array of open array of pointer to pointer to signed int 
+      Declaration of f52: a open array of open array of pointer to pointer to signed int 
+      Declaration of f53: a open array of open array of pointer to const pointer to signed int 
+      Declaration of f54: a open array of open array of pointer to const pointer to signed int 
+      Declaration of f55: a open array of open array of const pointer to const pointer to signed int 
+      Declaration of f56: a open array of open array of const pointer to const pointer to signed int 
+      Declaration of f57: a open array of open array of pointer to signed int 
+      Declaration of f58: a open array of open array of pointer to signed int 
+      Declaration of f59: a open array of open array of pointer to pointer to signed int 
+      Declaration of f60: a open array of open array of pointer to pointer to signed int 
+      Declaration of f61: a open array of open array of pointer to const pointer to signed int 
+      Declaration of f62: a open array of open array of pointer to const pointer to signed int 
+      Declaration of f63: a open array of open array of const pointer to const pointer to signed int 
+      Declaration of f64: a open array of open array of const pointer to const pointer to signed int 
+      Declaration of f65: a function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f66: a function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f67: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      Declaration of f68: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to pointer to signed int 
+
+      Declaration of f69: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to const pointer to signed int 
+
+      Declaration of f70: a function
+          with parameters
+            signed int 
+          returning 
+            const pointer to const pointer to signed int 
+
+      Declaration of f71: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      Declaration of f72: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to pointer to signed int 
+
+      Declaration of f73: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to const pointer to signed int 
+
+      Declaration of f74: a function
+          with parameters
+            signed int 
+          returning 
+            const pointer to const pointer to signed int 
+
+      Declaration of f75: a pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f76: a pointer to pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f77: a pointer to const pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f78: a const pointer to const pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      Declaration of f79: a pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to function
+                returning 
+                  signed int 
+
+
+      Declaration of f80: a const pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to function
+                returning 
+                  signed int 
+
+
+      Declaration of f81: a const pointer to function
+          with parameters
+            signed int 
+          returning 
+            const pointer to function
+                returning 
+                  signed int 
+
+
+
Index: src/Tests/SynTree/Expected/TypedefParamDeclarator.tst
===================================================================
--- src/Tests/SynTree/Expected/TypedefParamDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/TypedefParamDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,378 @@
+f0: a typedef for signed int 
+f1: a typedef for signed int 
+f2: a typedef for signed int 
+f3: a typedef for signed int 
+f4: a typedef for signed int 
+f5: a typedef for signed int 
+f6: a typedef for signed int 
+f7: a typedef for signed int 
+f8: a typedef for signed int 
+f9: a typedef for signed int 
+f10: a typedef for signed int 
+f11: a typedef for signed int 
+f12: a typedef for signed int 
+f13: a typedef for signed int 
+f14: a typedef for signed int 
+f15: a typedef for signed int 
+f16: a typedef for signed int 
+f17: a typedef for signed int 
+f18: a typedef for signed int 
+f19: a typedef for signed int 
+f20: a typedef for signed int 
+f21: a typedef for signed int 
+f22: a typedef for signed int 
+f23: a typedef for signed int 
+f24: a typedef for signed int 
+f25: a typedef for signed int 
+f26: a typedef for signed int 
+f27: a typedef for signed int 
+f28: a typedef for signed int 
+f29: a typedef for signed int 
+f30: a typedef for signed int 
+f31: a typedef for signed int 
+f32: a typedef for signed int 
+f33: a typedef for signed int 
+f34: a typedef for signed int 
+f35: a typedef for signed int 
+f36: a typedef for signed int 
+f37: a typedef for signed int 
+f38: a typedef for signed int 
+f39: a typedef for signed int 
+f40: a typedef for signed int 
+f41: a typedef for signed int 
+f42: a typedef for signed int 
+f43: a typedef for signed int 
+f44: a typedef for signed int 
+f45: a typedef for signed int 
+f46: a typedef for signed int 
+f47: a typedef for signed int 
+f48: a typedef for signed int 
+f49: a typedef for signed int 
+f50: a typedef for signed int 
+f51: a typedef for signed int 
+f52: a typedef for signed int 
+f53: a typedef for signed int 
+f54: a typedef for signed int 
+f55: a typedef for signed int 
+f56: a typedef for signed int 
+f57: a typedef for signed int 
+f58: a typedef for signed int 
+f59: a typedef for signed int 
+f60: a typedef for signed int 
+f61: a typedef for signed int 
+f62: a typedef for signed int 
+f63: a typedef for signed int 
+f64: a typedef for signed int 
+f65: a typedef for signed int 
+f66: a typedef for signed int 
+f67: a typedef for signed int 
+f68: a typedef for signed int 
+f69: a typedef for signed int 
+f70: a typedef for signed int 
+f71: a typedef for signed int 
+f72: a typedef for signed int 
+f73: a typedef for signed int 
+f74: a typedef for signed int 
+f75: a typedef for signed int 
+f76: a typedef for signed int 
+f77: a typedef for signed int 
+f78: a typedef for signed int 
+f79: a typedef for signed int 
+f80: a typedef for signed int 
+f81: a typedef for signed int 
+f82: a typedef for signed int 
+f83: a typedef for signed int 
+f84: a typedef for signed int 
+f85: a typedef for signed int 
+f86: a typedef for signed int 
+f87: a typedef for signed int 
+f88: a typedef for signed int 
+f89: a typedef for signed int 
+f90: a typedef for signed int 
+f91: a typedef for signed int 
+f92: a typedef for signed int 
+f93: a typedef for signed int 
+f94: a typedef for signed int 
+f95: a typedef for signed int 
+f96: a typedef for signed int 
+f97: a typedef for signed int 
+f98: a typedef for signed int 
+f99: a typedef for signed int 
+f100: a typedef for signed int 
+f101: a typedef for signed int 
+f102: a typedef for signed int 
+f103: a typedef for signed int 
+f104: a typedef for signed int 
+f105: a typedef for signed int 
+f106: a typedef for signed int 
+f107: a typedef for signed int 
+f108: a typedef for signed int 
+f109: a typedef for signed int 
+f110: a typedef for signed int 
+f111: a typedef for signed int 
+f112: a typedef for signed int 
+f113: a typedef for signed int 
+f114: a typedef for signed int 
+f115: a typedef for signed int 
+f116: a typedef for signed int 
+f117: a typedef for signed int 
+f118: a typedef for signed int 
+f119: a typedef for signed int 
+fred: a function
+    with parameters
+      f1: a signed int 
+      f3: a pointer to signed int 
+      f4: a pointer to pointer to signed int 
+      f5: a pointer to const pointer to signed int 
+      f6: a const pointer to const pointer to signed int 
+      f11: a pointer to signed int 
+      f12: a pointer to pointer to signed int 
+      f13: a pointer to const pointer to signed int 
+      f14: a const pointer to const pointer to signed int 
+      f15: a open array of signed int 
+      f16: a open array of signed int 
+      f19: a open array of pointer to signed int 
+      f20: a open array of pointer to signed int 
+      f21: a open array of pointer to pointer to signed int 
+      f22: a open array of pointer to pointer to signed int 
+      f23: a open array of pointer to const pointer to signed int 
+      f24: a open array of pointer to const pointer to signed int 
+      f25: a open array of const pointer to const pointer to signed int 
+      f26: a open array of const pointer to const pointer to signed int 
+      f35: a open array of pointer to signed int 
+      f36: a open array of pointer to signed int 
+      f37: a open array of pointer to pointer to signed int 
+      f38: a open array of pointer to pointer to signed int 
+      f39: a open array of pointer to const pointer to signed int 
+      f40: a open array of pointer to const pointer to signed int 
+      f41: a open array of const pointer to const pointer to signed int 
+      f42: a open array of const pointer to const pointer to signed int 
+      f43: a open array of open array of signed int 
+      f44: a open array of open array of signed int 
+      f49: a open array of open array of pointer to signed int 
+      f50: a open array of open array of pointer to signed int 
+      f51: a open array of open array of pointer to pointer to signed int 
+      f52: a open array of open array of pointer to pointer to signed int 
+      f53: a open array of open array of pointer to const pointer to signed int 
+      f54: a open array of open array of pointer to const pointer to signed int 
+      f55: a open array of open array of const pointer to const pointer to signed int 
+      f56: a open array of open array of const pointer to const pointer to signed int 
+      f57: a open array of open array of pointer to signed int 
+      f58: a open array of open array of pointer to signed int 
+      f59: a open array of open array of pointer to pointer to signed int 
+      f60: a open array of open array of pointer to pointer to signed int 
+      f61: a open array of open array of pointer to const pointer to signed int 
+      f62: a open array of open array of pointer to const pointer to signed int 
+      f63: a open array of open array of const pointer to const pointer to signed int 
+      f64: a open array of open array of const pointer to const pointer to signed int 
+      f65: a function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f67: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      f68: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to pointer to signed int 
+
+      f69: a function
+          with parameters
+            signed int 
+          returning 
+            pointer to const pointer to signed int 
+
+      f70: a function
+          with parameters
+            signed int 
+          returning 
+            const pointer to const pointer to signed int 
+
+      f75: a pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f76: a pointer to pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f77: a pointer to const pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f78: a const pointer to const pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      f79: a pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to function
+                returning 
+                  signed int 
+
+
+      f80: a const pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to function
+                returning 
+                  signed int 
+
+
+      f81: a const pointer to function
+          with parameters
+            signed int 
+          returning 
+            const pointer to function
+                returning 
+                  signed int 
+
+
+      f82: a const variable length array of signed int 
+      f83: a const open array of signed int 
+      f84: a static open array of signed int 
+      f85: a const static open array of signed int 
+      function
+          with parameters
+            const variable length array of instance of type f86 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            const open array of instance of type f87 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            static open array of instance of type f88 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            const static open array of instance of type f89 
+          returning 
+            signed int 
+
+      f90: a const variable length array of pointer to signed int 
+      f91: a const open array of pointer to signed int 
+      f92: a static open array of pointer to pointer to signed int 
+      f93: a const static open array of pointer to const pointer to signed int 
+      f94: a const static open array of const pointer to const pointer to signed int 
+      function
+          with parameters
+            const variable length array of instance of type f95 
+          returning 
+            pointer to signed int 
+
+      function
+          with parameters
+            const open array of instance of type f96 
+          returning 
+            pointer to signed int 
+
+      function
+          with parameters
+            static open array of instance of type f97 
+          returning 
+            pointer to pointer to signed int 
+
+      function
+          with parameters
+            const static open array of instance of type f98 
+          returning 
+            pointer to const pointer to signed int 
+
+      function
+          with parameters
+            const static open array of instance of type f99 
+          returning 
+            const pointer to const pointer to signed int 
+
+      f100: a const variable length array of open array of signed int 
+      f101: a const open array of open array of signed int 
+      f102: a static open array of open array of signed int 
+      f103: a const static open array of open array of signed int 
+      function
+          with parameters
+            const variable length array of open array of instance of type f104 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            const open array of open array of instance of type f105 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            static open array of open array of instance of type f106 
+          returning 
+            signed int 
+
+      function
+          with parameters
+            const static open array of open array of instance of type f107 
+          returning 
+            signed int 
+
+      f108: a const variable length array of open array of pointer to signed int 
+      f109: a const open array of open array of pointer to signed int 
+      f110: a static open array of open array of pointer to pointer to signed int 
+      f111: a const static open array of open array of pointer to const pointer to signed int 
+      f112: a const static open array of open array of const pointer to const pointer to signed int 
+      function
+          with parameters
+            const variable length array of open array of instance of type f113 
+          returning 
+            pointer to signed int 
+
+      function
+          with parameters
+            const open array of open array of instance of type f114 
+          returning 
+            pointer to signed int 
+
+      function
+          with parameters
+            static open array of open array of instance of type f115 
+          returning 
+            pointer to pointer to signed int 
+
+      function
+          with parameters
+            const static open array of open array of instance of type f116 
+          returning 
+            pointer to const pointer to signed int 
+
+      function
+          with parameters
+            const static open array of open array of instance of type f117 
+          returning 
+            const pointer to const pointer to signed int 
+
+    returning 
+      signed int 
+    with body 
+
Index: src/Tests/SynTree/Expected/VariableDeclarator.tst
===================================================================
--- src/Tests/SynTree/Expected/VariableDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Expected/VariableDeclarator.tst	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,184 @@
+f1: a signed int 
+f2: a signed int 
+f3: a pointer to signed int 
+f4: a pointer to pointer to signed int 
+f5: a pointer to const pointer to signed int 
+f6: a const pointer to const pointer to signed int 
+f7: a pointer to signed int 
+f8: a pointer to pointer to signed int 
+f9: a pointer to const pointer to signed int 
+f10: a const pointer to const pointer to signed int 
+f11: a pointer to signed int 
+f12: a pointer to pointer to signed int 
+f13: a pointer to const pointer to signed int 
+f14: a const pointer to const pointer to signed int 
+f15: a open array of signed int 
+f16: a open array of signed int 
+f17: a open array of signed int 
+f18: a open array of signed int 
+f19: a open array of pointer to signed int 
+f20: a open array of pointer to signed int 
+f21: a open array of pointer to pointer to signed int 
+f22: a open array of pointer to pointer to signed int 
+f23: a open array of pointer to const pointer to signed int 
+f24: a open array of pointer to const pointer to signed int 
+f25: a open array of const pointer to const pointer to signed int 
+f26: a open array of const pointer to const pointer to signed int 
+f27: a open array of pointer to signed int 
+f28: a open array of pointer to signed int 
+f29: a open array of pointer to pointer to signed int 
+f30: a open array of pointer to pointer to signed int 
+f31: a open array of pointer to const pointer to signed int 
+f32: a open array of pointer to const pointer to signed int 
+f33: a open array of const pointer to const pointer to signed int 
+f34: a open array of const pointer to const pointer to signed int 
+f35: a open array of pointer to signed int 
+f36: a open array of pointer to signed int 
+f37: a open array of pointer to pointer to signed int 
+f38: a open array of pointer to pointer to signed int 
+f39: a open array of pointer to const pointer to signed int 
+f40: a open array of pointer to const pointer to signed int 
+f41: a open array of const pointer to const pointer to signed int 
+f42: a open array of const pointer to const pointer to signed int 
+f43: a open array of open array of signed int 
+f44: a open array of open array of signed int 
+f45: a open array of open array of signed int 
+f46: a open array of open array of signed int 
+f47: a open array of open array of signed int 
+f48: a open array of open array of signed int 
+f49: a open array of open array of pointer to signed int 
+f50: a open array of open array of pointer to signed int 
+f51: a open array of open array of pointer to pointer to signed int 
+f52: a open array of open array of pointer to pointer to signed int 
+f53: a open array of open array of pointer to const pointer to signed int 
+f54: a open array of open array of pointer to const pointer to signed int 
+f55: a open array of open array of const pointer to const pointer to signed int 
+f56: a open array of open array of const pointer to const pointer to signed int 
+f57: a open array of open array of pointer to signed int 
+f58: a open array of open array of pointer to signed int 
+f59: a open array of open array of pointer to pointer to signed int 
+f60: a open array of open array of pointer to pointer to signed int 
+f61: a open array of open array of pointer to const pointer to signed int 
+f62: a open array of open array of pointer to const pointer to signed int 
+f63: a open array of open array of const pointer to const pointer to signed int 
+f64: a open array of open array of const pointer to const pointer to signed int 
+f65: a function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f66: a function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f67: a function
+    with parameters
+      signed int 
+    returning 
+      pointer to signed int 
+
+f68: a function
+    with parameters
+      signed int 
+    returning 
+      pointer to pointer to signed int 
+
+f69: a function
+    with parameters
+      signed int 
+    returning 
+      pointer to const pointer to signed int 
+
+f70: a function
+    with parameters
+      signed int 
+    returning 
+      const pointer to const pointer to signed int 
+
+f71: a function
+    with parameters
+      signed int 
+    returning 
+      pointer to signed int 
+
+f72: a function
+    with parameters
+      signed int 
+    returning 
+      pointer to pointer to signed int 
+
+f73: a function
+    with parameters
+      signed int 
+    returning 
+      pointer to const pointer to signed int 
+
+f74: a function
+    with parameters
+      signed int 
+    returning 
+      const pointer to const pointer to signed int 
+
+f75: a pointer to function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f76: a pointer to pointer to function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f77: a pointer to const pointer to function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f78: a const pointer to const pointer to function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+f79: a pointer to function
+    with parameters
+      signed int 
+    returning 
+      pointer to function
+          returning 
+            signed int 
+
+
+f80: a const pointer to function
+    with parameters
+      signed int 
+    returning 
+      pointer to function
+          returning 
+            signed int 
+
+
+f81: a const pointer to function
+    with parameters
+      signed int 
+    returning 
+      const pointer to function
+          returning 
+            signed int 
+
+
+z: a pointer to open array of double 
+w: a open array of pointer to char 
+v3: a pointer to open array of pointer to open array of pointer to function
+    with parameters
+      pointer to open array of pointer to open array of signed int 
+      pointer to open array of pointer to open array of signed int 
+    returning 
+      pointer to open array of pointer to open array of signed int 
+
Index: src/Tests/SynTree/Forall.c
===================================================================
--- src/Tests/SynTree/Forall.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Forall.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,51 @@
+typedef forall ( type T ) int (*f)( int );
+
+forall( type T )
+    void swap( T left, T right ) {
+	T temp = left;
+	left = right;
+	right = temp;
+    }
+
+context sumable( type T ) {
+    const T 0;
+    T ?+?(T, T);
+    T ?++(T);
+    [T] ?+=?(T,T);
+};
+
+type T1 | { const T1 0; T1 ?+?(T1, T1); T1 ?++(T1); [T1] ?+=?(T1,T1); },
+     T2(type P1, type P2 ),
+     T3 | sumable(T3);
+
+type T2(type P1, type P2) | sumable(T2(P1,P2)) = struct { P1 i; P2 j; };
+
+T2(int, int) w1;
+typedef T2(int, int) w2;
+w2 g2;
+type w3 = T2(int, int);
+w3 g3;
+
+forall( type T | sumable( T ) )
+    T sum( int n, T a[] ) {
+	T total = 0;
+	int i;
+	for ( i = 0; i < n; i += 1 )
+	    total = total + a[i];
+	return total;
+    }
+
+forall( type T | { const T 0; T ?+?(T, T); T ?++(T); [T] ?+=?(T,T); } )
+    T twice( T t ) {
+	return t + t;
+    }
+
+int main() {
+    int x = 1, y = 2, a[10];
+    float f;
+
+    swap( x, y );
+    twice( x, y );
+    f = min( 4.0, 3.0 );
+    sum( 10, a );
+}
Index: src/Tests/SynTree/Functions.c
===================================================================
--- src/Tests/SynTree/Functions.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Functions.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,163 @@
+// ANSI function definitions
+
+void h(void) {}
+
+int f (
+    int (void),
+    int (int),
+    int ((void)),
+    int ((int)),
+    void g(void)
+  ) {
+    (*g)();
+    g();
+    g = h;
+}
+
+int f1() {}
+int (f2()) {}
+int (*f3())() {}
+int *((f4())) {}
+int ((*f5()))() {}
+int *f6() {}
+int *(f7)() {}
+int **f8() {}
+int * const *(f9)() {}
+int (*f10())[] {}
+int (*f11())[][3] {}
+int ((*f12())[])[3] {}
+
+// "implicit int" type specifier (not ANSI)
+
+fII1( int i ) {}
+const fII2( int i ) {}
+extern fII3( int i ) {}
+extern const fII4( int i ) {}
+
+*fII5() {}
+const *fII6() {}
+const long *fII7() {}
+static const long *fII8() {}
+const static long *fII9() {}
+
+// K&R function definitions
+
+fO1( i ) int i; {}
+int fO2( i ) int i; {}
+const fO3( i ) int i; {}
+extern fO4( i ) int i; {}
+extern const fO5( i ) int i; {}
+
+// Cforall extensions
+
+[] f( );
+[int] f( );
+[] f(int);
+[int] f(int);
+[] f( ) {}
+[int] f( ) {}
+[] f(int) {}
+[int] f(int) {}
+
+[int x] f( );
+[] f(int x);
+[int x] f(int x);
+[int x] f( ) {}
+[] f(int x) {}
+[int x] f(int x) {}
+
+[int, int x] f( );
+[] f(int, int x);
+[int, int x] f(int, int x);
+[int, int x] f( ) {}
+[] f(int, int x) {}
+[int, int x] f(int, int x) {}
+
+[int, int x, int] f( );
+[] f(int, int x, int);
+[int, int x, int] f(int, int x, int);
+[int, int x, int] f( ) {}
+[] f(int, int x, int) {}
+[int, int x, int] f(int, int x, int) {}
+
+[int, int x, * int y] f( );
+[] f(int, int x, * int y);
+[int, int x, * int y] f(int, int x, * int y);
+[int, int x, * int y] f( ) {}
+[] f(int, int x, * int y) {}
+[int, int x, * int y] f(int, int x, * int y) {}
+
+[ int ] f11( int ), f12;  // => int f11( int ), f12( int );
+
+[int] f(
+	int ( int, int p ),
+	[int](int)
+    ) {
+    int (*(*p)[][10])[][3];
+    * [][10] * [][3] int p;
+    * [] * [int](int) p;
+}
+
+static const int *f1() {}
+static [ const int ] f2() {}
+static inline [ const * int ] f3() {}
+static inline [ const [ * int, int ] ] f4() {}
+static [ const [ * int, const int ] ] f5() {}
+
+// unnamed parameter
+
+int f(
+    int (),
+
+    int *(),
+    int **(),
+    int * const *(),
+    int * const * const (),
+
+    int ([]),
+    int ([10]),
+
+    int *([]),
+    int *([10]),
+    int **([]),
+    int **([10]),
+    int * const *([]),
+    int * const *([10]),
+    int * const * const ([]),
+    int * const * const ([10])
+    );
+
+int f(
+    int (),
+
+    int *(),
+    int **(),
+    int * const *(),
+    int * const * const (),
+
+    int ([]),
+    int ([10]),
+
+    int *([]),
+    int *([10]),
+    int **([]),
+    int **([10]),
+    int * const *([]),
+    int * const *([10]),
+    int * const * const ([]),
+    int * const * const ([10])
+    ) {
+}
+
+typedef int T;
+
+int f( T (T), T T ) {
+    T (T);
+}
+
+// errors
+
+//int f()[] {}
+//int (f[])() {}
+//int f[]() {}
+//int ((*f15())())[] {}
Index: src/Tests/SynTree/IdentFuncDeclarator.c
===================================================================
--- src/Tests/SynTree/IdentFuncDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/IdentFuncDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,105 @@
+int main() {
+    //int f0[]();
+    //int (f0[])();
+    //int f0()[];
+    //int f0()();
+    //int (*f0)()();
+    //int ((*f0())())[];
+    
+    int f1;
+    int (f2);
+
+    int *f3;
+    int **f4;
+    int * const *f5;
+    int * const * const f6;
+
+    int *(f7);
+    int **(f8);
+    int * const *(f9);
+    int * const * const (f10);
+
+    int (*f11);
+    int (**f12);
+    int (* const *f13);
+    int (* const * const f14);
+
+    int f15[];
+    int f16[10];
+    int (f17[]);
+    int (f18[10]);
+
+    int *f19[];
+    int *f20[10];
+    int **f21[];
+    int **f22[10];
+    int * const *f23[];
+    int * const *f24[10];
+    int * const * const f25[];
+    int * const * const f26[10];
+
+    int *(f27[]);
+    int *(f28[10]);
+    int **(f29[]);
+    int **(f30[10]);
+    int * const *(f31[]);
+    int * const *(f32[10]);
+    int * const * const (f33[]);
+    int * const * const (f34[10]);
+
+    int (*f35[]);
+    int (*f36[10]);
+    int (**f37[]);
+    int (**f38[10]);
+    int (* const *f39[]);
+    int (* const *f40[10]);
+    int (* const * const f41[]);
+    int (* const * const f42[10]);
+
+    int f43[][3];
+    int f44[3][3];
+    int (f45[])[3];
+    int (f46[3])[3];
+    int ((f47[]))[3];
+    int ((f48[3]))[3];
+
+    int *f49[][3];
+    int *f50[3][3];
+    int **f51[][3];
+    int **f52[3][3];
+    int * const *f53[][3];
+    int * const *f54[3][3];
+    int * const * const f55[][3];
+    int * const * const f56[3][3];
+
+    int (*f57[][3]);
+    int (*f58[3][3]);
+    int (**f59[][3]);
+    int (**f60[3][3]);
+    int (* const *f61[][3]);
+    int (* const *f62[3][3]);
+    int (* const * const f63[][3]);
+    int (* const * const f64[3][3]);
+
+    int f65(int);
+    int (f66)(int);
+
+    int *f67(int);
+    int **f68(int);
+    int * const *f69(int);
+    int * const * const f70(int);
+
+    int *(f71)(int);
+    int **(f72)(int);
+    int * const *(f73)(int);
+    int * const * const (f74)(int);
+
+    int (*f75)(int);
+    int (**f76)(int);
+    int (* const *f77)(int);
+    int (* const * const f78)(int);
+
+    int (*(*f79)(int))();
+    int (*(* const f80)(int))();
+    int (* const(* const f81)(int))();
+}
Index: src/Tests/SynTree/IdentFuncParamDeclarator.c
===================================================================
--- src/Tests/SynTree/IdentFuncParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/IdentFuncParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,150 @@
+int fred(
+    //int f0[](),
+    //int (f0[])(),
+    //int f0()[],
+    //int f0()(),
+    //int (*f0)()(),
+    //int ((*f0())())[],
+    
+    int f1,
+    int (f2),
+
+    int *f3,
+    int **f4,
+    int * const *f5,
+    int * const * const f6,
+
+    int *(f7),
+    int **(f8),
+    int * const *(f9),
+    int * const * const (f10),
+
+    int (*f11),
+    int (**f12),
+    int (* const *f13),
+    int (* const * const f14),
+
+    int f15[],
+    int f16[10],
+    int (f17[]),
+    int (f18[10]),
+
+    int *f19[],
+    int *f20[10],
+    int **f21[],
+    int **f22[10],
+    int * const *f23[],
+    int * const *f24[10],
+    int * const * const f25[],
+    int * const * const f26[10],
+
+    int *(f27[]),
+    int *(f28[10]),
+    int **(f29[]),
+    int **(f30[10]),
+    int * const *(f31[]),
+    int * const *(f32[10]),
+    int * const * const (f33[]),
+    int * const * const (f34[10]),
+
+    int (*f35[]),
+    int (*f36[10]),
+    int (**f37[]),
+    int (**f38[10]),
+    int (* const *f39[]),
+    int (* const *f40[10]),
+    int (* const * const f41[]),
+    int (* const * const f42[10]),
+
+    int f43[][3],
+    int f44[3][3],
+    int (f45[])[3],
+    int (f46[3])[3],
+    int ((f47[]))[3],
+    int ((f48[3]))[3],
+
+    int *f49[][3],
+    int *f50[3][3],
+    int **f51[][3],
+    int **f52[3][3],
+    int * const *f53[][3],
+    int * const *f54[3][3],
+    int * const * const f55[][3],
+    int * const * const f56[3][3],
+
+    int (*f57[][3]),
+    int (*f58[3][3]),
+    int (**f59[][3]),
+    int (**f60[3][3]),
+    int (* const *f61[][3]),
+    int (* const *f62[3][3]),
+    int (* const * const f63[][3]),
+    int (* const * const f64[3][3]),
+
+    int f65(int),
+    int (f66)(int),
+
+    int *f67(int),
+    int **f68(int),
+    int * const *f69(int),
+    int * const * const f70(int),
+
+    int *(f71)(int),
+    int **(f72)(int),
+    int * const *(f73)(int),
+    int * const * const (f74)(int),
+
+    int (*f75)(int),
+    int (**f76)(int),
+    int (* const *f77)(int),
+    int (* const * const f78)(int),
+
+    int (*(*f79)(int))(),
+    int (*(* const f80)(int))(),
+    int (* const(* const f81)(int))(),
+
+    int f82[const *],
+    int f83[const 3],
+    int f84[static 3],
+    int f85[static const 3],
+
+    int (f86[const *]),
+    int (f87[const 3]),
+    int (f88[static 3]),
+    int (f89[static const 3]),
+
+    int *f90[const *],
+    int *f91[const 3],
+    int **f92[static 3],
+    int * const *f93[static const 3],
+    int * const * const f94[static const 3],
+
+    int *(f95[const *]),
+    int *(f96[const 3]),
+    int **(f97[static 3]),
+    int * const *(f98[static const 3]),
+    int * const * const (f99[static const 3]),
+
+    int f100[const *][3],
+    int f101[const 3][3],
+    int f102[static 3][3],
+    int f103[static const 3][3],
+
+    int (f104[const *][3]),
+    int (f105[const 3][3]),
+    int (f106[static 3][3]),
+    int (f107[static const 3][3]),
+
+    int *f108[const *][3],
+    int *f109[const 3][3],
+    int **f110[static 3][3],
+    int * const *f111[static const 3][3],
+    int * const * const f112[static const 3][3],
+
+    int *(f113[const *][3]),
+    int *(f114[const 3][3]),
+    int **(f115[static 3][3]),
+    int * const *(f116[static const 3][3]),
+    int * const * const (f117[static const 3][3])
+    ) {
+}
Index: src/Tests/SynTree/Initialization.c
===================================================================
--- src/Tests/SynTree/Initialization.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Initialization.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,27 @@
+// Cforall extensions
+
+int * x21 = 0, x22 = 0;
+int * x21 = 0, x22 = 0;
+
+[20] int y1, y2 = { 1, 2, 3 };
+
+// designators
+
+struct {
+    [int] w;
+} a = { .w : [2] };
+
+struct { int a[3], b; } w [] = { [0].a : {1}, [0].b : 1, [1].a[0] : 2 };
+
+struct {
+    int f1, f2, f3;
+    struct { int g1, g2, g3; } f4[4];
+} v7 = {
+    .f1 : 4,
+    f2 : 3,
+    .f4[2] : {
+	.g1 : 3,
+	g3 : 0,
+    },
+    .f4[3].g3 : 7,
+};
Index: src/Tests/SynTree/Makefile
===================================================================
--- src/Tests/SynTree/Makefile	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Makefile	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,2 @@
+all:
+	sh run-tests.sh
Index: src/Tests/SynTree/Scope.c
===================================================================
--- src/Tests/SynTree/Scope.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Scope.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,69 @@
+int x;
+typedef double y;
+typedef float t;
+y z;
+type u = struct { int a; double b; };
+int f( int y );
+y q;
+
+y w(y y, u v) {
+  type x | { x t(u); };
+  u u = y;
+  x z = t(u);
+}
+
+y p;
+
+context has_u( type z )
+{
+  z u(z);
+};
+
+forall( type t | has_u( t ) )
+y q( t the_t )
+{
+  t y = u( the_t );
+}
+
+t f( y p ) {
+  int y;
+  typedef char x;
+
+  {
+    x y;
+    typedef x z;
+
+    {
+      z x;
+      typedef z y;
+      y z = x;
+    }
+
+    z x = y;
+  }
+
+  x q = y;
+}
+
+t g( void ) {
+  typedef char x;
+  try {
+    some_func();
+  } catch ( x x ) {
+    t y = x;
+  }
+  x z;
+}
+
+y q(i)
+    int i;
+{
+  switch (i) {
+    y q = i;
+  case 0:
+    return q;
+  default:
+    return i;
+  }
+}
+
Index: src/Tests/SynTree/ScopeErrors.c
===================================================================
--- src/Tests/SynTree/ScopeErrors.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/ScopeErrors.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,26 @@
+int thisIsAnError;
+int thisIsAnError;
+
+int thisIsNotAnError;
+float thisIsNotAnError;
+
+int thisIsAlsoNotAnError()
+{
+  int thisIsNotAnError;
+}
+
+int thisIsAlsoNotAnError( double x )
+{
+}
+
+double thisIsStillNotAnError( double );
+double thisIsStillNotAnError( double );
+
+double butThisIsAnError( double )
+{
+}
+
+double butThisIsAnError( double )
+{
+}
+
Index: src/Tests/SynTree/StructMember.c
===================================================================
--- src/Tests/SynTree/StructMember.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/StructMember.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,40 @@
+typedef int T;
+
+struct S {
+    int m1:3, m2:4;
+    int :2;
+    int :3, :4;
+    int m3;
+    int m4, m5, m6;
+    int *m7, *m8, *m9;
+    int (*m10)();
+    int *(*m11)(int);
+    T T;
+    T (T);
+
+// Cforall extensions
+
+    * int m12, m13;
+    * [ * int ] (int) m14;
+    int ;
+    int , , ;
+    int * , , ;
+    int *, *, *;
+    * int , , ;
+    int (*)();
+    int (**)( int );
+    T ;
+
+// errors
+
+//    void f(void);
+};
+
+struct S s;
+
+union U {
+    [5] int m1;
+    int m2[5];
+    * int m3;
+    int *m4;
+} u;
Index: src/Tests/SynTree/Tuple.c
===================================================================
--- src/Tests/SynTree/Tuple.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Tuple.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,62 @@
+int f( int, int );
+int g( int, int, int );
+static [ int, int, int, int ] h( int a, int b, * int c, [] char d );
+
+struct inner {
+    int f2, f3;
+};
+
+struct outer {
+    int f1;
+    struct inner i;
+    double f4;
+} s, *sp;
+
+const volatile [ int, int ] t1;
+static const [ int, const int ] t2;
+const static [ int, const int ] t3;
+
+[ int rc ] printf( * char fmt, ... );
+int printf( char *fmt, ... );
+
+[ short x, unsigned y ] f1( int w ) {
+    [ y, x ] = [ x, y ] = [ w, 23 ];
+}
+
+[ [ int, char, long, int ] r ] g1() {
+    short x, p;
+    unsigned int y;
+    [ int, int ] z;
+
+    [ x, y, z ] = [ p, f( 17 ), 3 ];
+    r = [ x, y, z ];
+}
+
+[ int rc ] main( int argc, ** char argv ) {
+    int a, b, c, d;
+    struct outer t = { .[ f1,f4 ] : [ 1,7.0 ] };
+    f( [ 3,5 ] );
+    g( [ 3,5 ], 3 );
+    f( t1 );
+    g( t1, 3 );
+    [ 3,5 ];
+    [ a,b ] = 3;
+    [ a,b ] = [ 4.6 ];
+    [ a,b ] = [ c,d ] = [ 3,5 ];
+    [ a,b,[ c ] ] = [ 2,[ a,b ] ];
+    [ a,b ] = 3 > 4 ? [ b,6 ] : [ 7,8 ];
+
+    t1 = [ a,b ];
+    t1 = t2 = [ a,b ];
+    [ a,b ] = [ c,d ] = d += c += 1;
+    [ a,b ] = [ c,d ] = t1;
+    [ a,b ] = t1 = [ c,d ];
+    [ a,b ] = t1 = t2 = [ c,d ];
+    t1 = [ 3,4 ] = [ 3,4 ] = t1 = [ 3,4 ];
+
+    s.[ f1, i.[ f2, f3 ], f4 ] = [ 11, 12, 13, 3.14159 ];
+    s.[ f1, i.[ f2, f3 ], f4 ] = h( 3, 3, 0, "abc" );
+    sp->[ f4,f1 ] = sp->[ f1,f4 ];
+    printf( "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n", s.[ f4, i.[ f3,f2 ], f1 ] );
+    rc = 0;
+}
Index: src/Tests/SynTree/TypeGenerator.c
===================================================================
--- src/Tests/SynTree/TypeGenerator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/TypeGenerator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,19 @@
+context addable(type T) {
+   T ?+?(T,T);
+};
+
+type List(type T | addable(T) ) | addable(T) = struct { T data; List(T) *next; } *;
+typedef List(int) ListOfIntegers;
+ListOfIntegers li;
+int f( List(int) ((*g))(int) );
+[int] h( * List(int) p ); // new declaration syntax
+
+struct(type T | addable(T) ) node { T data; struct(T) node *next; };
+type List(type T) = struct(T) node *;
+List(int) my_list;
+
+type Complex | addable(Complex);
+
+int main() {
+    (struct(int) node)my_list;
+}
Index: src/Tests/SynTree/Typedef.c
===================================================================
--- src/Tests/SynTree/Typedef.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/Typedef.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,41 @@
+typedef int T;
+
+void f( void ) {
+    int T( T );
+    T( 3 );
+}
+
+struct {
+    T (T);
+} fred = { 3 };
+
+typedef int (*a)(int, char);
+a b;
+
+int g(void) {
+    double a;
+}
+a c;
+
+// typedef x = 3, y = 3;  /* GCC */
+
+// x p;
+// y q;
+
+int main() {
+//    typedef z = p = 3;
+}
+
+/* new-style function definitions */
+
+typedef [10] * int arrayOf10Pointers;
+arrayOf10Pointers x;
+typedef const * int constantPointer;
+typedef * [ int ]( [] int ) funcPtr;
+typedef [ int ] funcProto( []  int );
+typedef [ int, int ] tupleType;
+typedef * [ int, int ] tupleTypePtr;
+typedef * int a, b;
+typedef [ int ] f( * int ), g;
+typedef [ * [static 10] int ] t;
+typedef [ * [static 10] int x ] f();
Index: src/Tests/SynTree/TypedefDeclarator.c
===================================================================
--- src/Tests/SynTree/TypedefDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/TypedefDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,116 @@
+typedef int
+     f0,  f1,  f2,  f3,  f4,  f5,  f6,  f7,  f8,  f9,
+    f10, f11, f12, f13, f14, f15, f16, f17, f18, f19,
+    f20, f21, f22, f23, f24, f25, f26, f27, f28, f29,
+    f30, f31, f32, f33, f34, f35, f36, f37, f38, f39,
+    f40, f41, f42, f43, f44, f45, f46, f47, f48, f49,
+    f50, f51, f52, f53, f54, f55, f56, f57, f58, f59,
+    f60, f61, f62, f63, f64, f65, f66, f67, f68, f69,
+    f70, f71, f72, f73, f74, f75, f76, f77, f78, f79,
+    f80, f81, f82, f83, f84, f85, f86, f87, f88, f89;
+
+int main() {
+    //int f0[]();
+    //int (f0[])();
+    //int f0()[];
+    //int f0()();
+    //int (*f0)()();
+    //int ((*f0())())[];
+    
+    int f1;
+    int (f2);
+
+    int *f3;
+    int **f4;
+    int * const *f5;
+    int * const * const f6;
+
+    int *(f7);
+    int **(f8);
+    int * const *(f9);
+    int * const * const (f10);
+
+    int (*f11);
+    int (**f12);
+    int (* const *f13);
+    int (* const * const f14);
+
+    int f15[];
+    int f16[10];
+    int (f17[]);
+    int (f18[10]);
+
+    int *f19[];
+    int *f20[10];
+    int **f21[];
+    int **f22[10];
+    int * const *f23[];
+    int * const *f24[10];
+    int * const * const f25[];
+    int * const * const f26[10];
+
+    int *(f27[]);
+    int *(f28[10]);
+    int **(f29[]);
+    int **(f30[10]);
+    int * const *(f31[]);
+    int * const *(f32[10]);
+    int * const * const (f33[]);
+    int * const * const (f34[10]);
+
+    int (*f35[]);
+    int (*f36[10]);
+    int (**f37[]);
+    int (**f38[10]);
+    int (* const *f39[]);
+    int (* const *f40[10]);
+    int (* const * const f41[]);
+    int (* const * const f42[10]);
+
+    int f43[][3];
+    int f44[3][3];
+    int (f45[])[3];
+    int (f46[3])[3];
+    int ((f47[]))[3];
+    int ((f48[3]))[3];
+
+    int *f49[][3];
+    int *f50[3][3];
+    int **f51[][3];
+    int **f52[3][3];
+    int * const *f53[][3];
+    int * const *f54[3][3];
+    int * const * const f55[][3];
+    int * const * const f56[3][3];
+
+    int (*f57[][3]);
+    int (*f58[3][3]);
+    int (**f59[][3]);
+    int (**f60[3][3]);
+    int (* const *f61[][3]);
+    int (* const *f62[3][3]);
+    int (* const * const f63[][3]);
+    int (* const * const f64[3][3]);
+
+    int f65(int);
+    int (f66)(int);
+
+    int *f67(int);
+    int **f68(int);
+    int * const *f69(int);
+    int * const * const f70(int);
+
+    int *(f71)(int);
+    int **(f72)(int);
+    int * const *(f73)(int);
+    int * const * const (f74)(int);
+
+    int (*f75)(int);
+    int (**f76)(int);
+    int (* const *f77)(int);
+    int (* const * const f78)(int);
+
+    int (*(*f79)(int))();
+    int (*(* const f80)(int))();
+    int (* const(* const f81)(int))();
+}
Index: src/Tests/SynTree/TypedefParamDeclarator.c
===================================================================
--- src/Tests/SynTree/TypedefParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/TypedefParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,150 @@
+typedef int
+     f0,   f1,   f2,   f3,   f4,   f5,   f6,   f7,   f8,   f9,
+    f10,  f11,  f12,  f13,  f14,  f15,  f16,  f17,  f18,  f19,
+    f20,  f21,  f22,  f23,  f24,  f25,  f26,  f27,  f28,  f29,
+    f30,  f31,  f32,  f33,  f34,  f35,  f36,  f37,  f38,  f39,
+    f40,  f41,  f42,  f43,  f44,  f45,  f46,  f47,  f48,  f49,
+    f50,  f51,  f52,  f53,  f54,  f55,  f56,  f57,  f58,  f59,
+    f60,  f61,  f62,  f63,  f64,  f65,  f66,  f67,  f68,  f69,
+    f70,  f71,  f72,  f73,  f74,  f75,  f76,  f77,  f78,  f79,
+    f80,  f81,  f82,  f83,  f84,  f85,  f86,  f87,  f88,  f89,
+    f90,  f91,  f92,  f93,  f94,  f95,  f96,  f97,  f98,  f99,
+    f100, f101, f102, f103, f104, f105, f106, f107, f108, f109,
+    f110, f111, f112, f113, f114, f115, f116, f117, f118, f119;
+
+int fred(
+/*
+    //int f0[](),
+    //int (f0[])(),
+    //int f0()[],
+    //int f0()(),
+    //int (*f0)()(),
+    //int ((*f0())())[],
+*/
+    int f1,
+
+    int *f3,
+    int **f4,
+    int * const *f5,
+    int * const * const f6,
+
+    int (*f11),
+    int (**f12),
+    int (* const *f13),
+    int (* const * const f14),
+
+    int f15[],
+    int f16[10],
+
+    int *f19[],
+    int *f20[10],
+    int **f21[],
+    int **f22[10],
+    int * const *f23[],
+    int * const *f24[10],
+    int * const * const f25[],
+    int * const * const f26[10],
+
+    int (*f35[]),
+    int (*f36[10]),
+    int (**f37[]),
+    int (**f38[10]),
+    int (* const *f39[]),
+    int (* const *f40[10]),
+    int (* const * const f41[]),
+    int (* const * const f42[10]),
+
+    int f43[][3],
+    int f44[3][3],
+/*
+    int (f45[])[3],
+    int (f46[3])[3],
+    int ((f47[]))[3],
+    int ((f48[3]))[3],
+*/
+    int *f49[][3],
+    int *f50[3][3],
+    int **f51[][3],
+    int **f52[3][3],
+    int * const *f53[][3],
+    int * const *f54[3][3],
+    int * const * const f55[][3],
+    int * const * const f56[3][3],
+
+    int (*f57[][3]),
+    int (*f58[3][3]),
+    int (**f59[][3]),
+    int (**f60[3][3]),
+    int (* const *f61[][3]),
+    int (* const *f62[3][3]),
+    int (* const * const f63[][3]),
+    int (* const * const f64[3][3]),
+
+    int f65(int),
+/*
+    int (f66)(int),
+*/
+    int *f67(int),
+    int **f68(int),
+    int * const *f69(int),
+    int * const * const f70(int),
+/*
+    int *(f71)(int),
+    int **(f72)(int),
+    int * const *(f73)(int),
+    int * const * const (f74)(int),
+*/
+    int (*f75)(int),
+    int (**f76)(int),
+    int (* const *f77)(int),
+    int (* const * const f78)(int),
+
+    int (*(*f79)(int))(),
+    int (*(* const f80)(int))(),
+    int (* const(* const f81)(int))(),
+
+    int f82[const *],
+    int f83[const 3],
+    int f84[static 3],
+    int f85[static const 3],
+
+    int (f86[const *]),
+    int (f87[const 3]),
+    int (f88[static 3]),
+    int (f89[static const 3]),
+
+    int *f90[const *],
+    int *f91[const 3],
+    int **f92[static 3],
+    int * const *f93[static const 3],
+    int * const * const f94[static const 3],
+
+    int *(f95[const *]),
+    int *(f96[const 3]),
+    int **(f97[static 3]),
+    int * const *(f98[static const 3]),
+    int * const * const (f99[static const 3]),
+
+    int f100[const *][3],
+    int f101[const 3][3],
+    int f102[static 3][3],
+    int f103[static const 3][3],
+
+    int (f104[const *][3]),
+    int (f105[const 3][3]),
+    int (f106[static 3][3]),
+    int (f107[static const 3][3]),
+
+    int *f108[const *][3],
+    int *f109[const 3][3],
+    int **f110[static 3][3],
+    int * const *f111[static const 3][3],
+    int * const * const f112[static const 3][3],
+
+    int *(f113[const *][3]),
+    int *(f114[const 3][3]),
+    int **(f115[static 3][3]),
+    int * const *(f116[static const 3][3]),
+    int * const * const (f117[static const 3][3])
+    ) {
+}
Index: src/Tests/SynTree/VariableDeclarator.c
===================================================================
--- src/Tests/SynTree/VariableDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/VariableDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,115 @@
+int f1;
+int (f2);
+
+int *f3;
+int **f4;
+int * const *f5;
+int * const * const f6;
+
+int *(f7);
+int **(f8);
+int * const *(f9);
+int * const * const (f10);
+
+int (*f11);
+int (**f12);
+int (* const *f13);
+int (* const * const f14);
+
+int f15[];
+int f16[10];
+int (f17[]);
+int (f18[10]);
+
+int *f19[];
+int *f20[10];
+int **f21[];
+int **f22[10];
+int * const *f23[];
+int * const *f24[10];
+int * const * const f25[];
+int * const * const f26[10];
+
+int *(f27[]);
+int *(f28[10]);
+int **(f29[]);
+int **(f30[10]);
+int * const *(f31[]);
+int * const *(f32[10]);
+int * const * const (f33[]);
+int * const * const (f34[10]);
+
+int (*f35[]);
+int (*f36[10]);
+int (**f37[]);
+int (**f38[10]);
+int (* const *f39[]);
+int (* const *f40[10]);
+int (* const * const f41[]);
+int (* const * const f42[10]);
+
+int f43[][3];
+int f44[3][3];
+int (f45[])[3];
+int (f46[3])[3];
+int ((f47[]))[3];
+int ((f48[3]))[3];
+
+int *f49[][3];
+int *f50[3][3];
+int **f51[][3];
+int **f52[3][3];
+int * const *f53[][3];
+int * const *f54[3][3];
+int * const * const f55[][3];
+int * const * const f56[3][3];
+
+int (*f57[][3]);
+int (*f58[3][3]);
+int (**f59[][3]);
+int (**f60[3][3]);
+int (* const *f61[][3]);
+int (* const *f62[3][3]);
+int (* const * const f63[][3]);
+int (* const * const f64[3][3]);
+
+int f65(int);
+int (f66)(int);
+
+int *f67(int);
+int **f68(int);
+int * const *f69(int);
+int * const * const f70(int);
+
+int *(f71)(int);
+int **(f72)(int);
+int * const *(f73)(int);
+
+int * const * const (f74)(int);
+
+int (*f75)(int);
+int (**f76)(int);
+int (* const *f77)(int);
+int (* const * const f78)(int);
+
+int (*(*f79)(int))();
+int (*(* const f80)(int))();
+int (* const(* const f81)(int))();
+
+// errors
+
+//int fe0[]();				// array of functions
+//int (fe1[])();				// array of functions
+//int fe2()[];				// returning an array
+//int fe3()();				// returning a function
+//int (*fe4)()();				// returning a function
+//int ((*fe5())())[];			// returning an array
+
+// Cforall extensions
+
+* [20] double z;
+[20] * char w;
+
+// function pointer
+
+*[]*[]* [ *[]*[] int ]( *[]*[] int, *[]*[] int ) v3;
Index: src/Tests/SynTree/make-rules
===================================================================
--- src/Tests/SynTree/make-rules	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/make-rules	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,21 @@
+CFA = ../../cfa-cpp
+
+DIFF = diff#/software/gnu/bin/diff
+
+# Basic SynTree printing
+EXPECTED := ${wildcard $(EXPECTDIR)/*.tst}
+TESTS := $(EXPECTED:$(EXPECTDIR)/%=$(OUTPUTDIR)/%)
+TEST_IN := $(TESTS:.tst=.c)
+
+$(OUTPUTDIR)/%.tst:%.c $(CFA)
+	$(CFA) $(CFAOPT) < $< > $@ 2>&1
+
+$(OUTPUTDIR)/report: $(TESTS) $(EXPECTED)
+	rm -f $@
+	@for i in $(TESTS); do \
+	  echo "---"`basename $$i`"---" | tee -a $@; \
+	  $(DIFF) -B -w $(EXPECTDIR)/`basename $$i` $$i | tee -a $@; \
+	done
+
+clean:
+	rm -rf $(OUTPUTDIR)
Index: src/Tests/SynTree/run-tests.sh
===================================================================
--- src/Tests/SynTree/run-tests.sh	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/SynTree/run-tests.sh	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,10 @@
+#!/bin/sh -v
+
+dotest() {
+  mkdir -p Output$1
+  OUTPUTDIR=Output$1 EXPECTDIR=Expected$1 CFAOPT=$2 make -f make-rules $3
+}
+
+dotest "" -ns "$*"
+dotest -SymTab -nm "$*"
+#dotest -Validate -v "$*"
Index: src/Tests/Syntax/Array.c
===================================================================
--- src/Tests/Syntax/Array.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Array.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,33 @@
+int a1[];
+int a2[*];
+int a4[3];
+
+int m1[][3];
+int m2[*][*];
+int m4[3][3];
+
+typedef int T;
+
+int fred() {
+    int a1[];
+    int a2[*];
+    int a4[3];
+    int T[3];
+}
+
+int mary( int T[3],
+	  int p1[const 3],
+	  int p2[static 3],
+	  int p3[static const 3]
+    ) {
+}
+
+int (*tom())[3] {
+}
+
+int (*(jane)())( int T[3],
+		 int p1[const 3],
+		 int p2[static 3],
+		 int p3[static const 3]
+    ) {
+}
Index: src/Tests/Syntax/AsmName.c
===================================================================
--- src/Tests/Syntax/AsmName.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/AsmName.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,14 @@
+extern int x asm( "xx" );
+
+int fred( int x ) {
+    static int y asm( "yy" );
+
+// Cforall extensions
+
+    static * int z asm( "zz" );
+}
+
+// errors
+
+//typedef int t asm( "tt" );
+//int mary( int p asm( "pp" ) ) {}
Index: src/Tests/Syntax/Attributes.c
===================================================================
--- src/Tests/Syntax/Attributes.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Attributes.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,22 @@
+int @max = 3;
+
+int main() {
+    int x;
+    type @type(type t);		// compiler intrinsic
+    type @widest(type t);
+    @type(x) *y;		// gcc: typeof(x) *y;
+    const @widest(double) *w;	// gcc: const typeof(x) *w;
+    * @type(3 + 4) z;		// cfa declaration syntax
+    y = @max;		
+    z = @max(x) + @size(int);
+    y = @min(3 + 4);
+    if ( @const(x) ) { }
+    if ( @volatile(y) ) { }
+    if ( @extern(y) ) { }
+    if ( @static(y) ) { }
+    @max;
+}
+
+int @foo(int) {
+    return 7;
+}
Index: src/Tests/Syntax/CharStringConstants.c
===================================================================
--- src/Tests/Syntax/CharStringConstants.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/CharStringConstants.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,87 @@
+int main() {
+// character constants
+
+    ' ';
+    'a';
+    '"';
+    '_';
+
+    '\a';				// simple escape
+    '\b';
+    '\e';				// GCC
+    '\f';
+    '\n';
+    '\r';
+    '\t';
+    '\v';
+    '\'';
+    '\"';
+    '\?';
+    '\\';
+
+    '\0';				// octal escape
+
+    '\377';
+
+    '\xf';				// hex escape
+    '\xff';
+
+// warnings/errors
+
+    '';					// empty character
+    'aa';				// multi-character
+    'a\na';				// multi-character, embedded escape
+    'a\0a';
+    '\xfff';				// hex escape out of range
+    '_\377_';				// multi-character
+    '_\xff_';
+    '\xffff';				// hex escape out of range
+    'a\xff34w';
+    '\xf_f';				// multi-character
+    '\xff_ff';
+
+// string constants
+
+    " ";
+    "a";
+    "'";
+    '_';
+
+    "\a";				// simple escape
+    "\b";
+    "\e";				// GCC
+    "\f";
+    "\n";
+    "\r";
+    "\t";
+    "\v";
+    "\'";
+    "\"";
+    "\?";
+    "\\";
+
+    "\0";				// octal escape
+    "\377";
+
+    "\xf";				// hex escape
+    "\xff";
+
+    "";
+    "aa";
+    "a\na";
+    "a\0a";
+    "_\377_";
+    "_\xff_";
+    "\xf_f";
+
+// warnings/errors
+
+    "\xff_ff";
+    "\xfff";				// hex escape out of range
+    "a\xff34w";
+    "\xffff";
+}
+
+// Local Variables: //
+// compile-command: "../../../bin/cfa -std=c99 CharStringConstants.c" //
+// End: //
Index: src/Tests/Syntax/CommentMisc.c
===================================================================
--- src/Tests/Syntax/CommentMisc.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/CommentMisc.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,44 @@
+/* single line */
+// single line
+
+// single line containing */
+// single line containing /*
+// single line containing /* */
+
+/* 1st */ int i;
+int i; /* 2nd */
+/* 1st */ int i; /* 2nd */
+/* 1st */ /* 2nd */
+
+/* 1st
+   2nd */ int i;
+
+/*
+*/
+
+/*
+
+*/
+
+/*
+  1st
+*/
+
+/*
+  1st
+  2nd
+*/
+
+// ignore preprocessor directives
+
+#line 2
+ #
+ #include <fred>
+	#define mary abc
+
+// alternative ANSI99 brackets
+
+int main() <%
+    int x<:10:>;
+%>
+
Index: src/Tests/Syntax/Constant0-1.c
===================================================================
--- src/Tests/Syntax/Constant0-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Constant0-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,73 @@
+// Cforall extension
+
+int fred() {
+
+// value
+    {
+	int 0;
+	const int 0;
+	int 1;
+	const int 1;
+    }
+    static const int 0;
+    static const int 1;
+    {
+	int 0, 1;
+	const int 0, 1;
+    }
+    {
+	int (0), (1);
+    }
+    {
+	int ((0)), ((1));
+    }
+    {
+	static const int 0, 1;
+    }
+    {
+	struct { int i; } 0;
+	const struct { int i; } 1;
+    }
+    static const struct { int i; } 1;
+
+// pointer
+
+    {
+	int *0, *1;
+    }
+    {
+	int *(0), *(1);
+    }
+    {
+	int (*0), (*1);
+    }
+    {
+	int ((*0)), ((*1));
+    }
+    {
+	int * const (0), * const 1;
+    }
+    {
+	int (* const 0), (* const 1);
+    }
+    {
+	int ((* const 0)), ((* const 1));
+    }
+    struct { int i; } *0;
+
+// Cforall style
+
+    {
+	* int x, 0;
+	const * int x, 0;
+    }
+    static const * int x, 0;
+    * struct { int i; } 0;
+    const * struct { int i; } 0;
+    static const * struct { int i; } 0;
+    {
+	static * int x, 0;
+	static const * int x, 0;
+    }
+    const * * int x, 0;
+}
Index: src/Tests/Syntax/DeclarationSpecifier.c
===================================================================
--- src/Tests/Syntax/DeclarationSpecifier.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/DeclarationSpecifier.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,97 @@
+typedef short int Int;
+
+
+const short int volatile x1;
+static const short int volatile x2;
+const static short int volatile x3;
+const short static int volatile x4;
+const static volatile short int x4;
+const short int static volatile x5;
+const short int volatile static x6;
+const short volatile int static x7;
+short int volatile static const x8;
+
+const volatile struct { int i; } x10;
+const struct { int i; } volatile x11;
+struct { int i; } const volatile x12;
+static const volatile struct { int i; } x13;
+const static struct { int i; } volatile x14;
+struct { int i; } static const volatile x15;
+struct { int i; } const static volatile x16;
+struct { int i; } const volatile static x17;
+
+const Int volatile x20;
+static const Int volatile x21;
+const static Int volatile x22;
+const static Int volatile x23;
+const Int static volatile x24;
+const Int volatile static x25;
+const volatile Int static x26;
+Int volatile static const x27;
+
+const volatile struct { Int i; } x29;
+const struct { Int i; } volatile x30;
+struct { Int i; } const volatile x31;
+static const volatile struct { Int i; } x32;
+const static struct { Int i; } volatile x33;
+struct { Int i; } static const volatile x34;
+struct { Int i; } const static volatile x35;
+struct { Int i; } const volatile static x36;
+
+
+const static inline const volatile int f01();		// duplicate const
+volatile inline const volatile static int f02();	// duplicate volatile
+const inline const volatile int static f03();		// duplicate const
+volatile inline static const volatile int f04();	// duplicate volatile
+const static const inline volatile int f05();		// duplicate const
+volatile static const volatile inline int f06();	// duplicate volatile
+const static const volatile int inline f07();		// duplicate const
+volatile static const int inline volatile f08();	// duplicate volatile
+
+static inline const volatile int f11();
+inline const volatile static int f12();
+inline const volatile int static f13();
+inline static const volatile int f14();
+static const inline volatile int f15();
+static const volatile inline int f16();
+static const volatile int inline f17();
+static const int inline volatile f18();
+
+short static inline const volatile int f21();
+inline short const volatile static int f22();
+inline const short volatile int static f23();
+inline static const short volatile int f24();
+static const inline volatile short int f25();
+static const volatile inline int short f26();
+static const volatile int inline short f27();
+static const int inline volatile short f28();
+
+static inline const volatile struct { int i; } f31();
+inline const volatile static struct { int i; } f32();
+inline const volatile struct { int i; } static f33();
+inline static const volatile struct { int i; } f34();
+static const inline volatile struct { int i; } f35();
+static const volatile inline struct { int i; } f36();
+static const volatile struct { int i; } inline f37();
+static const struct { int i; } inline volatile f38();
+
+static inline const volatile Int f41();
+inline const volatile static Int f42();
+inline const volatile Int static f43();
+inline static const volatile Int f44();
+static const inline volatile Int f45();
+static const volatile inline Int f46();
+static const volatile Int inline f47();
+static const Int inline volatile f48();
+
+long long ll;
+long long int lli;
+double _Complex dc;
+long double _Complex lfc;
+
+// errors
+
+//static short int volatile static const e1;		// duplicate static
+//struct { int i; } const static volatile static e2;	// duplicate static
+//struct { int i; } const static volatile static volatile e3; // duplicate static & volatile
+//static Int volatile static const e4;			// duplicate static
Index: src/Tests/Syntax/Exception.c
===================================================================
--- src/Tests/Syntax/Exception.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Exception.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,24 @@
+int fred() {
+    int x;
+    throw 3;
+    throw x = 5;
+
+    try {
+    } catch( int i ) {}
+
+    try {
+	x/4;
+    } catch( int) {
+    } catch( int x ) {
+    } catch( struct { int i; } ) {
+    } catch( struct { int i; } x ) {
+    } catch( struct { int i; } *x ) {
+
+// Cforall extensions
+
+    } catch( * struct { int i; } ) {
+    } catch( * struct { int i; } x ) {
+    } catch( ... ) {
+//    } finally {
+    } // try
+}
Index: src/Tests/Syntax/Expression.c
===================================================================
--- src/Tests/Syntax/Expression.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Expression.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,67 @@
+int fred() {
+    struct s { int i; } *p;
+    int i;
+
+    // order of evaluation (GCC is different)
+/*
+    i = sizeof( (int) {3} );
+    i = sizeof (int) {3};
+*/
+    // operators
+
+    ! i;
+    ~i;
+    +i;
+    -i;
+    *p;
+    ++p;
+    --p;
+    p++;
+    p--;
+
+    i+i;
+    i-i;
+    i*i;
+
+    i/i;
+    i%i;
+    i^i;
+    i&i;
+    i|i;
+    i<i;
+    i>i;
+    i=i;
+
+    i==i;
+    i!=i;
+    i<<i;
+    i>>i;
+    i<=i;
+    i>=i;
+    i&&i;
+    i||i;
+    p->i;
+    i+=i;
+    i-=i;
+    i*=i;
+    i/=i;
+    i%=i;
+    i&=i;
+    i|=i;
+    i^=i;
+    i<<=i;
+    i>>=i;
+
+    i?i:i;
+
+    // cast
+/*
+    double d;
+    int *ip;
+    (int *) i;
+    (* int) i;
+    ([char, int *])[d, d];
+    [i,ip,ip] = ([int, * int, int *])[1,(void *)2,(void *)3];
+    [i,ip,ip] = ([int, * int, int *])([1,(void *)2,(void *)3]);
+*/
+}
Index: src/Tests/Syntax/Forall.c
===================================================================
--- src/Tests/Syntax/Forall.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Forall.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,56 @@
+typedef forall ( type T ) int (*f)( int );
+
+forall( type T )
+    void swap( T left, T right ) {
+	T temp = left;
+	left = right;
+	right = temp;
+    }
+
+context sumable( type T ) {
+    const T 0;
+    T ?+?(T, T);
+    T ?++(T*);
+    [T] ?+=?(T*,T);
+};
+
+type T1 | { const T1 0; T1 ?+?(T1, T1); T1 ?++(T1); [T1] ?+=?(T1,T1); },
+     T2(type P1, type P2 ) | (type Q, type W) { const Q 0; W ?+?(W, W); Q ?++(W); [Q] ?+=?(W,W); }(T1,T2(T1,f)),
+     T3 | sumable(T3);
+
+type T2(type P1, type P2) | sumable(T2(P1,P2)) = struct { P1 i; P2 j; };
+
+T2(int, int) w1;
+typedef T2(int, int) w2;
+w2 g2;
+type w3 = T2(int, int);
+w3 g3;
+
+forall( type T | sumable( T ) )
+    T sum( int n, T a[] ) {
+	T total = 0;
+	int i;
+	for ( i = 0; i < n; i += 1 )
+	    total = total + a[i];
+	return total;
+    }
+
+forall( type T | { T ?+?(T, T); T ?++(T*); [T] ?+=?(T*,T); } )
+    T twice( T t ) {
+	return t + t;
+    }
+
+forall( type T | { const T 0; int ?!=?(T, T); int ?<?(T, T); } )
+    T min( T t1, T t2 ) {
+	return t1 < t2 ? t1 : t2;
+    }
+
+int main() {
+    int x = 1, y = 2, a[10];
+    float f;
+
+    swap( x, y );
+    twice( x );
+    f = min( 4.0, 3.0 );
+    sum( 10, a );
+}
Index: src/Tests/Syntax/Functions.c
===================================================================
--- src/Tests/Syntax/Functions.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Functions.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,165 @@
+// ANSI function definitions
+
+void h(void) {}
+
+int f (
+    int p1(void),
+    int p2(int),
+    int (p3(void)),
+    int (p4(int)),
+    void g(void)
+  ) {
+    (*g)();
+    g();
+    g = h;
+}
+
+int f1() {}
+int (f2()) {}
+int (*f3())() {}
+int *((f4())) {}
+int ((*f5()))() {}
+int *f6() {}
+int *(f7)() {}
+int **f8() {}
+int * const *(f9)() {}
+int (*f10())[] {}
+int (*f11())[][3] {}
+int ((*f12())[])[3] {}
+
+// "implicit int" type specifier (not ANSI)
+
+fII1( int i ) {}
+const fII2( int i ) {}
+extern fII3( int i ) {}
+extern const fII4( int i ) {}
+
+*fII5() {}
+const *fII6() {}
+const long *fII7() {}
+static const long *fII8() {}
+const static long *fII9() {}
+
+// K&R function definitions
+
+fO1( i ) int i; {}
+int fO2( i ) int i; {}
+const fO3( i ) int i; {}
+extern fO4( i ) int i; {}
+extern const fO5( i ) int i; {}
+
+// Cforall extensions
+#if 1
+[] f( );
+[int] f( );
+[] f(int);
+[int] f(int);
+[] f( ) {}
+[int] f( ) {}
+[] f(int) {}
+[int] f(int) {}
+
+[int x] f( );
+[] f(int x);
+[int x] f(int x);
+[int x] f( ) {}
+[] f(int x) {}
+[int x] f(int x) {}
+
+[int, int x] f( );
+[] f(int, int x);
+[int, int x] f(int, int x);
+[int, int x] f( ) {}
+[] f(int, int x) {}
+[int, int x] f(int, int x) {}
+
+[int, int x, int] f( );
+[] f(int, int x, int);
+[int, int x, int] f(int, int x, int);
+[int, int x, int] f( ) {}
+[] f(int, int x, int) {}
+[int, int x, int] f(int, int x, int) {}
+
+[int, int x, * int y] f( );
+[] f(int, int x, * int y);
+[int, int x, * int y] f(int, int x, * int y);
+[int, int x, * int y] f( ) {}
+[] f(int, int x, * int y) {}
+[int, int x, * int y] f(int, int x, * int y) {}
+
+[ int ] f11( int ), f12;  // => int f11( int ), f12( int );
+
+[int] f(
+	int ( int, int p ),
+	[int](int)
+    ) {
+    int (*(*p)[][10])[][3];
+    * [][10] * [][3] int p;
+    * [] * [int](int) p;
+}
+
+static const int *g1() {}
+static [ const int ] g2() {}
+static inline [ const * int ] g3() {}
+static inline [ const [ * int, int ] ] g4() {}
+static [ const [ * int, const int ] ] g5() {}
+#endif
+
+// unnamed parameter
+
+int g(
+    int (),
+
+    int *(),
+    int **(),
+    int * const *(),
+    int * const * const (),
+
+    int ([]),
+    int ([10]),
+
+    int *([]),
+    int *([10]),
+    int **([]),
+    int **([10]),
+    int * const *([]),
+    int * const *([10]),
+    int * const * const ([]),
+    int * const * const ([10])
+    );
+
+int g(
+    int (),
+
+    int *(),
+    int **(),
+    int * const *(),
+    int * const * const (),
+
+    int ([]),
+    int ([10]),
+
+    int *([]),
+    int *([10]),
+    int **([]),
+    int **([10]),
+    int * const *([]),
+    int * const *([10]),
+    int * const * const ([]),
+    int * const * const ([10])
+    ) {
+}
+
+typedef int T;
+
+int g( T g(T), T T ) {
+    g(T);
+    T = 3;
+}
+
+// errors
+
+//int f()[] {}
+//int (f[])() {}
+//int f[]() {}
+//int ((*f15())())[] {}
Index: src/Tests/Syntax/GccExtensions.c
===================================================================
--- src/Tests/Syntax/GccExtensions.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/GccExtensions.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,48 @@
+int fred() {
+    asm( "nop" );
+    __asm( "nop" );
+    __asm__( "nop" );
+
+    __complex__ c1;
+    _Complex c2;
+
+    const int i1;
+    __const int i2;
+    __const__ int i3;
+
+    __extension__ const int ex;
+
+    __inline int f1();
+    __inline__ int f2();
+
+    __signed s1;
+    __signed s2;
+
+    __typeof(s1) t1;
+    __typeof__(s1) t2;
+
+    __volatile int v1;
+    __volatile__ int v2;
+
+    __attribute__(()) int a1;
+    const __attribute(()) int a2;
+    const static __attribute(()) int a3;
+    const static int __attribute(()) a4;
+    const static int a5 __attribute(());
+    const static int a6, __attribute(()) a7;
+
+    int * __attribute(()) p1;
+    int (* __attribute(()) p2);
+//    int (__attribute(()) (p3));
+//    int ( __attribute(()) (* __attribute(()) p4));
+
+    struct __attribute(()) s1;
+    struct __attribute(()) s2 { int i; };
+    struct __attribute(()) s3 { int i; } x1, __attribute(()) y1;
+    struct __attribute(()) s4 { int i; } x2, y2 __attribute(());
+
+    int m1 [10] __attribute(());
+    int m2 [10][10] __attribute(());
+    int __attribute(()) m3 [10][10];
+//    int ( __attribute(()) m4 [10] )[10];
+}
Index: src/Tests/Syntax/IdentFuncDeclarator.c
===================================================================
--- src/Tests/Syntax/IdentFuncDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/IdentFuncDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,105 @@
+int main() {
+    //int f0[]();
+    //int (f0[])();
+    //int f0()[];
+    //int f0()();
+    //int (*f0)()();
+    //int ((*f0())())[];
+    
+    int f1;
+    int (f2);
+
+    int *f3;
+    int **f4;
+    int * const *f5;
+    int * const * const f6;
+
+    int *(f7);
+    int **(f8);
+    int * const *(f9);
+    int * const * const (f10);
+
+    int (*f11);
+    int (**f12);
+    int (* const *f13);
+    int (* const * const f14);
+
+    int f15[];
+    int f16[10];
+    int (f17[]);
+    int (f18[10]);
+
+    int *f19[];
+    int *f20[10];
+    int **f21[];
+    int **f22[10];
+    int * const *f23[];
+    int * const *f24[10];
+    int * const * const f25[];
+    int * const * const f26[10];
+
+    int *(f27[]);
+    int *(f28[10]);
+    int **(f29[]);
+    int **(f30[10]);
+    int * const *(f31[]);
+    int * const *(f32[10]);
+    int * const * const (f33[]);
+    int * const * const (f34[10]);
+
+    int (*f35[]);
+    int (*f36[10]);
+    int (**f37[]);
+    int (**f38[10]);
+    int (* const *f39[]);
+    int (* const *f40[10]);
+    int (* const * const f41[]);
+    int (* const * const f42[10]);
+
+    int f43[][3];
+    int f44[3][3];
+    int (f45[])[3];
+    int (f46[3])[3];
+    int ((f47[]))[3];
+    int ((f48[3]))[3];
+
+    int *f49[][3];
+    int *f50[3][3];
+    int **f51[][3];
+    int **f52[3][3];
+    int * const *f53[][3];
+    int * const *f54[3][3];
+    int * const * const f55[][3];
+    int * const * const f56[3][3];
+
+    int (*f57[][3]);
+    int (*f58[3][3]);
+    int (**f59[][3]);
+    int (**f60[3][3]);
+    int (* const *f61[][3]);
+    int (* const *f62[3][3]);
+    int (* const * const f63[][3]);
+    int (* const * const f64[3][3]);
+
+    int f65(int);
+    int (f66)(int);
+
+    int *f67(int);
+    int **f68(int);
+    int * const *f69(int);
+    int * const * const f70(int);
+
+    int *(f71)(int);
+    int **(f72)(int);
+    int * const *(f73)(int);
+    int * const * const (f74)(int);
+
+    int (*f75)(int);
+    int (**f76)(int);
+    int (* const *f77)(int);
+    int (* const * const f78)(int);
+
+    int (*(*f79)(int))();
+    int (*(* const f80)(int))();
+    int (* const(* const f81)(int))();
+}
Index: src/Tests/Syntax/IdentFuncParamDeclarator.c
===================================================================
--- src/Tests/Syntax/IdentFuncParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/IdentFuncParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,150 @@
+int fred(
+    //int f0[](),
+    //int (f0[])(),
+    //int f0()[],
+    //int f0()(),
+    //int (*f0)()(),
+    //int ((*f0())())[],
+    
+    int f1,
+    int (f2),
+
+    int *f3,
+    int **f4,
+    int * const *f5,
+    int * const * const f6,
+
+    int *(f7),
+    int **(f8),
+    int * const *(f9),
+    int * const * const (f10),
+
+    int (*f11),
+    int (**f12),
+    int (* const *f13),
+    int (* const * const f14),
+
+    int f15[],
+    int f16[10],
+    int (f17[]),
+    int (f18[10]),
+
+    int *f19[],
+    int *f20[10],
+    int **f21[],
+    int **f22[10],
+    int * const *f23[],
+    int * const *f24[10],
+    int * const * const f25[],
+    int * const * const f26[10],
+
+    int *(f27[]),
+    int *(f28[10]),
+    int **(f29[]),
+    int **(f30[10]),
+    int * const *(f31[]),
+    int * const *(f32[10]),
+    int * const * const (f33[]),
+    int * const * const (f34[10]),
+
+    int (*f35[]),
+    int (*f36[10]),
+    int (**f37[]),
+    int (**f38[10]),
+    int (* const *f39[]),
+    int (* const *f40[10]),
+    int (* const * const f41[]),
+    int (* const * const f42[10]),
+
+    int f43[][3],
+    int f44[3][3],
+    int (f45[])[3],
+    int (f46[3])[3],
+    int ((f47[]))[3],
+    int ((f48[3]))[3],
+
+    int *f49[][3],
+    int *f50[3][3],
+    int **f51[][3],
+    int **f52[3][3],
+    int * const *f53[][3],
+    int * const *f54[3][3],
+    int * const * const f55[][3],
+    int * const * const f56[3][3],
+
+    int (*f57[][3]),
+    int (*f58[3][3]),
+    int (**f59[][3]),
+    int (**f60[3][3]),
+    int (* const *f61[][3]),
+    int (* const *f62[3][3]),
+    int (* const * const f63[][3]),
+    int (* const * const f64[3][3]),
+
+    int f65(int),
+    int (f66)(int),
+
+    int *f67(int),
+    int **f68(int),
+    int * const *f69(int),
+    int * const * const f70(int),
+
+    int *(f71)(int),
+    int **(f72)(int),
+    int * const *(f73)(int),
+    int * const * const (f74)(int),
+
+    int (*f75)(int),
+    int (**f76)(int),
+    int (* const *f77)(int),
+    int (* const * const f78)(int),
+
+    int (*(*f79)(int))(),
+    int (*(* const f80)(int))(),
+    int (* const(* const f81)(int))(),
+
+    int f82[const *],
+    int f83[const 3],
+    int f84[static 3],
+    int f85[static const 3],
+
+    int (f86[const *]),
+    int (f87[const 3]),
+    int (f88[static 3]),
+    int (f89[static const 3]),
+
+    int *f90[const *],
+    int *f91[const 3],
+    int **f92[static 3],
+    int * const *f93[static const 3],
+    int * const * const f94[static const 3],
+
+    int *(f95[const *]),
+    int *(f96[const 3]),
+    int **(f97[static 3]),
+    int * const *(f98[static const 3]),
+    int * const * const (f99[static const 3]),
+
+    int f100[const *][3],
+    int f101[const 3][3],
+    int f102[static 3][3],
+    int f103[static const 3][3],
+
+    int (f104[const *][3]),
+    int (f105[const 3][3]),
+    int (f106[static 3][3]),
+    int (f107[static const 3][3]),
+
+    int *f108[const *][3],
+    int *f109[const 3][3],
+    int **f110[static 3][3],
+    int * const *f111[static const 3][3],
+    int * const * const f112[static const 3][3],
+
+    int *(f113[const *][3]),
+    int *(f114[const 3][3]),
+    int **(f115[static 3][3]),
+    int * const *(f116[static const 3][3]),
+    int * const * const (f117[static const 3][3])
+    ) {
+}
Index: src/Tests/Syntax/Initialization.c
===================================================================
--- src/Tests/Syntax/Initialization.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Initialization.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,45 @@
+// Cforall extensions
+
+int * v1 = 0, v2 = 0;
+int * v3 = 0, v4 = 0;
+
+void fred() {
+    int y1, y2[20]  = { 1, 2, 3 };
+
+    // designators
+
+    struct {
+	[int] w;
+    } a = { .w : [2] };
+
+    struct { int a[3], b; } w [] = { [0].a : {1}, [0].b : 1, [1].a[0] : 2 };
+
+    struct {
+	int f1, f2, f3;
+	struct { int g1, g2, g3; } f4[4];
+    } v7 = {
+	.f1 : 4,
+	.f2 : 3,
+	.f4[2] : {
+	    .g1 : 3,
+	    .g3 : 0,
+	},
+	.f4[3].g3 : 7,
+    };
+}
+
+struct point { int x; int z; struct {int y1, y2, y3;} y; int w;};
+struct quintet { int v, w, x, y, z;};
+
+int foo() {
+  return 4;
+}
+
+int main() {
+  foo();
+  int i;
+  struct point p1 = { x: 3 };
+  struct point p2 = { 3, 4 };
+  struct point p3 = { .[x,z]: 5, y : { .[y3,y1] : 6, 17 } };
+  struct point p4 = { w : 5, 4 };
+}
Index: src/Tests/Syntax/LabelledExit.c
===================================================================
--- src/Tests/Syntax/LabelledExit.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/LabelledExit.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,139 @@
+int main() {
+    int i;
+    int x, y;
+
+    x = 0; y = 0;
+
+// block, labelled exits
+
+  Block: {
+	if ( x == y ) {
+	    for ( ; i < y; ) {
+		y += 1;
+		if ( y < 10 ) break Block;
+	    }
+	}
+    }
+
+// loops, labelled exits
+
+  w1: while ( y == 10 );
+
+  w2: while ( x < 10 ) {
+      while (y < 5 ) {
+	  if ( y == 3 ) break w2;
+      }
+      x += 1;
+  }
+
+  A: for ( i = 0; i < 10; i += 1 ) {
+    B: for ( i = 0; i < 10; i += 1 ) {
+      C: for ( i = 0; i < 10; i += 1 ) {
+	  goto A;
+	  goto B;
+	  goto C;
+	  continue A;
+	  continue B;
+	  continue C;
+	  continue;
+	  break A;
+	  break B;
+	  break C;
+	  break;
+      }
+    }
+  }
+
+  D: for ( ;; ) {
+      break D;
+      continue D;
+  }
+
+    Z : i += 1;
+    goto Z;
+  X: Y: for ( ;; ) {
+      i += 1;
+      if ( i > 5 ) continue X;
+      if ( i < 5 ) break X;
+      if ( i < 5 ) break Y;
+      break;
+  }
+  XX: for ( ;; ) {
+    YY: for ( ;; ) {
+      ZZ: for ( ;; ) {
+	  i += 1;
+	  if ( i > 5 ) continue XX;
+	  if ( i < 5 ) continue YY;
+	  if ( i < 5 ) continue ZZ;
+	  if ( i > 5 ) break XX;
+	  if ( i < 5 ) break YY;
+	  if ( i < 5 ) break ZZ;
+	  break;
+      }
+    }
+  }
+
+    for ( ;; ) ;
+    for ( int i = 0 ;; ) ;
+    for (  ; i < 0; ) ;
+    for (  ; ; i += 1 ) ;
+  L0:  L1:  L2:  L3:  L4:  L5:  L6:  L7:  L8:  L9:
+  L10: L11: L12: L13: L14: L15: L16: L17: L18: L19:
+  L20: L21: L22: L23: L24: L25: L26: L27: L28: L29:
+  L31: L32: L33: L34:
+    for ( ;; ) {
+	break L0;
+    }
+
+// switch/choose, labelled exits
+
+  Switch: switch ( i ) {
+    default:
+      i += 1;
+    case 0:
+      i += 1;
+      break Switch;
+    case 1:
+      switch ( i ) {
+	case 0:
+	  break Switch;
+	default:
+	  break;
+      }
+  }
+
+  Choose: choose ( i ) {
+    default:
+      i += 1;
+    case 0:
+      i += 1;
+      break Choose;
+    case 1:
+      choose ( i ) {
+	case 0:
+	  break;
+	default:
+	  break Choose;
+      }
+      fallthru;
+    case 2:
+      i += 1;
+  }
+#if 0
+// computed goto
+
+    {
+	static void *array[] = { &&foo, &&bar, &&hack };
+
+      foo: bar: hack:
+	goto *array[i];
+    }
+#endif
+#if 0
+  Q: if ( i > 5 ) {
+      i += 1;
+      break Q;
+  } else
+      i += 1;
+#endif
+}
Index: src/Tests/Syntax/Makefile
===================================================================
--- src/Tests/Syntax/Makefile	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Makefile	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,22 @@
+CFA = ../../cfa-cpp
+
+TESTS = ${shell ls *.c}
+TEST_OUT = $(TESTS:.c=.tst)
+
+%.tst:%.c $(CFA)
+	$(CFA) -nd < $< > $@ 2>&1
+
+tests: $(TEST_OUT)
+
+clean:
+	rm -rf $(TEST_OUT)
+
+force: clean tests
+
+all: $(TESTS)
+	@for i in $(TESTS); do     \
+	  echo -n $$i "... " ;     \
+	  $(CFA) -d < $$i > $$i.log;  \
+	done
+
+
Index: src/Tests/Syntax/NamedParmArg.c
===================================================================
--- src/Tests/Syntax/NamedParmArg.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/NamedParmArg.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,14 @@
+int f1( int i = 3, int *j = 0 ) {}  /* ANSI */
+[int, int ] f2( int i = 3, * int j = 0 ) {}  /* CFA */
+
+int main() {
+    f1();		/* identical calls */
+    f1( 3 );
+    f1( 3, );
+    f1( 3, 0 );
+    f1( 3, j : 0 );
+    f1( j : 0, 3 );
+    f1( i : 3, j : 0 );
+    f1( j : 0, i : 3 );
+    f1( [j, i] : f2() );
+}
Index: src/Tests/Syntax/NumericConstants.c
===================================================================
--- src/Tests/Syntax/NumericConstants.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/NumericConstants.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,54 @@
+int main() {
+    1;							/* decimal */
+    2_1;
+    2_147_483_647;
+    37LL;
+    45ull;
+    89llu;
+    99LLu;
+    56_lu;
+    88_LLu;
+
+//    0;							/* octal */
+    0u;
+    0_3_77;
+    0_377_ul;
+
+    0x1;						/* hexadecimal */
+    0x1u;
+    0xabL;
+    0x_80000000;
+    0x_fff;
+    0x_ef3d_aa5c;
+    0x_3LL;
+
+    3.;							/* integral real */
+    3_100.;
+    1_000_000.;
+
+    3.1;						/* integral/fractional real */
+    3.141_592_654L;
+    123_456.123_456;
+
+    3E1;						/* integral/exponent real */
+    3_e1f;
+    3_E1_1_F;
+    3_E_11;
+    3_e_+11;
+    3_E_-11;
+
+    3.0E1;						/* integral/fractional/exponent real */
+    3.0_E1L;
+    3.0_e1_1;
+    3.0_E_11_l;
+    3.0_e_+11l;
+    3.0_E_-11;
+    123_456.123_456E-16;
+
+    0x_ff.ffp0;						/* hex real */
+    0x_1.ffff_ffff_p_128_l;
+}
+
+// Local Variables: //
+// compile-command: "../../../bin/cfa -std=c99 NumericConstants.c" //
+// End: //
Index: src/Tests/Syntax/Scope.c
===================================================================
--- src/Tests/Syntax/Scope.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Scope.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,68 @@
+int x;
+typedef double y;
+typedef float t;
+y z;
+type u = struct { int a; double b; };
+int f( int y );
+y q;
+
+y w(y y, u v) {
+    type x | { x t(u); };
+    u u = y;
+    x z = t(u);
+}
+
+y p;
+
+context has_u( type z )
+{
+  forall( type t ) z u(t);
+};
+
+forall( type t | has_u( t ) )
+y q( t the_t )
+{
+    t y = u( the_t );
+}
+
+t f( y p ) {
+    int y;
+    typedef char x;
+
+    {
+	x y;
+	typedef x z;
+
+	{
+	    z x;
+	    typedef z y;
+	    y z = x;
+	}
+
+	z x = y;
+    }
+
+    x q = y;
+}
+
+t g( void ) {
+    typedef char x;
+    try {
+	some_func();
+    } catch ( x x ) {
+	t y = x;
+    }
+    x z;
+}
+
+y q(i)							/* K&R style */
+    int i;
+{
+    switch (i) {
+	y q = i;
+      case 0:
+	return q;
+      default:
+	return i;
+    }
+}
Index: src/Tests/Syntax/StructMember.c
===================================================================
--- src/Tests/Syntax/StructMember.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/StructMember.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,40 @@
+typedef int T;
+
+struct S {
+    int m1:3, m2:4;
+    int :2;
+    int :3, :4;
+    int m3;
+    int m4, m5, m6;
+    int *m7, *m8, *m9;
+    int (*m10)();
+    int *(*m11)(int);
+    T T;
+    T (T);
+
+// Cforall extensions
+
+    * int m12, m13;
+    * [ * int ] (int) m14;
+    int ;
+    int , , ;
+    int * , , ;
+    int *, *, *;
+    * int , , ;
+    int (*)();
+    int (**)( int );
+    T ;
+
+// errors
+
+//    void f(void);
+};
+
+struct S s;
+
+union U {
+    [5] int m1;
+    int m2[5];
+    * int m3;
+    int *m4;
+} u;
Index: src/Tests/Syntax/Subrange.c
===================================================================
--- src/Tests/Syntax/Subrange.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Subrange.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,63 @@
+// A small context defining the notion of an ordered type.  (The standard
+// library should probably contain a context for this purpose.)
+context ordered(type T) {
+    int ?<?(T, T), ?<=?(T, T);
+};
+
+// A subrange type resembling an Ada subtype with a base type and a range
+// constraint.
+type subrange(type base_t | ordered(base_t), base_t low = 0, base_t high = 8) = base_t;
+
+// Note that subrange() can be applied to floating-point and pointer types, not
+// just integral types.
+//   This requires a "type generator" extension to Cforall.  Type generators
+// must accept type and non-type parameters, which is beyond what we discussed
+// previously.  Type parameters must be usable in the declaration of
+// subsequent parameters: parameter T is used to declare parameters "low"
+// and "high".
+
+// Example usage:
+subrange(unsigned, 1, 31) day_of_month;
+subrange(char, 'a', 'z')  lcase;
+subrange(int, 0, (rand() & 0xF) ) foo;
+
+// What sorts of expressions can be used as arguments of type generators?  Is
+// "subrange(int, 0, rand() & 0xF)" legal?  Probably.  The nearest C equivalent
+// to the "low" and "high" arguments is the array size in a variable-length
+// array declaration, and C allows assignment expressions there.
+
+// Convenient access to subrange bounds, for instance for iteration:
+forall (type T, T low, T high)
+T lbound( subrange(T, low, high) v) {
+    return low;
+}
+
+forall (type T, T low, T high)
+T hbound( subrange(T, low, high) v) {
+    return high;
+}
+
+// Example usage:
+unsigned lday = lbound(day_of_month);
+
+// Assignment from the base type, with bounds checking.  I'll ignore the issue
+// of exception handling here.  Inlining allows the compiler to eliminate
+// bounds checks.
+forall (type T | ordered(T), T low, T high)
+inline subrange(T, low, high) ?=?(subrange(T, low, high)* target, T source) {
+    if (low <= source && source <= high) *((T*)target) = source;
+    else abort();
+    return target;
+}
+
+// Assignment between subranges with a common base type.  The bounds check
+// compares range bounds so that the compiler can optimize checks away when the
+// ranges are known to overlap.
+forall (type T | ordered(T), T t_low, T t_high, T s_low, T s_high)
+inline subrange(T, t_low, t_high) ?=?(subrange(T, t_low, t_high)* target,
+				      subrange(T, s_low, s_high) source) {
+    if ( (t_low <= s_low || t_low <= source)
+	 && (s_high <= t_high || source <= t_high) ) *((T*)target) = source;
+    else abort();
+    return target;
+}
Index: src/Tests/Syntax/Switch.c
===================================================================
--- src/Tests/Syntax/Switch.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Switch.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,42 @@
+int fred() {
+    int i;
+    switch ( i ) case 3 : i = 1;
+    switch ( i ) default : i = 1;
+    switch ( 3 )
+      default:
+      case 2:
+      case 3:
+	3;
+
+    switch ( i ) {
+    }
+
+    switch ( i ) {
+	int i;
+      case 8~10:
+      default:
+	i = 3;
+      case 3:
+      case 'A' ... 'Z':
+      case 5 ... 6:
+      case 2, 4:
+	i = 3;
+	break;
+    }
+
+    choose ( i ) case 3 : i = 1;
+    choose ( i ) default : i = 1;
+    choose ( i ) {
+	int i;
+      case 3:
+      case 'A' ... 'Z':
+      case 5 ... 6:
+      case 2, 4, 7:
+	i = 3;
+	fallthru;
+      default:
+	i = 3;
+      case 8~10:
+	fallthru
+    }
+}
Index: src/Tests/Syntax/Tuple.c
===================================================================
--- src/Tests/Syntax/Tuple.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Tuple.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,66 @@
+int f( int, int );
+int g( int, int, int );
+static [ int, int, int, int ] h( int a, int b, * int c, [] char d );
+
+struct inner {
+    int f2, f3;
+};
+
+struct outer {
+    int f1;
+    struct inner i;
+    double f4;
+} s, *sp;
+
+const volatile [ int, int ] t1;
+static const [ int, const int ] t2;
+const static [ int, const int ] t3;
+
+[ int rc ] printf( * char fmt, ... );
+int printf( char *fmt, ... );
+
+[ short x, unsigned y ] f1( int w ) {
+    [ y, x ] = [ x, y ] = [ w, 23 ];
+}
+
+[ [ int, char, long, int ] r ] g1() {
+    short x, p;
+    unsigned int y;
+    [ int, int ] z;
+
+    [ x, y, z ] = [ p, f( 17 ), 3 ];
+    r = [ x, y, z ];
+}
+
+[ int rc ] main( int argc, ** char argv ) {
+    int a, b, c, d;
+    struct outer t = { .[ f1,f4 ] : [ 1,7.0 ] };
+    f( [ 3,5 ] );
+    g( [ 3,5 ], 3 );
+    f( t1 );
+    g( t1, 3 );
+
+    [ ,,, ];						/* empty tuple */
+    [ 3,5 ];
+    [ a,b ] = 3;
+    [ a,b ] = [ 4.6 ];
+    [ a,b ] = [ c,d ] = [ 3,5 ];
+    [ a,b,[ c ] ] = [ 2,[ a,b ] ];
+    [ a,b ] = 3 > 4 ? [ b,6 ] : [ 7,8 ];
+
+    t1 = [ a,b ];
+    t1 = [ a, ];					/* semantic error */
+    t1 = t2 = [ a,b ];
+    [ a,b ] = [ c,d ] = d += c += 1;
+    [ a,b ] = [ c,d ] = t1;
+    [ a,b ] = t1 = [ c,d ];
+    [ a,b ] = t1 = t2 = [ c,d ];
+    t1 = [ 3,4 ] = [ 3,4 ] = t1 = [ 3,4 ];
+
+    s.[ f1, i.[ f2, f3 ], f4 ] = [ 11, 12, 13, 3.14159 ];
+    s.[ f1, i.[ f2, f3 ], f4 ] = h( 3, 3, 0, "abc" );
+    [ a, ,b, ] = h( 3, 3, 0, "abc" );			/* ignore some results */
+    sp->[ f4,f1 ] = sp->[ f1,f4 ];
+    printf( "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n", s.[ f4, i.[ f3,f2 ], f1 ] );
+    rc = 0;
+}
Index: src/Tests/Syntax/TypeGenerator.c
===================================================================
--- src/Tests/Syntax/TypeGenerator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/TypeGenerator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,25 @@
+context addable(type T) {
+   T ?+?(T,T);
+};
+
+type List(type T | addable(T) ) | addable(T) = struct { T data; List(T) *next; } *;
+typedef List(int) ListOfIntegers;
+ListOfIntegers li;
+int f( List(int) ((*g))(int) );
+[int] h( * List(int) p ); // new declaration syntax
+
+struct(type T) S1;			// forward definition
+struct(type T) S1 { T i; };		// actual definition
+struct(int) S1 v1, *p;			// expansion and instantiation
+struct(type T)(int) S2 { T i; } v2;	// actual definition, expansion and instantiation
+struct(type T)(int) { T i; } v2;	// anonymous actual definition, expansion and instantiation
+
+struct(type T | addable(T) ) node { T data; struct(T) node *next; };
+type List(type T) = struct(T) node *;
+List(int) my_list;
+
+type Complex | addable(Complex);
+
+int main() {
+    (struct(int) node)my_list;
+}
Index: src/Tests/Syntax/Typedef.c
===================================================================
--- src/Tests/Syntax/Typedef.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Typedef.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,43 @@
+typedef int T;
+
+void f( void ) {
+    int T( T );
+    T( 3 );
+}
+
+struct {
+    T (T);
+} fred = { 3 };
+
+typedef int (*a)(int, char);
+a b;
+
+int g(void) {
+    double a;
+}
+a c;
+
+typedef typeof(3) x, y;  /* GCC */
+
+x p;
+y q;
+
+int main() {
+    typedef typeof(3) z, p;
+    z w;
+    p x;
+}
+
+/* new-style function definitions */
+
+typedef [10] * int arrayOf10Pointers;
+arrayOf10Pointers array;
+typedef const * int constantPointer;
+typedef * [ int ]( [] int ) funcPtr;
+typedef [ int ] funcProto( []  int );
+typedef [ int, int ] tupleType;
+typedef * [ int, int ] tupleTypePtr;
+typedef * int a, b;
+typedef [ int ] f( * int ), g;
+typedef [ * [static 10] int ] t;
+typedef [ * [static 10] int x ] f();
Index: src/Tests/Syntax/TypedefDeclarator.c
===================================================================
--- src/Tests/Syntax/TypedefDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/TypedefDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,116 @@
+typedef int
+     f0,  f1,  f2,  f3,  f4,  f5,  f6,  f7,  f8,  f9,
+    f10, f11, f12, f13, f14, f15, f16, f17, f18, f19,
+    f20, f21, f22, f23, f24, f25, f26, f27, f28, f29,
+    f30, f31, f32, f33, f34, f35, f36, f37, f38, f39,
+    f40, f41, f42, f43, f44, f45, f46, f47, f48, f49,
+    f50, f51, f52, f53, f54, f55, f56, f57, f58, f59,
+    f60, f61, f62, f63, f64, f65, f66, f67, f68, f69,
+    f70, f71, f72, f73, f74, f75, f76, f77, f78, f79,
+    f80, f81, f82, f83, f84, f85, f86, f87, f88, f89;
+
+int main() {
+    //int f0[]();
+    //int (f0[])();
+    //int f0()[];
+    //int f0()();
+    //int (*f0)()();
+    //int ((*f0())())[];
+    
+    int f1;
+    int (f2);
+
+    int *f3;
+    int **f4;
+    int * const *f5;
+    int * const * const f6;
+
+    int *(f7);
+    int **(f8);
+    int * const *(f9);
+    int * const * const (f10);
+
+    int (*f11);
+    int (**f12);
+    int (* const *f13);
+    int (* const * const f14);
+
+    int f15[];
+    int f16[10];
+    int (f17[]);
+    int (f18[10]);
+
+    int *f19[];
+    int *f20[10];
+    int **f21[];
+    int **f22[10];
+    int * const *f23[];
+    int * const *f24[10];
+    int * const * const f25[];
+    int * const * const f26[10];
+
+    int *(f27[]);
+    int *(f28[10]);
+    int **(f29[]);
+    int **(f30[10]);
+    int * const *(f31[]);
+    int * const *(f32[10]);
+    int * const * const (f33[]);
+    int * const * const (f34[10]);
+
+    int (*f35[]);
+    int (*f36[10]);
+    int (**f37[]);
+    int (**f38[10]);
+    int (* const *f39[]);
+    int (* const *f40[10]);
+    int (* const * const f41[]);
+    int (* const * const f42[10]);
+
+    int f43[][3];
+    int f44[3][3];
+    int (f45[])[3];
+    int (f46[3])[3];
+    int ((f47[]))[3];
+    int ((f48[3]))[3];
+
+    int *f49[][3];
+    int *f50[3][3];
+    int **f51[][3];
+    int **f52[3][3];
+    int * const *f53[][3];
+    int * const *f54[3][3];
+    int * const * const f55[][3];
+    int * const * const f56[3][3];
+
+    int (*f57[][3]);
+    int (*f58[3][3]);
+    int (**f59[][3]);
+    int (**f60[3][3]);
+    int (* const *f61[][3]);
+    int (* const *f62[3][3]);
+    int (* const * const f63[][3]);
+    int (* const * const f64[3][3]);
+
+    int f65(int);
+    int (f66)(int);
+
+    int *f67(int);
+    int **f68(int);
+    int * const *f69(int);
+    int * const * const f70(int);
+
+    int *(f71)(int);
+    int **(f72)(int);
+    int * const *(f73)(int);
+    int * const * const (f74)(int);
+
+    int (*f75)(int);
+    int (**f76)(int);
+    int (* const *f77)(int);
+    int (* const * const f78)(int);
+
+    int (*(*f79)(int))();
+    int (*(* const f80)(int))();
+    int (* const(* const f81)(int))();
+}
Index: src/Tests/Syntax/TypedefParamDeclarator.c
===================================================================
--- src/Tests/Syntax/TypedefParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/TypedefParamDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,150 @@
+typedef int
+     f0,   f1,   f2,   f3,   f4,   f5,   f6,   f7,   f8,   f9,
+    f10,  f11,  f12,  f13,  f14,  f15,  f16,  f17,  f18,  f19,
+    f20,  f21,  f22,  f23,  f24,  f25,  f26,  f27,  f28,  f29,
+    f30,  f31,  f32,  f33,  f34,  f35,  f36,  f37,  f38,  f39,
+    f40,  f41,  f42,  f43,  f44,  f45,  f46,  f47,  f48,  f49,
+    f50,  f51,  f52,  f53,  f54,  f55,  f56,  f57,  f58,  f59,
+    f60,  f61,  f62,  f63,  f64,  f65,  f66,  f67,  f68,  f69,
+    f70,  f71,  f72,  f73,  f74,  f75,  f76,  f77,  f78,  f79,
+    f80,  f81,  f82,  f83,  f84,  f85,  f86,  f87,  f88,  f89,
+    f90,  f91,  f92,  f93,  f94,  f95,  f96,  f97,  f98,  f99,
+    f100, f101, f102, f103, f104, f105, f106, f107, f108, f109,
+    f110, f111, f112, f113, f114, f115, f116, f117, f118, f119;
+
+int fred(
+/*
+    //int f0[](),
+    //int (f0[])(),
+    //int f0()[],
+    //int f0()(),
+    //int (*f0)()(),
+    //int ((*f0())())[],
+*/
+    int f1,
+
+    int *f3,
+    int **f4,
+    int * const *f5,
+    int * const * const f6,
+
+    int (*f11),
+    int (**f12),
+    int (* const *f13),
+    int (* const * const f14),
+
+    int f15[],
+    int f16[10],
+
+    int *f19[],
+    int *f20[10],
+    int **f21[],
+    int **f22[10],
+    int * const *f23[],
+    int * const *f24[10],
+    int * const * const f25[],
+    int * const * const f26[10],
+
+    int (*f35[]),
+    int (*f36[10]),
+    int (**f37[]),
+    int (**f38[10]),
+    int (* const *f39[]),
+    int (* const *f40[10]),
+    int (* const * const f41[]),
+    int (* const * const f42[10]),
+
+    int f43[][3],
+    int f44[3][3],
+/*
+    int (f45[])[3],
+    int (f46[3])[3],
+    int ((f47[]))[3],
+    int ((f48[3]))[3],
+*/
+    int *f49[][3],
+    int *f50[3][3],
+    int **f51[][3],
+    int **f52[3][3],
+    int * const *f53[][3],
+    int * const *f54[3][3],
+    int * const * const f55[][3],
+    int * const * const f56[3][3],
+
+    int (*f57[][3]),
+    int (*f58[3][3]),
+    int (**f59[][3]),
+    int (**f60[3][3]),
+    int (* const *f61[][3]),
+    int (* const *f62[3][3]),
+    int (* const * const f63[][3]),
+    int (* const * const f64[3][3]),
+
+    int f65(int),
+/*
+    int (f66)(int),
+*/
+    int *f67(int),
+    int **f68(int),
+    int * const *f69(int),
+    int * const * const f70(int),
+/*
+    int *(f71)(int),
+    int **(f72)(int),
+    int * const *(f73)(int),
+    int * const * const (f74)(int),
+*/
+    int (*f75)(int),
+    int (**f76)(int),
+    int (* const *f77)(int),
+    int (* const * const f78)(int),
+
+    int (*(*f79)(int))(),
+    int (*(* const f80)(int))(),
+    int (* const(* const f81)(int))(),
+
+    int f82[const *],
+    int f83[const 3],
+    int f84[static 3],
+    int f85[static const 3],
+
+    int (f86[const *]),
+    int (f87[const 3]),
+    int (f88[static 3]),
+    int (f89[static const 3]),
+
+    int *f90[const *],
+    int *f91[const 3],
+    int **f92[static 3],
+    int * const *f93[static const 3],
+    int * const * const f94[static const 3],
+
+    int *(f95[const *]),
+    int *(f96[const 3]),
+    int **(f97[static 3]),
+    int * const *(f98[static const 3]),
+    int * const * const (f99[static const 3]),
+
+    int f100[const *][3],
+    int f101[const 3][3],
+    int f102[static 3][3],
+    int f103[static const 3][3],
+
+    int (f104[const *][3]),
+    int (f105[const 3][3]),
+    int (f106[static 3][3]),
+    int (f107[static const 3][3]),
+
+    int *f108[const *][3],
+    int *f109[const 3][3],
+    int **f110[static 3][3],
+    int * const *f111[static const 3][3],
+    int * const * const f112[static const 3][3],
+
+    int *(f113[const *][3]),
+    int *(f114[const 3][3]),
+    int **(f115[static 3][3]),
+    int * const *(f116[static const 3][3]),
+    int * const * const (f117[static const 3][3])
+    ) {
+}
Index: src/Tests/Syntax/Typeof.c
===================================================================
--- src/Tests/Syntax/Typeof.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/Typeof.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,10 @@
+int main() {
+    int *v1;
+    typeof(v1) v2;
+    typeof(*v1) v3[4];
+    char *v4[4];
+    typeof(typeof(char *)[4]) v5;
+    typeof (int *) v6;
+    typeof( int ( int, int p ) ) *v7;
+    typeof( [int] ( int, int p ) ) *v8;
+}
Index: src/Tests/Syntax/VariableDeclarator.c
===================================================================
--- src/Tests/Syntax/VariableDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/Syntax/VariableDeclarator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,162 @@
+int f1;
+int (f2);
+
+int *f3;
+int **f4;
+int * const *f5;
+int * const * const f6;
+
+int *(f7);
+int **(f8);
+int * const *(f9);
+int * const * const (f10);
+
+int (*f11);
+int (**f12);
+int (* const *f13);
+int (* const * const f14);
+
+int f15[];
+int f16[10];
+int (f17[]);
+int (f18[10]);
+
+int *f19[];
+int *f20[10];
+int **f21[];
+int **f22[10];
+int * const *f23[];
+int * const *f24[10];
+int * const * const f25[];
+int * const * const f26[10];
+
+int *(f27[]);
+int *(f28[10]);
+int **(f29[]);
+int **(f30[10]);
+int * const *(f31[]);
+int * const *(f32[10]);
+int * const * const (f33[]);
+int * const * const (f34[10]);
+
+int (*f35)[];
+int (*f36)[10];
+int (**f37)[];
+int (**f38)[10];
+int (* const *f39)[];
+int (* const *f40)[10];
+int (* const * const f41)[];
+int (* const * const f42)[10];
+
+int f43[][3];
+int f44[3][3];
+int (f45[])[3];
+int (f46[3])[3];
+int ((f47[]))[3];
+int ((f48[3]))[3];
+
+int *f49[][3];
+int *f50[3][3];
+int **f51[][3];
+int **f52[3][3];
+int * const *f53[][3];
+int * const *f54[3][3];
+int * const * const f55[][3];
+int * const * const f56[3][3];
+
+int (*f57[][3]);
+int (*f58[3][3]);
+int (**f59[][3]);
+int (**f60[3][3]);
+int (* const *f61[][3]);
+int (* const *f62[3][3]);
+int (* const * const f63[][3]);
+int (* const * const f64[3][3]);
+
+int f65(int);
+int (f66)(int);
+
+int *f67(int);
+int **f68(int);
+int * const *f69(int);
+int * const * const f70(int);
+
+int *(f71)(int);
+int **(f72)(int);
+int * const *(f73)(int);
+
+int * const * const (f74)(int);
+
+int (*f75)(int);
+int (**f76)(int);
+int (* const *f77)(int);
+int (* const * const f78)(int);
+
+int (*(*f79)(int))();
+int (*(* const f80)(int))();
+int (* const(* const f81)(int))();
+
+// errors
+
+//int fe0[]();				// array of functions
+//int (fe1[])();				// array of functions
+//int fe2()[];				// returning an array
+//int fe3()();				// returning a function
+//int (*fe4)()();				// returning a function
+//int ((*fe5())())[];			// returning an array
+
+// Cforall extensions
+
+* int cf3;
+* * int cf4;
+* const * int cf5;
+const * const * int cf6;
+
+[] int cf15;
+[10] int cf16;
+
+[] * int cf19;
+[10] * int cf20;
+int **cf21[];
+[10] * * int cf22;
+[] * const * int cf23;
+[10] * const * int cf24;
+[] const * const * int cf25;
+[10] const * const * int cf26;
+
+* [] int cf35;
+* [10] int cf36;
+* * [] int cf37;
+* * [10] int cf38;
+* const * [] int cf39;
+* const * [10] int cf40;
+const * const * [] int cf41;
+const * const * [10] int cf42;
+
+[][3] int cf43;
+[3][3] int cf44;
+
+[][3] * int cf49;
+[3][3] * int cf50;
+[][3] * * int cf51;
+[3][3] * * int cf52;
+[][3] const * int cf53;
+[3][3] * const * int cf54;
+[][3] const * const * int cf55;
+[3][3] const * const * int cf56;
+
+[int] cf65(int);
+[int] cf66(int);
+
+[* int] cf67(int);
+[* * int] cf68(int);
+[const * * int] cf69(int);
+[const * const * int] cf70(int);
+
+
+* [20] double z;
+[20] * char w;
+
+// function pointer
+
+*[]*[]* [ *[]*[] int ]( *[]*[] int, *[]*[] int ) v3;
Index: src/Tests/Tuple.c
===================================================================
--- src/Tests/Tuple.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,70 +1,0 @@
-int f( int, int );
-int g( int, int, int );
-static [ int, int *, * int, int ] h( int a, int b, * int c, [] char d );
-
-struct inner {
-	int f2, f3;
-};
-
-struct outer {
-	int f1;
-	struct inner i;
-	double f4;
-} s, *sp;
-
-const volatile [ int, int ] t1;
-static const [ int, const int ] t2;
-const static [ int, const int ] t3;
-
-[ int rc ] printf( * char fmt, ... );
-int printf( char *fmt, ... );
-
-[ short x, unsigned y ] f1( int w ) {
-	[ y, x ] = [ x, y ] = [ w, 23 ];
-}
-
-[ [ int, char, long, int ] r ] g1() {
-	short x, p;
-	unsigned int y;
-	[ int, int ] z;
-
-	[ x, y, z ] = [ p, f( 17 ), 3 ];
-	[ x, y, z ] = ([short, unsigned int, [int, int]])([ p, f( 17 ), 3 ]);
-	r = [ x, y, z ];
-}
-
-[ int rc ] main( int argc, ** char argv ) {
-	int a, b, c, d;
-	struct outer t = { .[ f1,f4 ] : [ 1,7.0 ] };
-	f( [ 3,5 ] );
-	g( [ 3,5 ], 3 );
-	f( t1 );
-	g( t1, 3 );
-
-	[ , , , ];						/* empty tuple */
-	[ 3, 5 ];
-	[ a, b ] = 3;
-	[ a, b ] = [ 4.6 ];
-	[ a, b ] = [ c, d ] = [ 3, 5 ];
-	[ a, b, [ c ] ] = [ 2,[ a, b ] ];
-	[ a, b ] = 3 > 4 ? [ b, 6 ] : [ 7, 8 ];
-
-	t1 = [ a, b ];
-	t1 = t2 = [ a, b ];
-	[ a, b ] = [ c, d ] = d += c += 1;
-	[ a, b ] = [ c, d ] = t1;
-	[ a, b ] = t1 = [ c, d ];
-	[ a, b ] = t1 = t2 = [ c, d ];
-	t1 = [ 3, 4 ] = [ 3, 4 ] = t1 = [ 3, 4 ];
-
-	s.[ f1, i.[ f2, f3 ], f4 ] = [ 11, 12, 13, 3.14159 ];
-	s.[ f1, i.[ f2, f3 ], f4 ] = h( 3, 3, 0, "abc" );
-	[ a, , b, ] = h( 3, 3, 0, "abc" );			/* ignore some results */
-	sp->[ f4,f1 ] = sp->[ f1, f4 ];
-	printf( "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n", s.[ f4, i.[ f3, f2 ], f1 ] );
-	rc = 0;
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/TupleAssign/Initialization2.c
===================================================================
--- src/Tests/TupleAssign/Initialization2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/TupleAssign/Initialization2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,15 @@
+int a = 3;
+struct { int x; int y; } z = { 3, 7 };      /* OK */
+struct { int x; int y; } z1 = { .[x,y]:3 }; /* OK */
+struct { int x; int y; } z2 = { y:3, x:4 }; /* OK */
+struct { int x; struct { int y1; int y2; } y; } z3 = { x:3, y:{y1:4, y2:5} };  /* OK */
+struct { int x; struct { int y1; int y2; } y; } z3 = { y:{y2:9, y1:8}, x:7 };  /* OK */
+struct { int x; struct { int y1; int y2; } y; } z3 = { x:7, {y2:9, y1:8} };  /* OK */
+struct { int x; struct { int y1; int y2; } y; } z3 = { 3, {4, 5} };   /* OK */
+//struct { int x; struct { int y1; int y2; } } z3 = {4, {5,6}};
+//struct { int x; struct { int y1; int y2; } y; } z4 = { y:{4,5}, a:3 };
+//struct { int x; struct { int y1; int y2; } y; } z5 = { a:3, {4,5}};
+//int x[20] = { [10]: 4 };
+struct t { int a, b; };
+struct t x = { b:4, a:3 };
+struct { int x; int y; } z6= {5,6,4};  /* (should be an) error */
Index: src/Tests/TypeGenerator.c
===================================================================
--- src/Tests/TypeGenerator.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,30 +1,0 @@
-context addable( type T ) {
-	T ?+?( T,T );
-	T ?=?( T*, T);
-};
-
-type List1( type T | addable( T ) ) = struct { T data; List1( T ) *next; } *;
-typedef List1( int ) ListOfIntegers;
-//List1( int ) li;
-ListOfIntegers li;
-int f( List1( int ) ( (*g ))( int ) );
-[int] h( * List1( int ) p );							// new declaration syntax
-
-struct( type T ) S2 { T i; };							// actual definition
-struct( int ) S3 v1, *p;								// expansion and instantiation
-struct( type T )( int ) S24 { T i; } v2;				// actual definition, expansion and instantiation
-struct( type T )( int ) { T i; } v2;					// anonymous actual definition, expansion and instantiation
-
-struct( type T | addable( T ) ) node { T data; struct( T ) node *next; };
-type List( type T ) = struct( T ) node *;
-List( int ) my_list;
-
-type Complex | addable( Complex );
-
-int main() {
-	(struct( int ) node)my_list;
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Typedef.c
===================================================================
--- src/Tests/Typedef.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,47 +1,0 @@
-typedef int T;
-
-void f( void ) {
-    int T( T );
-    T( 3 );
-}
-
-struct {
-    T (T);
-} fred = { 3 };
-
-typedef int (*a)(int, char);
-a b;
-
-int g(void) {
-    double a;
-}
-a c;
-
-typedef typeof(3) x, y;  // GCC
-
-x p;
-y q;
-
-int main() {
-    typedef typeof(3) z, p;
-    z w;
-    p x;
-}
-
-// new-style function definitions
-
-typedef [10] * int arrayOf10Pointers;
-arrayOf10Pointers array;
-typedef const * int constantPointer;
-typedef * [ int ]( [] int ) funcPtr;
-typedef [ int ] funcProto( []  int );
-typedef [ int, int ] tupleType;
-typedef * [ int, int ] tupleTypePtr;
-typedef * int a, b;
-typedef [ int ] f( * int ), g;
-typedef [ * [static 10] int ] t;
-typedef [ * [static 10] int x ] f();
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/TypedefDeclarator.c
===================================================================
--- src/Tests/TypedefDeclarator.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,120 +1,0 @@
-typedef int
-	 f0,  f1,  f2,  f3,  f4,  f5,  f6,  f7,  f8,  f9,
-	f10, f11, f12, f13, f14, f15, f16, f17, f18, f19,
-	f20, f21, f22, f23, f24, f25, f26, f27, f28, f29,
-	f30, f31, f32, f33, f34, f35, f36, f37, f38, f39,
-	f40, f41, f42, f43, f44, f45, f46, f47, f48, f49,
-	f50, f51, f52, f53, f54, f55, f56, f57, f58, f59,
-	f60, f61, f62, f63, f64, f65, f66, f67, f68, f69,
-	f70, f71, f72, f73, f74, f75, f76, f77, f78, f79,
-	f80, f81, f82, f83, f84, f85, f86, f87, f88, f89;
-
-int main() {
-	//int f0[]();
-	//int (f0[])();
-	//int f0()[];
-	//int f0()();
-	//int (*f0)()();
-	//int ((*f0())())[];
-	
-	int f1;
-	int (f2);
-
-	int *f3;
-	int **f4;
-	int * const *f5;
-	int * const * const f6;
-
-	int *(f7);
-	int **(f8);
-	int * const *(f9);
-	int * const * const (f10);
-
-	int (*f11);
-	int (**f12);
-	int (* const *f13);
-	int (* const * const f14);
-
-	int f15[];
-	int f16[10];
-	int (f17[]);
-	int (f18[10]);
-
-	int *f19[];
-	int *f20[10];
-	int **f21[];
-	int **f22[10];
-	int * const *f23[];
-	int * const *f24[10];
-	int * const * const f25[];
-	int * const * const f26[10];
-
-	int *(f27[]);
-	int *(f28[10]);
-	int **(f29[]);
-	int **(f30[10]);
-	int * const *(f31[]);
-	int * const *(f32[10]);
-	int * const * const (f33[]);
-	int * const * const (f34[10]);
-
-	int (*f35[]);
-	int (*f36[10]);
-	int (**f37[]);
-	int (**f38[10]);
-	int (* const *f39[]);
-	int (* const *f40[10]);
-	int (* const * const f41[]);
-	int (* const * const f42[10]);
-
-	int f43[][3];
-	int f44[3][3];
-	int (f45[])[3];
-	int (f46[3])[3];
-	int ((f47[]))[3];
-	int ((f48[3]))[3];
-
-	int *f49[][3];
-	int *f50[3][3];
-	int **f51[][3];
-	int **f52[3][3];
-	int * const *f53[][3];
-	int * const *f54[3][3];
-	int * const * const f55[][3];
-	int * const * const f56[3][3];
-
-	int (*f57[][3]);
-	int (*f58[3][3]);
-	int (**f59[][3]);
-	int (**f60[3][3]);
-	int (* const *f61[][3]);
-	int (* const *f62[3][3]);
-	int (* const * const f63[][3]);
-	int (* const * const f64[3][3]);
-
-	int f65(int);
-	int (f66)(int);
-
-	int *f67(int);
-	int **f68(int);
-	int * const *f69(int);
-	int * const * const f70(int);
-
-	int *(f71)(int);
-	int **(f72)(int);
-	int * const *(f73)(int);
-	int * const * const (f74)(int);
-
-	int (*f75)(int);
-	int (**f76)(int);
-	int (* const *f77)(int);
-	int (* const * const f78)(int);
-
-	int (*(*f79)(int))();
-	int (*(* const f80)(int))();
-	int (* const(* const f81)(int))();
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/TypedefParamDeclarator.c
===================================================================
--- src/Tests/TypedefParamDeclarator.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,154 +1,0 @@
-typedef int
-	 f0,   f1,   f2,   f3,   f4,   f5,   f6,   f7,   f8,   f9,
-	f10,  f11,  f12,  f13,  f14,  f15,  f16,  f17,  f18,  f19,
-	f20,  f21,  f22,  f23,  f24,  f25,  f26,  f27,  f28,  f29,
-	f30,  f31,  f32,  f33,  f34,  f35,  f36,  f37,  f38,  f39,
-	f40,  f41,  f42,  f43,  f44,  f45,  f46,  f47,  f48,  f49,
-	f50,  f51,  f52,  f53,  f54,  f55,  f56,  f57,  f58,  f59,
-	f60,  f61,  f62,  f63,  f64,  f65,  f66,  f67,  f68,  f69,
-	f70,  f71,  f72,  f73,  f74,  f75,  f76,  f77,  f78,  f79,
-	f80,  f81,  f82,  f83,  f84,  f85,  f86,  f87,  f88,  f89,
-	f90,  f91,  f92,  f93,  f94,  f95,  f96,  f97,  f98,  f99,
-	f100, f101, f102, f103, f104, f105, f106, f107, f108, f109,
-	f110, f111, f112, f113, f114, f115, f116, f117, f118, f119;
-
-int fred(
-/*
-	//int f0[](),
-	//int (f0[])(),
-	//int f0()[],
-	//int f0()(),
-	//int (*f0)()(),
-	//int ((*f0())())[],
-*/
-	int f1,
-
-	int *f3,
-	int **f4,
-	int * const *f5,
-	int * const * const f6,
-
-	int (*f11),
-	int (**f12),
-	int (* const *f13),
-	int (* const * const f14),
-
-	int f15[],
-	int f16[10],
-
-	int *f19[],
-	int *f20[10],
-	int **f21[],
-	int **f22[10],
-	int * const *f23[],
-	int * const *f24[10],
-	int * const * const f25[],
-	int * const * const f26[10],
-
-	int (*f35[]),
-	int (*f36[10]),
-	int (**f37[]),
-	int (**f38[10]),
-	int (* const *f39[]),
-	int (* const *f40[10]),
-	int (* const * const f41[]),
-	int (* const * const f42[10]),
-
-	int f43[][3],
-	int f44[3][3],
-/*
-	int (f45[])[3],
-	int (f46[3])[3],
-	int ((f47[]))[3],
-	int ((f48[3]))[3],
-*/
-	int *f49[][3],
-	int *f50[3][3],
-	int **f51[][3],
-	int **f52[3][3],
-	int * const *f53[][3],
-	int * const *f54[3][3],
-	int * const * const f55[][3],
-	int * const * const f56[3][3],
-
-	int (*f57[][3]),
-	int (*f58[3][3]),
-	int (**f59[][3]),
-	int (**f60[3][3]),
-	int (* const *f61[][3]),
-	int (* const *f62[3][3]),
-	int (* const * const f63[][3]),
-	int (* const * const f64[3][3]),
-
-	int f65(int),
-/*
-	int (f66)(int),
-*/
-	int *f67(int),
-	int **f68(int),
-	int * const *f69(int),
-	int * const * const f70(int),
-/*
-	int *(f71)(int),
-	int **(f72)(int),
-	int * const *(f73)(int),
-	int * const * const (f74)(int),
-*/
-	int (*f75)(int),
-	int (**f76)(int),
-	int (* const *f77)(int),
-	int (* const * const f78)(int),
-
-	int (*(*f79)(int))(),
-	int (*(* const f80)(int))(),
-	int (* const(* const f81)(int))(),
-
-	int f82[const *],
-	int f83[const 3],
-	int f84[static 3],
-	int f85[static const 3],
-
-	int (f86[const *]),
-	int (f87[const 3]),
-	int (f88[static 3]),
-	int (f89[static const 3]),
-
-	int *f90[const *],
-	int *f91[const 3],
-	int **f92[static 3],
-	int * const *f93[static const 3],
-	int * const * const f94[static const 3],
-
-	int *(f95[const *]),
-	int *(f96[const 3]),
-	int **(f97[static 3]),
-	int * const *(f98[static const 3]),
-	int * const * const (f99[static const 3]),
-
-	int f100[const *][3],
-	int f101[const 3][3],
-	int f102[static 3][3],
-	int f103[static const 3][3],
-
-	int (f104[const *][3]),
-	int (f105[const 3][3]),
-	int (f106[static 3][3]),
-	int (f107[static const 3][3]),
-
-	int *f108[const *][3],
-	int *f109[const 3][3],
-	int **f110[static 3][3],
-	int * const *f111[static const 3][3],
-	int * const * const f112[static const 3][3],
-
-	int *(f113[const *][3]),
-	int *(f114[const 3][3]),
-	int **(f115[static 3][3]),
-	int * const *(f116[static const 3][3]),
-	int * const * const (f117[static const 3][3])
-	) {
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/Typeof.c
===================================================================
--- src/Tests/Typeof.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,10 +1,0 @@
-int main() {
-    int *v1;
-    typeof(v1) v2;
-    typeof(*v1) v3[4];
-    char *v4[4];
-    typeof(typeof(char *)[4]) v5;
-    typeof (int *) v6;
-    typeof( int ( int, int p ) ) *v7;
-    typeof( [int] ( int, int p ) ) *v8;
-}
Index: src/Tests/VariableDeclarator.c
===================================================================
--- src/Tests/VariableDeclarator.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,162 +1,0 @@
-int f1;
-int (f2);
-
-int *f3;
-int **f4;
-int * const *f5;
-int * const * const f6;
-
-int *(f7);
-int **(f8);
-int * const *(f9);
-int * const * const (f10);
-
-int (*f11);
-int (**f12);
-int (* const *f13);
-int (* const * const f14);
-
-int f15[];
-int f16[10];
-int (f17[]);
-int (f18[10]);
-
-int *f19[];
-int *f20[10];
-int **f21[];
-int **f22[10];
-int * const *f23[];
-int * const *f24[10];
-int * const * const f25[];
-int * const * const f26[10];
-
-int *(f27[]);
-int *(f28[10]);
-int **(f29[]);
-int **(f30[10]);
-int * const *(f31[]);
-int * const *(f32[10]);
-int * const * const (f33[]);
-int * const * const (f34[10]);
-
-int (*f35)[];
-int (*f36)[10];
-int (**f37)[];
-int (**f38)[10];
-int (* const *f39)[];
-int (* const *f40)[10];
-int (* const * const f41)[];
-int (* const * const f42)[10];
-
-int f43[][3];
-int f44[3][3];
-int (f45[])[3];
-int (f46[3])[3];
-int ((f47[]))[3];
-int ((f48[3]))[3];
-
-int *f49[][3];
-int *f50[3][3];
-int **f51[][3];
-int **f52[3][3];
-int * const *f53[][3];
-int * const *f54[3][3];
-int * const * const f55[][3];
-int * const * const f56[3][3];
-
-int (*f57[][3]);
-int (*f58[3][3]);
-int (**f59[][3]);
-int (**f60[3][3]);
-int (* const *f61[][3]);
-int (* const *f62[3][3]);
-int (* const * const f63[][3]);
-int (* const * const f64[3][3]);
-
-int f65(int);
-int (f66)(int);
-
-int *f67(int);
-int **f68(int);
-int * const *f69(int);
-int * const * const f70(int);
-
-int *(f71)(int);
-int **(f72)(int);
-int * const *(f73)(int);
-
-int * const * const (f74)(int);
-
-int (*f75)(int);
-int (**f76)(int);
-int (* const *f77)(int);
-int (* const * const f78)(int);
-
-int (*(*f79)(int))();
-int (*(* const f80)(int))();
-int (* const(* const f81)(int))();
-
-// errors
-
-//int fe0[]();				// array of functions
-//int (fe1[])();				// array of functions
-//int fe2()[];				// returning an array
-//int fe3()();				// returning a function
-//int (*fe4)()();				// returning a function
-//int ((*fe5())())[];			// returning an array
-
-// Cforall extensions
-
-* int cf3;
-* * int cf4;
-* const * int cf5;
-const * const * int cf6;
-
-[] int cf15;
-[10] int cf16;
-
-[] * int cf19;
-[10] * int cf20;
-int **cf21[];
-[10] * * int cf22;
-[] * const * int cf23;
-[10] * const * int cf24;
-[] const * const * int cf25;
-[10] const * const * int cf26;
-
-* [] int cf35;
-* [10] int cf36;
-* * [] int cf37;
-* * [10] int cf38;
-* const * [] int cf39;
-* const * [10] int cf40;
-const * const * [] int cf41;
-const * const * [10] int cf42;
-
-[][3] int cf43;
-[3][3] int cf44;
-
-[][3] * int cf49;
-[3][3] * int cf50;
-[][3] * * int cf51;
-[3][3] * * int cf52;
-[][3] const * int cf53;
-[3][3] * const * int cf54;
-[][3] const * const * int cf55;
-[3][3] const * const * int cf56;
-
-[int] cf65(int);
-[int] cf66(int);
-
-[* int] cf67(int);
-[* * int] cf68(int);
-[const * * int] cf69(int);
-[const * const * int] cf70(int);
-
-// function pointer
-
-*[]*[]* [ *[]*[] int ]( *[]*[] int, *[]*[] int ) v3;
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/gcc/900407-1.c
===================================================================
--- src/Tests/gcc/900407-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/gcc/900407-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,9 @@
+foo (int a, int b, int *p)
+{
+  int c;
+  p[2] = a + 0x1000;
+  c = b + 0xffff0000;
+  if ((b + 0xffff0000) == 2)
+    c++;
+  p[2] = c;
+}
Index: src/Tests/gcc/900516-1.c
===================================================================
--- src/Tests/gcc/900516-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/gcc/900516-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,2 @@
+/* added 'int' to argument */
+f(int c) { return!(c?2.0:1.0); }
Index: src/Tests/gcc/920301-1.c
===================================================================
--- src/Tests/gcc/920301-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/gcc/920301-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,2 @@
+f() {static void*t[];/*={&&x};*/ x:y:;}
+g() {static unsigned p[5];}
Index: src/Tests/gcc/920409-1.c
===================================================================
--- src/Tests/gcc/920409-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/gcc/920409-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,1 @@
+x() {int y;y>0.0?y:y-1;}
Index: src/Tests/gcc/920409-2.c
===================================================================
--- src/Tests/gcc/920409-2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/gcc/920409-2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,2 @@
+double x() {int x1,x2;double v;
+if (((long)(x1-x2))<1)return -1.0;v=t(v);v=y(1,v>0.0?(int)v:((int)v-1));}
Index: src/Tests/gcc/920410-2.c
===================================================================
--- src/Tests/gcc/920410-2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/gcc/920410-2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,12 @@
+joe()
+  {
+    int j;
+
+    while ( 1 )
+      {
+	for ( j = 0; j < 4; j++ )
+	  ;
+	for ( j = 0; j < 4; j++ )
+	  ;
+      }
+  }
Index: src/Tests/gcc/920501-1.c
===================================================================
--- src/Tests/gcc/920501-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/gcc/920501-1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,1 @@
+a() {int**b[]={&&c};c:;}
Index: src/Tests/gcc/920501-11.c
===================================================================
--- src/Tests/gcc/920501-11.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/gcc/920501-11.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,1 @@
+typedef struct{int s;}S;foo() {int i=(int)&(S) {(void*)((int)&(S) {1})};}
Index: src/Tests/gcc/920501-19.c
===================================================================
--- src/Tests/gcc/920501-19.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/Tests/gcc/920501-19.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,1 @@
+long long x=0;y() {x=0;}
Index: src/Tests/gcc900407-1.c
===================================================================
--- src/Tests/gcc900407-1.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-foo ( int a, int b, int *p ) {
-	int c;
-	p[2] = a + 0x1000;
-	c = b + 0xffff0000;
-	if ( (b + 0xffff0000) == 2 )
-		c++;
-	p[2] = c;
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/gcc900516-1.c
===================================================================
--- src/Tests/gcc900516-1.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-f( int c ) { return ! ( c ? 2.0 : 1.0 ); }
Index: src/Tests/gcc920301-1.c
===================================================================
--- src/Tests/gcc920301-1.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-f() { static void*t[]; /*={&&x};*/ x:y: ; }
-g() { static unsigned p[5]; }
Index: src/Tests/gcc920409-1.c
===================================================================
--- src/Tests/gcc920409-1.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-x() { int y; y > 0.0 ? y : y - 1; }
Index: src/Tests/gcc920409-2.c
===================================================================
--- src/Tests/gcc920409-2.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-double x() {
-	int x1, x2;
-	double v;
-	if ( ( (long)(x1-x2) ) < 1 )
-		return -1.0;
-	v = t( v );
-	v = y( 1, v > 0.0 ? (int)v : ( (int)v - 1 ) );
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/gcc920410-2.c
===================================================================
--- src/Tests/gcc920410-2.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,12 +1,0 @@
-joe() {
-	int j;
-
-	while ( 1 ) {
-		for ( j = 0; j < 4; j++ );
-		for ( j = 0; j < 4; j++ );
-	}
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/gcc920501-1.c
===================================================================
--- src/Tests/gcc920501-1.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-a() { int **b[] = { &&c }; c: ; }
Index: src/Tests/gcc920501-11.c
===================================================================
--- src/Tests/gcc920501-11.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,8 +1,0 @@
-typedef struct{ int s; } S;
-foo() {
-	int i = (int)&(S){ (void*)((int)&(S) {1}) };
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// End: //
Index: src/Tests/gcc920501-19.c
===================================================================
--- src/Tests/gcc920501-19.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-long long x = 0; y() { x = 0; }
Index: src/Tuples/AssignExpand.cc
===================================================================
--- src/Tuples/AssignExpand.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Tuples/AssignExpand.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:16:39 2015
-// Update Count     : 4
+// Last Modified On : Mon May 18 11:24:47 2015
+// Update Count     : 2
 //
 
@@ -23,10 +23,8 @@
 #include "AssignExpand.h"
 
-#include "Parser/ParseNode.h"
-
 #include "SynTree/Type.h"
+#include "SynTree/Statement.h"
+#include "SynTree/Expression.h"
 #include "SynTree/Declaration.h"
-#include "SynTree/Expression.h"
-#include "SynTree/Statement.h"
 
 namespace Tuples {
@@ -102,8 +100,8 @@
 					assert( rhsT->get_results().size() == 1 );
 					// declare temporaries
-					ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), DeclarationNode::NoStorageClass, LinkageSpec::Intrinsic, 0,
+					ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), Declaration::NoStorageClass, LinkageSpec::Intrinsic, 0,
 													  lhsT->get_results().front(), 0 );
 					decls.push_back( new DeclStmt( std::list< Label >(), lhs ) );
-					ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), DeclarationNode::NoStorageClass, LinkageSpec::Intrinsic, 0,
+					ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), Declaration::NoStorageClass, LinkageSpec::Intrinsic, 0,
 													  rhsT->get_results().front(), 0);
 					decls.push_back( new DeclStmt( std::list< Label >(), rhs ));
Index: src/Tuples/FunctionChecker.cc
===================================================================
--- src/Tuples/FunctionChecker.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Tuples/FunctionChecker.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:17:19 2015
-// Update Count     : 4
+// Last Modified On : Mon May 18 11:59:55 2015
+// Update Count     : 3
 //
 
@@ -75,5 +75,5 @@
 		if ( applicationExpr->get_results().size() > 1 ) {
 			for ( std::list< Type *>::iterator res = applicationExpr->get_results().begin(); res != applicationExpr->get_results().end(); res++ )
-				temporaries.push_back( new ObjectDecl( nameGen->newName(), DeclarationNode::Auto, LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) );
+				temporaries.push_back( new ObjectDecl( nameGen->newName(),Declaration::Auto,LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) );
 
 			assert( ! temporaries.empty() );
Index: src/Tuples/MultRet.cc
===================================================================
--- src/Tuples/MultRet.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Tuples/MultRet.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 14:54:44 2015
-// Update Count     : 2
+// Last Modified On : Mon May 18 12:37:57 2015
+// Update Count     : 1
 //
 
@@ -141,6 +141,7 @@
 	// Auxiliary function to generate new names for the `output' parameters
 	DeclStmt *MVRMutator::newVar( DeclarationWithType *reqDecl ) {
-		// std::ostringstream os;
+		// std::ostrstream os;
 		// os << "__" << curVal++ << "__";// << std::ends;
+		// os.freeze( false );
 
 		ObjectDecl *decl;
Index: src/Tuples/module.mk
===================================================================
--- src/Tuples/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/Tuples/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,18 +1,2 @@
-######################### -*- Mode: Makefile-Gmake -*- ########################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:54:33 2015
-## Update Count     : 1
-###############################################################################
-
 SRC += 	Tuples/Mutate.cc \
 	Tuples/AssignExpand.cc \
@@ -20,6 +4,5 @@
 	Tuples/TupleAssignment.cc \
 	Tuples/FunctionChecker.cc \
-	Tuples/NameMatcher.cc
-
+	Tuples/NameMatcher.cc \
 #	Tuples/MultipleAssign.cc \
 #	Tuples/FlattenTuple.cc \
@@ -27,3 +10,5 @@
 #	Tuples/FixReturn.cc \
 #	Tuples/MassAssignment.cc \
-#	Tuples/TupleFixer.cc
+#	Tuples/TupleFixer.cc \
+	$(NULL)
+
Index: src/attr-ex
===================================================================
--- src/attr-ex	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/attr-ex	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,49 @@
+I Compile-time resolution
+=========================
+
+1. an isolated name, where the argument is implicitly determined by the result context
+
+@max
+
+2. a direct application to a manifest type
+
+@max( int )
+
+3. constraining a type variable; the application is implicitly performed at the call site as in (2)
+
+forall( type T | { T @max( T ); } ) T x( T t );
+
+
+II Run-time resolution
+======================
+
+1. an indirect reference, where the argument is implicitly determined by the result context
+
+attr_var = &@max;
+x = (*attr_var);
+
+2. an indirect application to a manifest type
+
+(*attr_var)( int )
+
+3. a direct application to a type variable
+
+@max( T )
+
+Under what circumstances can this be done at compile/link time?
+
+
+III Declaration forms
+=====================
+
+1. monomorphic with implicit argument
+
+int @max;
+
+2. monomorphic with explicit argument
+
+int @max( int );
+
+3. polymorphic
+
+forall( type T | constraint( T ) ) int @attr( T );
Index: src/comments.txt
===================================================================
--- src/comments.txt	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/comments.txt	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,7 @@
+BasicInit::mutate(SynTree::CompoundStmt *compoundStmt)
+	- collect all decl stmts from kids
+	- move to top of block
+	- replace initializers with assignment stmts
+
+	- throw( 0 ) s.b. throw SemanticError( "type doesn't match initializer in ", odecl );
+	- doesn't work when initialization depends on previous computation in same block
Index: src/driver/Makefile.am
===================================================================
--- src/driver/Makefile.am	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,26 +1,0 @@
-######################## -*- Mode: Makefile-Automake -*- ######################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## Makefile.am -- 
-##
-## Author           : Peter A. Buhr
-## Created On       : Sun May 31 08:49:31 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Sun May 31 08:50:25 2015
-## Update Count     : 1
-###############################################################################
-
-# applies to both programs
-AM_CXXFLAGS = -Wall
-
-bin_PROGRAMS = cfa
-cfa_SOURCES = cfa.cc
-
-# put into lib for now
-cc1libdir = ${libdir}
-cc1lib_PROGRAMS = cc1
-cc1_SOURCES = cc1.cc
Index: src/driver/Makefile.in
===================================================================
--- src/driver/Makefile.in	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,530 +1,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-######################## -*- Mode: Makefile-Automake -*- ######################
-###############################################################################
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-bin_PROGRAMS = cfa$(EXEEXT)
-cc1lib_PROGRAMS = cc1$(EXEEXT)
-subdir = src/driver
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cc1libdir)"
-PROGRAMS = $(bin_PROGRAMS) $(cc1lib_PROGRAMS)
-am_cc1_OBJECTS = cc1.$(OBJEXT)
-cc1_OBJECTS = $(am_cc1_OBJECTS)
-cc1_LDADD = $(LDADD)
-am_cfa_OBJECTS = cfa.$(OBJEXT)
-cfa_OBJECTS = $(am_cfa_OBJECTS)
-cfa_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-	-o $@
-SOURCES = $(cc1_SOURCES) $(cfa_SOURCES)
-DIST_SOURCES = $(cc1_SOURCES) $(cfa_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BACKEND_CC = @BACKEND_CC@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFA_BINDIR = @CFA_BINDIR@
-CFA_INCDIR = @CFA_INCDIR@
-CFA_LIBDIR = @CFA_LIBDIR@
-CFA_PREFIX = @CFA_PREFIX@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GCC_PATH = @GCC_PATH@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LEX = @LEX@
-LEXLIB = @LEXLIB@
-LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-YACC = @YACC@
-YFLAGS = @YFLAGS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build_alias = @build_alias@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-
-# applies to both programs
-AM_CXXFLAGS = -Wall
-cfa_SOURCES = cfa.cc
-
-# put into lib for now
-cc1libdir = ${libdir}
-cc1_SOURCES = cc1.cc
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/driver/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu src/driver/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-binPROGRAMS: $(bin_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-	for p in $$list; do echo "$$p $$p"; done | \
-	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
-	sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
-	    else { print "f", $$3 "/" $$4, $$1; } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	    test -z "$$files" || { \
-	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-	    } \
-	; done
-
-uninstall-binPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
-	test -n "$$list" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
-	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-install-cc1libPROGRAMS: $(cc1lib_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	test -z "$(cc1libdir)" || $(MKDIR_P) "$(DESTDIR)$(cc1libdir)"
-	@list='$(cc1lib_PROGRAMS)'; test -n "$(cc1libdir)" || list=; \
-	for p in $$list; do echo "$$p $$p"; done | \
-	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
-	sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
-	    else { print "f", $$3 "/" $$4, $$1; } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	    test -z "$$files" || { \
-	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cc1libdir)$$dir'"; \
-	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cc1libdir)$$dir" || exit $$?; \
-	    } \
-	; done
-
-uninstall-cc1libPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(cc1lib_PROGRAMS)'; test -n "$(cc1libdir)" || list=; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
-	test -n "$$list" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(cc1libdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(cc1libdir)" && rm -f $$files
-
-clean-cc1libPROGRAMS:
-	-test -z "$(cc1lib_PROGRAMS)" || rm -f $(cc1lib_PROGRAMS)
-cc1$(EXEEXT): $(cc1_OBJECTS) $(cc1_DEPENDENCIES) $(EXTRA_cc1_DEPENDENCIES) 
-	@rm -f cc1$(EXEEXT)
-	$(CXXLINK) $(cc1_OBJECTS) $(cc1_LDADD) $(LIBS)
-cfa$(EXEEXT): $(cfa_OBJECTS) $(cfa_DEPENDENCIES) $(EXTRA_cfa_DEPENDENCIES) 
-	@rm -f cfa$(EXEEXT)
-	$(CXXLINK) $(cfa_OBJECTS) $(cfa_LDADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cc1.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfa.Po@am__quote@
-
-.cc.o:
-@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
-@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cc1libdir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-cc1libPROGRAMS clean-generic \
-	mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-cc1libPROGRAMS
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-cc1libPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-	clean-cc1libPROGRAMS clean-generic ctags distclean \
-	distclean-compile distclean-generic distclean-tags distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-binPROGRAMS install-cc1libPROGRAMS install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-binPROGRAMS uninstall-cc1libPROGRAMS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: src/driver/cc1.cc
===================================================================
--- src/driver/cc1.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,491 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// cc1.cc -- 
-//
-// Author           : Peter A. Buhr
-// Created On       : Fri Aug 26 14:23:51 2005
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Sat May 30 08:58:29 2015
-// Update Count     : 51
-//
-
-#include <iostream>
-using std::cerr;
-using std::endl;
-#include <string>
-using std::string;
-#include <cstdio>										// stderr, stdout, perror, fprintf
-#include <cstdlib>										// getenv, exit, mkstemp
-#include <unistd.h>										// execvp, fork, unlink
-#include <sys/wait.h>									// wait
-
-#include "config.h"										// configure info
-
-
-//#define __DEBUG_H__
-
-
-string compiler_name( GCC_PATH );						// path/name of C compiler
-
-string D__GCC_BPREFIX__( "-D__GCC_BPREFIX__=" );
-string D__CFA_FLAGPREFIX__( "-D__CFA_FLAG__=" );
-
-char tmpname[] = P_tmpdir "/CFAXXXXXX";
-int tmpfilefd = -1;
-
-
-bool prefix( string arg, string pre ) {
-	return arg.substr( 0, pre.size() ) == pre;
-} // prefix
-
-
-void checkEnv( const char *args[], int &nargs ) {
-	char *value;
-
-	value = getenv( "__COMPILER__" );
-	if ( value != NULL ) {
-		compiler_name = value;
-#ifdef __DEBUG_H__
-		cerr << "env arg:\"" << compiler_name << "\"" << endl;
-#endif // __DEBUG_H__
-	} // if
-
-	value = getenv( "__GCC_MACHINE__" );
-	if ( value != NULL ) {
-		args[nargs] = ( *new string( value ) ).c_str(); // pass the argument along
-#ifdef __DEBUG_H__
-		cerr << "env arg:\"" << args[nargs] << "\"" << endl;
-#endif // __DEBUG_H__
-		nargs += 1;
-	} // if
-
-	value = getenv( "__GCC_VERSION__" );
-	if ( value != NULL ) {
-		args[nargs] = ( *new string( value ) ).c_str(); // pass the argument along
-#ifdef __DEBUG_H__
-		cerr << "env arg:\"" << args[nargs] << "\"" << endl;
-#endif // __DEBUG_H__
-		nargs += 1;
-	} // if
-} // checkEnv
-
-
-void rmtmpfile() {
-	if ( unlink( tmpname ) == -1 ) {					// remove tmpname
-		perror ( "CFA Translator error: cpp failed" );
-		exit( EXIT_FAILURE );
-	} // if
-	tmpfilefd = -1;										// mark closed
-} // rmtmpfile
-
-
-void sigTermHandler( int signal ) {
-	if ( tmpfilefd != -1 ) {							// RACE, file created ?
-		rmtmpfile();									// remove
-		exit( EXIT_FAILURE );							// terminate 
-	} // if
-} // sigTermHandler
-
-
-void Stage1( const int argc, const char * const argv[] ) {
-	int code;
-	int i;
-
-	string arg;
-	string bprefix;
-
-	const char *cpp_in = NULL;
-	const char *cpp_out = NULL;
-
-	bool CFA_flag = false;
-	bool cpp_flag = false;
-	const char *o_name = NULL;
-
-	const char *args[argc + 100];						// leave space for 100 additional cpp command line values
-	int nargs = 1;										// number of arguments in args list; 0 => command name
-	const char *uargs[20];								// leave space for 20 additional cfa-cpp command line values
-	int nuargs = 1;										// 0 => command name
-
-	signal( SIGINT,  sigTermHandler );
-	signal( SIGTERM, sigTermHandler );
-
-	// process all the arguments
-
-	checkEnv( args, nargs );							// arguments passed via environment variables
-
-	for ( i = 1; i < argc; i += 1 ) {
-#ifdef __DEBUG_H__
-		cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
-#endif // __DEBUG_H__
-		arg = argv[i];
-#ifdef __DEBUG_H__
-		cerr << "arg:\"" << arg << "\"" << endl;
-#endif // __DEBUG_H__
-		if ( prefix( arg, "-" ) ) {
-			// strip g++ flags that are inappropriate or cause duplicates in subsequent passes
-
-			if ( arg == "-quiet" ) {
-			} else if ( arg == "-imultilib" || arg == "-imultiarch" ) {
-				i += 1;									// and the argument
-			} else if ( prefix( arg, "-A" ) ) {
-			} else if ( prefix( arg, "-D__GNU" ) ) {
-				//********
-				// GCC 5.6.0 SEPARATED THE -D FROM THE ARGUMENT!
-				//********
-			} else if ( arg == "-D" && prefix( argv[i + 1], "__GNU" ) ) {
-				i += 1;									// and the argument
-
-				// strip flags controlling cpp step
-
-			} else if ( arg == "-D__CPP__" ) {
-				cpp_flag = true;
-			} else if ( arg == "-D" && string( argv[i + 1] ) == "__CPP__" ) {
-				i += 1;									// and the argument
-				cpp_flag = true;
-			} else if ( arg == "-D__CFA__" ) {
-				CFA_flag = true;
-			} else if ( arg == "-D" && string( argv[i + 1] ) == "__CFA__" ) {
-				i += 1;									// and the argument
-				CFA_flag = true;
-			} else if ( prefix( arg, D__CFA_FLAGPREFIX__ ) ) {
-				uargs[nuargs] = ( *new string( arg.substr( D__CFA_FLAGPREFIX__.size() ) ) ).c_str();
-				nuargs += 1;
-			} else if ( arg == "-D" && prefix( argv[i + 1], D__CFA_FLAGPREFIX__.substr(2) ) ) {
-				uargs[nuargs] = ( *new string( string( argv[i + 1] ).substr( D__CFA_FLAGPREFIX__.size() - 2 ) ) ).c_str();
-				nuargs += 1;
-				i += 1;									// and the argument
-			} else if ( prefix( arg, D__GCC_BPREFIX__ ) ) {
-				bprefix = arg.substr( D__GCC_BPREFIX__.size() );
-			} else if ( arg == "-D" && prefix( argv[i + 1], D__GCC_BPREFIX__.substr(2) ) ) {
-				bprefix = string( argv[i + 1] ).substr( D__GCC_BPREFIX__.size() - 2 );
-				i += 1;									// and the argument
-
-				// all other flags
-
-			} else if ( arg == "-o" ) {
-				i += 1;
-				o_name = argv[i];
-			} else {
-				args[nargs] = argv[i];					// pass the flag along
-				nargs += 1;
-				// CPP flags with an argument
-				if ( arg == "-D" || arg == "-I" || arg == "-MF" || arg == "-MT" || arg == "-MQ" ||
-					 arg == "-include" || arg == "-imacros" || arg == "-idirafter" || arg == "-iprefix" ||
-					 arg == "-iwithprefix" || arg == "-iwithprefixbefore" || arg == "-isystem" || arg == "-isysroot" ) {
-					i += 1;
-					args[nargs] = argv[i];				// pass the argument along
-					nargs += 1;
-#ifdef __DEBUG_H__
-					cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
-#endif // __DEBUG_H__
-				} else if ( arg == "-MD" || arg == "-MMD" ) {
-					args[nargs] = "-MF";				// insert before file
-					nargs += 1;
-					i += 1;
-					args[nargs] = argv[i];				// pass the argument along
-					nargs += 1;
-#ifdef __DEBUG_H__
-					cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
-#endif // __DEBUG_H__
-				} // if
-			} // if
-		} else {										// obtain input and possibly output files
-			if ( cpp_in == NULL ) {
-				cpp_in = argv[i];
-#ifdef __DEBUG_H__
-				cerr << "cpp_in:\"" << cpp_in << "\"" << endl;
-#endif // __DEBUG_H__
-			} else if ( cpp_out == NULL ) {
-				cpp_out = argv[i];
-#ifdef __DEBUG_H__
-				cerr << "cpp_out:\"" << cpp_out << "\""<< endl;
-#endif // __DEBUG_H__
-			} else {
-				cerr << "Usage: " << argv[0] << " input-file [output-file] [options]" << endl;
-				exit( EXIT_FAILURE );
-			} // if
-		} // if
-	} // for
-
-#ifdef __DEBUG_H__
-	cerr << "args:";
-	for ( i = 1; i < nargs; i += 1 ) {
-		cerr << " " << args[i];
-	} // for
-	if ( cpp_in != NULL ) cerr << " " << cpp_in;
-	if ( cpp_out != NULL ) cerr << " " << cpp_out;
-	cerr << endl;
-#endif // __DEBUG_H__
-
-	if ( cpp_in == NULL ) {
-		cerr << "Usage: " << argv[0] << " input-file [output-file] [options]" << endl;
-		exit( EXIT_FAILURE );
-	} // if
-
-	if ( cpp_flag ) {
-		// The -E flag is specified on the cfa command so only run the preprocessor and output is written to standard
-		// output or -o. The call to cfa has a -E so it does not have to be added to the argument list.
-
-		args[0] = compiler_name.c_str();
-		args[nargs] = cpp_in;
-		nargs += 1;
-		if ( o_name != NULL ) {							// location for output
-			args[nargs] = "-o";
-			nargs += 1;
-			args[nargs] = o_name;
-			nargs += 1;
-		} // if
-		args[nargs] = NULL;								// terminate argument list
-
-#ifdef __DEBUG_H__
-		cerr << "nargs: " << nargs << endl;
-		for ( i = 0; args[i] != NULL; i += 1 ) {
-			cerr << args[i] << " ";
-		} // for
-		cerr << endl;
-#endif // __DEBUG_H__
-
-		execvp( args[0], (char *const *)args );			// should not return
-		perror( "CFA Translator error: cpp level, execvp" );
-		exit( EXIT_FAILURE );
-	} // if
-
-	// Create a temporary file to store output of the C preprocessor.
-
-	tmpfilefd = mkstemp( tmpname );
-	if ( tmpfilefd == -1 ) {
-		perror( "CFA Translator error: cpp level, mkstemp" );
-		exit( EXIT_FAILURE );
-	} // if
-
-#ifdef __DEBUG_H__
-	cerr << "tmpname:" << tmpname << " tmpfilefd:" << tmpfilefd << endl;
-#endif // __DEBUG_H__
-
-	// Run the C preprocessor and save the output in tmpfile.
-
-	if ( fork() == 0 ) {								 // child process ?
-		// -o xxx.ii cannot be used to write the output file from cpp because no output file is created if cpp detects
-		// an error (e.g., cannot find include file). Whereas, output is always generated, even when there is an error,
-		// when cpp writes to stdout. Hence, stdout is redirected into the temporary file.
-		if ( freopen( tmpname, "w", stdout ) == NULL ) { // redirect stdout to tmpname
-			perror( "CFA Translator error: cpp level, freopen" );
-			exit( EXIT_FAILURE );
-		} // if
-
-		args[0] = compiler_name.c_str();
-		args[nargs] = cpp_in;							// input to cpp
-		nargs += 1;
-		args[nargs] = NULL;								// terminate argument list
-
-#ifdef __DEBUG_H__
-		cerr << "cpp nargs: " << nargs << endl;
-		for ( i = 0; args[i] != NULL; i += 1 ) {
-			cerr << args[i] << " ";
-		} // for
-		cerr << endl;
-#endif // __DEBUG_H__
-
-		execvp( args[0], (char *const *)args );			// should not return
-		perror( "CFA Translator error: cpp level, execvp" );
-		exit( EXIT_FAILURE );
-	} // if
-
-	wait( &code );										// wait for child to finish
-
-#ifdef __DEBUG_H__
-	cerr << "return code from cpp:" << WEXITSTATUS(code) << endl;
-#endif // __DEBUG_H__
-
-	if ( WIFSIGNALED(code) != 0 ) {						// child failed ?
-		rmtmpfile();									// remove tmpname
-		cerr << "CFA Translator error: cpp failed with signal " << WTERMSIG(code) << endl;
-		exit( EXIT_FAILURE );
-	} // if
-
-	if ( WEXITSTATUS(code) != 0 ) {						// child error ?
-		rmtmpfile();									// remove tmpname
-		exit( WEXITSTATUS( code ) );					// do not continue
-	} // if
-
-	// If -CFA flag specified, run the cfa-cpp preprocessor on the temporary file, and output is written to standard
-	// output.  Otherwise, run the cfa-cpp preprocessor on the temporary file and save the result into the output file.
-
-	if ( fork() == 0 ) {								// child runs CFA
-		uargs[0] = ( *new string( bprefix + "/cfa-cpp" ) ).c_str();
-
-		uargs[nuargs] = "-p";
-		nuargs += 1;
-
-		uargs[nuargs] = tmpname;
-		nuargs += 1;
-		if ( o_name != NULL ) {
-			uargs[nuargs] = o_name;
-			nuargs += 1;
-		} else if ( ! CFA_flag ) {						// run cfa-cpp ?
-			uargs[nuargs] = cpp_out;
-			nuargs += 1;
-		} // if
-		uargs[nuargs] = NULL;							// terminate argument list
-
-#ifdef __DEBUG_H__
-		cerr << "cfa-cpp nuargs: " << o_name << " " << CFA_flag << " " << nuargs << endl;
-		for ( i = 0; uargs[i] != NULL; i += 1 ) {
-			cerr << uargs[i] << " ";
-		} // for
-		cerr << endl;
-#endif // __DEBUG_H__
-
-		execvp( uargs[0], (char * const *)uargs );		// should not return
-		perror( "CFA Translator error: cpp level, execvp" );
-		exit( EXIT_FAILURE );
-	} // if
-
-	wait( &code );										// wait for child to finish
-
-#ifdef __DEBUG_H__
-	cerr << "return code from cfa-cpp:" << WEXITSTATUS(code) << endl;
-#endif // __DEBUG_H__
-
-	// Must unlink here because file must exist across execvp.
-	rmtmpfile();										// remove tmpname
-
-	if ( WIFSIGNALED(code) ) {							// child failed ?
-		cerr << "CFA Translator error: cfa-cpp failed with signal " << WTERMSIG(code) << endl;
-		exit( EXIT_FAILURE );
-	} // if
-
-	exit( WEXITSTATUS(code) );
-} // Stage1
-
-
-void Stage2( const int argc, const char * const * argv ) {
-	int i;
-
-	string arg;
-
-	const char *cpp_in = NULL;
-
-	const char *args[argc + 100];						// leave space for 100 additional cfa command line values
-	int nargs = 1;										// number of arguments in args list; 0 => command name
-
-	// process all the arguments
-
-	checkEnv( args, nargs );							// arguments passed via environment variables
-
-	for ( i = 1; i < argc; i += 1 ) {
-#ifdef __DEBUG_H__
-		cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
-#endif // __DEBUG_H__
-		arg = argv[i];
-#ifdef __DEBUG_H__
-		cerr << "arg:\"" << arg << "\"" << endl;
-#endif // __DEBUG_H__
-		if ( prefix( arg, "-" ) ) {
-			// strip inappropriate flags
-
-			if ( arg == "-quiet" || arg == "-version" || arg == "-fpreprocessed" ||
-				 // Currently CFA does not suppose precompiled .h files.
-				 prefix( arg, "--output-pch" ) ) {
-
-				// strip inappropriate flags with an argument
-
-			} else if ( arg == "-auxbase" || arg == "-auxbase-strip" || arg == "-dumpbase" ) {
-				i += 1;
-#ifdef __DEBUG_H__
-				cerr << "arg:\"" << argv[i] << "\"" << endl;
-#endif // __DEBUG_H__
-
-				// all other flags
-
-			} else {
-				args[nargs] = argv[i];					// pass the flag along
-				nargs += 1;
-				if ( arg == "-o" ) {
-					i += 1;
-					args[nargs] = argv[i];				// pass the argument along
-					nargs += 1;
-#ifdef __DEBUG_H__
-					cerr << "arg:\"" << argv[i] << "\"" << endl;
-#endif // __DEBUG_H__
-				} // if
-			} // if
-		} else {										// obtain input and possibly output files
-			if ( cpp_in == NULL ) {
-				cpp_in = argv[i];
-#ifdef __DEBUG_H__
-				cerr << "cpp_in:\"" << cpp_in << "\"" << endl;
-#endif // __DEBUG_H__
-			} else {
-				cerr << "Usage: " << argv[0] << " input-file [output-file] [options]" << endl;
-				exit( EXIT_FAILURE );
-			} // if
-		} // if
-	} // for
-
-#ifdef __DEBUG_H__
-	cerr << "args:";
-	for ( i = 1; i < nargs; i += 1 ) {
-		cerr << " " << args[i];
-	} // for
-	cerr << endl;
-	if ( cpp_in != NULL ) cerr << " " << cpp_in;
-#endif // __DEBUG_H__
-
-	args[0] = compiler_name.c_str();
-	args[nargs] = "-S";									// only compile and put assembler output in specified file
-	nargs += 1;
-	args[nargs] = cpp_in;
-	nargs += 1;
-	args[nargs] = NULL;									// terminate argument list
-
-#ifdef __DEBUG_H__
-	cerr << "stage2 nargs: " << nargs << endl;
-	for ( i = 0; args[i] != NULL; i += 1 ) {
-		cerr << args[i] << " ";
-	} // for
-	cerr << endl;
-#endif // __DEBUG_H__
-
-	execvp( args[0], (char * const *)args );			// should not return
-	perror( "CFA Translator error: cpp level, execvp" );
-	exit( EXIT_FAILURE );								// tell gcc not to go any further
-} // Stage2
-
-
-int main( const int argc, const char * const argv[], const char * const env[] ) {
-#ifdef __DEBUG_H__
-	for ( int i = 0; env[i] != NULL; i += 1 ) {
-		cerr << env[i] << endl;
-	} // for
-#endif // __DEBUG_H__
-
-	string arg = argv[1];
-
-	// Currently, stage 1 starts with flag -E and stage 2 with flag -fpreprocessed.
-
-	if ( arg == "-E" ) {
-#ifdef __DEBUG_H__
-		cerr << "Stage1" << endl;
-#endif // __DEBUG_H__
-		Stage1( argc, argv );
-	} else if ( arg == "-fpreprocessed" ) {
-#ifdef __DEBUG_H__
-		cerr << "Stage2" << endl;
-#endif // __DEBUG_H__
-		Stage2( argc, argv );
-	} else {
-		cerr << "Usage: " << argv[0] << " input-file [output-file] [options]" << endl;
-		exit( EXIT_FAILURE );
-	} // if
-} // main
-
-// Local Variables: //
-// tab-width: 4 //
-// mode: c++ //
-// compile-command: "make install" //
-// End: //
Index: src/driver/cfa.cc
===================================================================
--- src/driver/cfa.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,368 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// cfa.cc -- 
-//
-// Author           : Peter A. Buhr
-// Created On       : Tue Aug 20 13:44:49 2002
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 17:47:03 2015
-// Update Count     : 119
-//
-
-#include <iostream>
-#include <cstdio>										// perror
-#include <cstdlib>										// putenv, exit
-#include <unistd.h>										// execvp
-#include <string>										// STL version
-
-#include "config.h"										// configure info
-
-using std::cerr;
-using std::endl;
-using std::string;
-
-
-//#define __DEBUG_H__
-
-
-bool prefix( string arg, string pre ) {
-	return arg.substr( 0, pre.size() ) == pre;
-} // prefix
-
-
-void shuffle( const char *args[], int S, int E, int N ) {
-	// S & E index 1 passed the end so adjust with -1
-#ifdef __DEBUG_H__
-	cerr << "shuffle:" << S << " " << E << " " << N << endl;
-#endif // __DEBUG_H__
-	for ( int j = E-1 + N; j > S-1 + N; j -=1 ) {
-#ifdef __DEBUG_H__
-		cerr << "\t" << j << " " << j-N << endl;
-#endif // __DEBUG_H__
-		args[j] = args[j-N];
-	} // for
-} // shuffle
-
-
-int main( int argc, char *argv[] ) {
-	string Version( VERSION );							// current version number from CONFIG
-	string Major( "0" ), Minor( "0" ), Patch( "0" );	// default version numbers
-	int posn1 = Version.find( "." );					// find the divider between major and minor version numbers
-	if ( posn1 == -1 ) {								// not there ?
-		Major = Version;
-	} else {
-		Major = Version.substr( 0, posn1 );
-		int posn2 = Version.find( ".", posn1 + 1 );		// find the divider between minor and patch numbers
-		if ( posn2 == -1 ) {							// not there ?
-			Minor = Version.substr( posn1 );
-		} else {
-			Minor = Version.substr( posn1 + 1, posn2 - posn1 - 1 );
-			Patch = Version.substr( posn2 + 1 );
-		} // if
-	} // if
-
-	string installincdir( CFA_INCDIR );					// fixed location of include files
-	string installlibdir( CFA_LIBDIR );					// fixed location of cc1 and cfa-cpp commands
-
-	string heading;										// banner printed at start of cfa compilation
-	string arg;											// current command-line argument during command-line parsing
-	string Bprefix;										// path where gcc looks for compiler command steps
-	string langstd;										// language standard
-
-	string compiler_path( GCC_PATH );					// path/name of C compiler
-	string compiler_name;								// name of C compiler
-
-	bool nonoptarg = false;								// indicates non-option argument specified
-	bool link = true;									// linking as well as compiling
-	bool verbose = false;								// -v flag
-	bool quiet = false;									// -quiet flag
-	bool debug = true;									// -debug flag
-	bool help = false;									// -help flag
-	bool CFA_flag = false;								// -CFA flag
-	bool cpp_flag = false;								// -E or -M flag, preprocessor only
-	bool std_flag = false;								// -std= flag
-	bool debugging = false;								// -g flag
-
-	const char *args[argc + 100];						// cfa command line values, plus some space for additional flags
-	int sargs = 1;										// starting location for arguments in args list
-	int nargs = sargs;									// number of arguments in args list; 0 => command name
-
-	const char *libs[argc + 20];						// non-user libraries must come separately, plus some added libraries and flags
-	int nlibs = 0;
-
-#ifdef __DEBUG_H__
-	cerr << "CFA:" << endl;
-#endif // __DEBUG_H__
-
-	// process command-line arguments
-
-	for ( int i = 1; i < argc; i += 1 ) {
-#ifdef __DEBUG_H__
-		cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
-#endif // __DEBUG_H__
-		arg = argv[i];									// convert to string value
-#ifdef __DEBUG_H__
-		cerr << "arg:\"" << arg << "\"" << endl;
-#endif // __DEBUG_H__
-		if ( prefix( arg, "-" ) ) {
-			// pass through arguments
-
-			if ( arg == "-Xlinker" || arg == "-o" ) {
-				args[nargs] = argv[i];					// pass the argument along
-				nargs += 1;
-				i += 1;
-				if ( i == argc ) continue;				// next argument available ?
-				args[nargs] = argv[i];					// pass the argument along
-				nargs += 1;
-			} else if ( arg == "-XCFA" ) {				// CFA pass through
-				i += 1;
-				args[nargs] = ( *new string( string("-D__CFA_FLAG__=") + argv[i] ) ).c_str();
-				nargs += 1;
-
-				// CFA specific arguments
-
-			} else if ( arg == "-CFA" ) {
-				CFA_flag = true;						// strip the -CFA flag
-				link = false;
-				args[nargs] = "-E";						// replace the argument with -E
-				nargs += 1;
-			} else if ( arg == "-debug" ) {
-				debug = true;							// strip the debug flag
-			} else if ( arg == "-nodebug" ) {
-				debug = false;							// strip the nodebug flag
-			} else if ( arg == "-quiet" ) {
-				quiet = true;							// strip the quiet flag
-			} else if ( arg == "-noquiet" ) {
-				quiet = false;							// strip the noquiet flag
-			} else if ( arg == "-help" ) {
-				help = true;							// strip the help flag
-			} else if ( arg == "-nohelp" ) {
-				help = false;							// strip the nohelp flag
-			} else if ( arg == "-compiler" ) {
-				// use the user specified compiler
-				i += 1;
-				if ( i == argc ) continue;				// next argument available ?
-				compiler_path = argv[i];
-				if ( putenv( (char *)( *new string( string( "__U_COMPILER__=" ) + argv[i]) ).c_str() ) != 0 ) {
-					cerr << argv[0] << " error, cannot set environment variable." << endl;
-					exit( EXIT_FAILURE );
-				} // if
-
-				// C specific arguments
-
-			} else if ( arg == "-v" ) {
-				verbose = true;							// verbosity required
-				args[nargs] = argv[i];					// pass the argument along
-				nargs += 1;
-			} else if ( arg == "-g" ) {
-				debugging = true;						// symbolic debugging required
-				args[nargs] = argv[i];					// pass the argument along
-				nargs += 1;
-			} else if ( prefix( arg, "-std=" ) ) {
-				std_flag = true;						// std=XX provided
-				args[nargs] = argv[i];					// pass the argument along
-				nargs += 1;
-			} else if ( prefix( arg, "-B" ) ) {
-				Bprefix = arg.substr(2);				// strip the -B flag
-				args[nargs] = ( *new string( string("-D__GCC_BPREFIX__=") + Bprefix ) ).c_str();
-				nargs += 1;
-			} else if ( prefix( arg, "-b" ) ) {
-				if ( arg.length() == 2 ) {				// separate argument ?
-					i += 1;
-					if ( i == argc ) continue;			// next argument available ?
-					arg += argv[i];						// concatenate argument
-				} // if
-				// later versions of gcc require the -b option to appear at the start of the command line
-				shuffle( args, sargs, nargs, 1 );		// make room at front of argument list
-				args[sargs] = ( *new string( arg ) ).c_str(); // pass the argument along
-				if ( putenv( (char *)( *new string( string( "__GCC_MACHINE__=" ) + arg ) ).c_str() ) != 0 ) {
-					cerr << argv[0] << " error, cannot set environment variable." << endl;
-					exit( EXIT_FAILURE );
-				} // if
-				sargs += 1;
-				nargs += 1;
-			} else if ( prefix( arg, "-V" ) ) {
-				if ( arg.length() == 2 ) {				// separate argument ?
-					i += 1;
-					if ( i == argc ) continue;			// next argument available ?
-					arg += argv[i];						// concatenate argument
-				} // if
-				// later versions of gcc require the -V option to appear at the start of the command line
-				shuffle( args, sargs, nargs, 1 );		// make room at front of argument list
-				args[sargs] = ( *new string( arg ) ).c_str(); // pass the argument along
-				if ( putenv( (char *)( *new string( string( "__GCC_VERSION__=" ) + arg ) ).c_str() ) != 0 ) {
-					cerr << argv[0] << " error, cannot set environment variable." << endl;
-					exit( EXIT_FAILURE );
-				} // if
-				sargs += 1;
-				nargs += 1;
-			} else if ( arg == "-c" || arg == "-S" || arg == "-E" || arg == "-M" || arg == "-MM" ) {
-				args[nargs] = argv[i];					// pass the argument along
-				nargs += 1;
-				if ( arg == "-E" || arg == "-M" || arg == "-MM" ) {
-					cpp_flag = true;					// cpp only
-				} // if
-				link = false;                           // no linkage required
-			} else if ( arg[1] == 'l' ) {
-				// if the user specifies a library, load it after user code
-				libs[nlibs] = argv[i];
-				nlibs += 1;
-			} else {
-				// concatenate any other arguments
-				args[nargs] = argv[i];
-				nargs += 1;
-			} // if
-		} else {
-			// concatenate other arguments
-			args[nargs] = argv[i];
-			nargs += 1;
-			nonoptarg = true;
-		} // if
-	} // for
-
-#ifdef __DEBUG_H__
-	cerr << "args:";
-	for ( int i = 1; i < nargs; i += 1 ) {
-		cerr << " " << args[i];
-	} // for
-	cerr << endl;
-#endif // __DEBUG_H__
-
-	if ( cpp_flag && CFA_flag ) {
-		cerr << argv[0] << " error, cannot use -E and -CFA flags together." << endl;
-		exit( EXIT_FAILURE );
-	} // if
-
-	string d;
-	if ( debug ) {
-		d = "-d";
-	} // if
-
-	args[nargs] = "-I" CFA_INCDIR;
-	nargs += 1;
-
-	if ( link ) {
-		// include the cfa library in case it's needed
-		args[nargs] = "-L" CFA_LIBDIR;
-		nargs += 1;
-		args[nargs] = "-lcfa";
-		nargs += 1;
-	} // if
-
-	// add the correct set of flags based on the type of compile this is
-
-	args[nargs] = ( *new string( string("-D__CFA_MAJOR__=") + Major ) ).c_str();
-	nargs += 1;
-	args[nargs] = ( *new string( string("-D__CFA_MINOR__=") + Minor ) ).c_str();
-	nargs += 1;
-
-	if ( cpp_flag ) {
-		args[nargs] = "-D__CPP__";
-		nargs += 1;
-	} // if
-
-	if ( CFA_flag ) {
-		args[nargs] = "-D__CFA__";
-		nargs += 1;
-	} // if
-
-	if ( debug ) {
-		heading += " (debug)";
-		args[nargs] = "-D__CFA_DEBUG__";
-		nargs += 1;
-	} else {
-		heading += " (no debug)";
-	} // if
-
-	if ( Bprefix.length() == 0 ) {
-		Bprefix = installlibdir;
-		args[nargs] = ( *new string( string("-D__GCC_BPREFIX__=") + Bprefix ) ).c_str();
-		nargs += 1;
-	} // if
-
-	// execute the compilation command
-
-	args[0] = compiler_path.c_str();					// set compiler command for exec
-	// find actual name of the compiler independent of the path to it
-	int p = compiler_path.find_last_of( '/' );			// scan r -> l for first '/'
-	if ( p == -1 ) {
-		compiler_name = compiler_path;
-	} else {
-		compiler_name = *new string( compiler_path.substr( p + 1 ) );
-	} // if
-
-	if ( prefix( compiler_name, "gcc" ) ) {				// allow suffix on gcc name
-		args[nargs] = "-no-integrated-cpp";
-		nargs += 1;
-		args[nargs] = "-Wno-deprecated"; 
-		nargs += 1;
-		if ( ! std_flag ) {								// default c99, if none specified
-			args[nargs] = "-std=c99";
-			nargs += 1;
-		} // if
-		args[nargs] = ( *new string( string("-B") + Bprefix + "/" ) ).c_str();
-		nargs += 1;
-	} else {
-		cerr << argv[0] << " error, compiler " << compiler_name << " not supported." << endl;
-		exit( EXIT_FAILURE );
-	} // if
-
-	for ( int i = 0; i < nlibs; i += 1 ) {				// copy non-user libraries after all user libraries
-		args[nargs] = libs[i];
-		nargs += 1;
-	} // for
-
-	args[nargs] = NULL;									// terminate with NULL
-
-#ifdef __DEBUG_H__
-	cerr << "nargs: " << nargs << endl;
-	cerr << "args:" << endl;
-	for ( int i = 0; args[i] != NULL; i += 1 ) {
-		cerr << " \"" << args[i] << "\"" << endl;
-	} // for
-#endif // __DEBUG_H__
-
-	if ( ! quiet ) {
-		cerr << "CFA " << "Version " << Version << heading << endl;
-
-		if ( help ) {
-			cerr <<
-				"-debug\t\t\t: use cfa runtime with debug checking" << endl <<
-				"-help\t\t\t: print this help message" << endl <<
-				"-quiet\t\t\t: print no messages from the cfa command" << endl <<
-				"-CFA\t\t\t: run the cpp preprocessor and the cfa-cpp translator" << endl <<
-				"-XCFA -cfa-cpp-flag\t: pass next flag as-is to the cfa-cpp translator" << endl <<
-				"...\t\t\t: any other " << compiler_name << " flags" << endl;
-		} // if
-	} // if
-
-	if ( verbose ) {
-		if ( argc == 2 ) exit( EXIT_SUCCESS );			// if only the -v flag is specified, do not invoke gcc
-
-		for ( int i = 0; args[i] != NULL; i += 1 ) {
-			cerr << args[i] << " ";
-		} // for
-		cerr << endl;
-	} // if
-
-	if ( ! nonoptarg ) {
-		cerr << argv[0] << " error, no input files" << endl;
-		exit( EXIT_FAILURE );
-	} // if
-
-	// execute the command and return the result
-
-	execvp( args[0], (char *const *)args );				// should not return
-	perror( "CFA Translator error: cfa level, execvp" );
-	exit( EXIT_FAILURE );
-} // main
-
-// Local Variables: //
-// tab-width: 4 //
-// mode: c++ //
-// compile-command: "make install" //
-// End: //
Index: src/examples/Makefile.am
===================================================================
--- src/examples/Makefile.am	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,23 +1,0 @@
-######################## -*- Mode: Makefile-Automake -*- ######################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## Makefile.am -- 
-##
-## Author           : Peter A. Buhr
-## Created On       : Sun May 31 09:08:15 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Thu Jun  4 23:13:10 2015
-## Update Count     : 22
-###############################################################################
-
-# applies to both programs
-CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2
-CC = @CFA_BINDIR@/cfa
-
-noinst_PROGRAMS = fstream_test vector_test
-fstream_test_SOURCES = iostream.c fstream.c fstream_test.c
-vector_test_SOURCES = vector_int.c fstream.c iostream.c array.c iterator.c vector_test.c
Index: src/examples/Makefile.in
===================================================================
--- src/examples/Makefile.in	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/Makefile.in	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,455 +1,50 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-######################## -*- Mode: Makefile-Automake -*- ######################
+######################### -*- Mode: Makefile-Gmake -*- ########################
+##
+## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+##
+## The contents of this file are covered under the licence agreement in the
+## file "LICENCE" distributed with Cforall.
+##
+## Makefile.in -- 
+##
+## Author           : Peter A. Buhr
+## Created On       : Sat May 16 11:34:24 2015
+## Last Modified By : Peter A. Buhr
+## Last Modified On : Sat May 16 11:35:25 2015
+## Update Count     : 2
 ###############################################################################
 
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-noinst_PROGRAMS = fstream_test$(EXEEXT) vector_test$(EXEEXT)
-subdir = src/examples
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_fstream_test_OBJECTS = iostream.$(OBJEXT) fstream.$(OBJEXT) \
-	fstream_test.$(OBJEXT)
-fstream_test_OBJECTS = $(am_fstream_test_OBJECTS)
-fstream_test_LDADD = $(LDADD)
-am_vector_test_OBJECTS = vector_int.$(OBJEXT) fstream.$(OBJEXT) \
-	iostream.$(OBJEXT) array.$(OBJEXT) iterator.$(OBJEXT) \
-	vector_test.$(OBJEXT)
-vector_test_OBJECTS = $(am_vector_test_OBJECTS)
-vector_test_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES)
-DIST_SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BACKEND_CC = @BACKEND_CC@
-CC = @CFA_BINDIR@/cfa
-CCDEPMODE = @CCDEPMODE@
-CFA_BINDIR = @CFA_BINDIR@
-CFA_INCDIR = @CFA_INCDIR@
-CFA_LIBDIR = @CFA_LIBDIR@
-CFA_PREFIX = @CFA_PREFIX@
+CC := @CFA_BINDIR@/cfa
+CFLAGS = -g -Wall -Wno-unused-function -MMD
+MAKEFILE_NAME = ${firstword ${MAKEFILE_LIST}}	# makefile name
 
-# applies to both programs
-CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GCC_PATH = @GCC_PATH@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LEX = @LEX@
-LEXLIB = @LEXLIB@
-LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-YACC = @YACC@
-YFLAGS = @YFLAGS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build_alias = @build_alias@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-fstream_test_SOURCES = iostream.c fstream.c fstream_test.c
-vector_test_SOURCES = vector_int.c fstream.c iostream.c array.c iterator.c vector_test.c
-all: all-am
+OBJECTS1 = iostream.o fstream.o fstream_test.o
+EXEC1 = fstream_test
 
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/examples/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu src/examples/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
+OBJECTS2 = vector_int.o fstream.o iostream.o array.o iterator.o vector_test.o
+EXEC2 = vector_test
 
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+OBJECTS = ${OBJECTS1} ${OBJECTS2}		# all object files
+DEPENDS = ${OBJECTS:.o=.d}			# substitute ".o" with ".d"
+EXECS = ${EXEC1} ${EXEC2}			# all executables
 
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
+########## Targets ##########
 
-clean-noinstPROGRAMS:
-	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-fstream_test$(EXEEXT): $(fstream_test_OBJECTS) $(fstream_test_DEPENDENCIES) $(EXTRA_fstream_test_DEPENDENCIES) 
-	@rm -f fstream_test$(EXEEXT)
-	$(LINK) $(fstream_test_OBJECTS) $(fstream_test_LDADD) $(LIBS)
-vector_test$(EXEEXT): $(vector_test_OBJECTS) $(vector_test_DEPENDENCIES) $(EXTRA_vector_test_DEPENDENCIES) 
-	@rm -f vector_test$(EXEEXT)
-	$(LINK) $(vector_test_OBJECTS) $(vector_test_LDADD) $(LIBS)
+.PHONY : all clean				# not file names
 
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
+all : ${EXECS}					# build all executables
 
-distclean-compile:
-	-rm -f *.tab.c
+${EXEC1} : ${OBJECTS1}				# link step 1st executable
+	${CC} ${CFLAGS} $^ -o $@		# additional object files before $^
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream_test.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iostream.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iterator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_int.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_test.Po@am__quote@
+${EXEC2} : ${OBJECTS2}				# link step 2nd executable
+	${CC} ${CFLAGS} $^ -o $@		# additional object files before $^
 
-.c.o:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+${OBJECTS} : ${MAKEFILE_NAME}			# OPTIONAL : changes to this file => recompile
 
-.c.obj:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+-include ${DEPENDS}				# include *.d files containing program dependences
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
+clean :						# remove files that can be regenerated
+	rm -f ${DEPENDS} ${OBJECTS} ${EXECS} *.class
 
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-noinstPROGRAMS ctags distclean distclean-compile \
-	distclean-generic distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+distclean : clean
Index: src/examples/abstype.c
===================================================================
--- src/examples/abstype.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/abstype.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,22 +1,9 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// abstype.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:10:01 2015
-// Update Count     : 4
-//
+// "cfa-cpp -nx Abstype.c"
 
 type T | { T x( T ); };
 
 T y( T t ) {
-	T t_instance;
-	return x( t );
+    T t_instance;
+    return x( t );
 }
 
@@ -29,15 +16,10 @@
 
 U x( U u ) {
-	U u_instance = u;
-	(*u)++;
-	return u;
+    U u_instance = u;
+    (*u)++;
+    return u;
 }
 
 int *break_abstraction( U u ) {
-	return u;
+    return u;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa abstype.c" //
-// End: //
Index: src/examples/array.c
===================================================================
--- src/examples/array.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/array.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,5 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// array.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:10:13 2015
-// Update Count     : 2
-//
+// "cfa -c -o array.o array.c"
+// "cfa -CFA array.c > array_out.c"
+// "gcc32 array_out.c ../LibCfa/libcfa.a"
 
 #include "array.h"
@@ -27,5 +16,5 @@
 forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
 elt_type * begin( array_type array ) {
-	return &array[ 0 ];
+    return &array[ 0 ];
 }
 
@@ -33,9 +22,4 @@
 forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
 elt_type * end( array_type array ) {
-	return &array[ last( array ) ] + 1;
+    return &array[ last( array ) ] + 1;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa array.c" //
-// End: //
Index: src/examples/array.h
===================================================================
--- src/examples/array.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/array.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// array.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:10:32 2015
-// Update Count     : 2
-//
-
 #ifndef ARRAY_H
 #define ARRAY_H
@@ -22,10 +7,10 @@
 // element has index 0.
 context array( type array_type, type elt_type ) {
-	lvalue elt_type ?[?]( array_type, int );
+    lvalue elt_type ?[?]( array_type, int );
 };
 
 // A bounded array is an array that carries its maximum index with it.
 context bounded_array( type array_type, type elt_type | array( array_type, elt_type ) ) {
-	int last( array_type );
+    int last( array_type );
 };
 
@@ -47,7 +32,2 @@
 
 #endif // ARRAY_H
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa array.c" //
-// End: //
Index: src/examples/assert.c
===================================================================
--- src/examples/assert.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,23 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// assert.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:10:43 2015
-// Update Count     : 2
-//
-
-void f() {
-	(1) ? (void)(0) : (void)(0);
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa assert.c" //
-// End: //
Index: src/examples/constants.c
===================================================================
--- src/examples/constants.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/constants.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,64 +1,18 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// constants.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 20:44:48 2015
-// Update Count     : 75
-//
-
 int foo() {
-	1_234_Ul;
-	-0_177;
-	017_777_777_777;
-	037_777_777_777;
-	0x_7f_FF_ff_FF;
-	0x_ff_FF_ff_FF;
-	2_147_483_647;
-	4_294_967_295;
-	4_294_967_296;
-	4_294_967_296U;
-	0_777_777_777_777_777_777_777;
-	01_777_777_777_777_777_777_777;
-	0;
-	0L;
-	0LL;
-	1;
-	1L;
-	1LL;
-	10;
-	10L;
-	10LL;
-	2U;
-	2UL;
-	2ULL;
-	2LU;
-	2LLU;
-	0x_7f_FF_ff_FF_ff_FF_ff_FF;
-	0x_ff_FF_ff_FF_ff_FF_ff_FF;
-	9_223_372_036_854_775_807;
-	18_446_744_073_709_551_615;
-	3.141_59f;
-	3.14159;
-	12.123_333_E_27L;
-	0X_1.ff_ff_ff_ff_ff_fff_P_1023;
-	'\0';
-	'\1_2_3';
-	L'\x_ff_ee';
-	L_"\x_ff_ee";
-	L"a_b\r\Qyc\u_00_40  x_y_z\xff_AA";
-	L_"a_b\r\Qyc\u_00_40\    
-  x_y_z\xff_AA";
-	"abc" "def" "ghi";
+    1_234_Ul;
+    -0_177;
+    0x_ff_FF_ff_FF;
+    +9_223_372_036_854_775_807;
+    12.123_333_E_27;
+    0X_1.ff_ff_ff_ff_ff_fff_P_1023;
+    '\0';
+    '\1_2_3';
+    L_'\x_ff_ee';
+    L"a_bc\u_00_40xyz\xff_AA";
+    "a_bc\\
+  u_00_40xyz";
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa constants.c" //
+// compile-command: "../../bin/cfa -std=c99 constants.c" //
 // End: //
Index: src/examples/control_structures.c
===================================================================
--- src/examples/control_structures.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/control_structures.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,60 +1,44 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// control_structures.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jun  4 14:02:50 2015
-// Update Count     : 24
-//
-
 int main() {
-	L1: {
-		L2:	switch ( 3_333_333 ) {						// underscores in constant
-		  case 1,2,3:									// CFA
-		  case 4~8:										// CFA
-		  case 9 ... 10:								// gcc, must have spaces
-				L3: for ( ;; ) {
-					L4: for ( ;; ) {
-						break L1;						// labelled break
-						break L2;
-						break L3;
-						break L4;
-						//continue L1;					// labelled continue - should be an error 
-						//continue L2;					// should be an error
-						continue L3;
-						continue L4;
-					} // for
-				} // for
-				break;
-			default:
-				break L1;
-		} // switch
-		3;
-		int i, j;
-		choose ( 7 ) {
-		  case 1,2,3:
-			i = 3;
-			4;
-			fallthru;
-		  case 4,5,6:
-			j = 3;
-		  default: ;
-		} // choose
-	} // block
+  L1: {
+      L2: switch ( 3_333_333 ) {	// underscores in constant
+	  case 1,2,3:			// 4~8, 4...8 not working
+	  L3: for ( ;; ) {
+	      L4: for ( ;; ) {
+		    break L1;		// labelled break
+		    break L2;
+		    break L3;
+		    break L4;
+#if 0
+		    continue L1;	// labelled continue
+		    continue L2;
+		    continue L3;
+		    continue L4;
+#endif
+		} // for
+	    } // for
+	    break;
+	  default:
+	    break L1;
+	} // switch
+	3;
+	int i, j;
+	choose ( 7 ) {
+	  case 1,2,3:
+	    i = 3;
+	    fallthru;
+	  case 4,5,6:
+	    j = 3;
+	  default: ;
+	} // choose
+    } // block
 
 #if 0
-	try {
-		int i = 3;
-	} catch( int ) {
-	} catch( double ) {
-	} catch( ... ) {
-	} finally {
-	} // try
+    try {
+	int i = 3;
+    } catch( int ) {
+    } catch( double ) {
+    } catch( ... ) {
+    } finally {
+    } // try
 #endif
 
@@ -62,5 +46,4 @@
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa control_structures.c" //
+// compile-command: "../../bin/cfa control_structures.c" //
 // End: //
Index: src/examples/ctxts.c
===================================================================
--- src/examples/ctxts.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/ctxts.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,29 +1,9 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// ctxts.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:11:19 2015
-// Update Count     : 2
-//
-
 context has_f( type T ) {
-	T f( T );
+    T f( T );
 };
 
 context has_g( type U | has_f( U ) ) {
-	U g( U );
+    U g( U );
 };
 
 forall( type V | has_g( V ) ) void h( V );
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa ctxts.c" //
-// End: //
Index: src/examples/esskaykay.c
===================================================================
--- src/examples/esskaykay.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/esskaykay.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,3 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// esskaykay.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:11:45 2015
-// Update Count     : 2
-//
+// "./cfa-cpp -cn esskaykay.c"
 
 // forall (type A, type B, type C) C ess (C (*f) (A,B), B (*g) (A), A x) { return f(x,g(x)); }
@@ -23,7 +10,2 @@
 
 forall (type A) A esskaykay (A x) { ess (kay, kay, x); }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa esskaykay.c" //
-// End: //
Index: src/examples/forward.c
===================================================================
--- src/examples/forward.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/forward.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// forward.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:11:57 2015
-// Update Count     : 2
-//
-
 forall(type T) lvalue T *?( T* );
 int ?=?( int*, int );
@@ -21,9 +6,8 @@
 
 void f() {
-	*x;
+    *x;
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa forward.c" //
+// compile-command: "../../bin/cfa forward.c" //
 // End: //
Index: src/examples/fstream.c
===================================================================
--- src/examples/fstream.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/fstream.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// fstream.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:12:33 2015
-// Update Count     : 2
-//
-
 #include "fstream.h"
 
@@ -22,106 +7,101 @@
 
 struct ofstream {
-	FILE *file;
-	int fail;
+    FILE *file;
+    int fail;
 };
 
 ofstream *write( ofstream *os, const char *data, streamsize_type size ) {
-	if ( ! os->fail ) {
-		fwrite( data, size, 1, os->file );
-		os->fail = ferror( os->file );
-	}
-	return os;
+    if ( ! os->fail ) {
+	fwrite( data, size, 1, os->file );
+	os->fail = ferror( os->file );
+    }
+    return os;
 }
 
 int fail( ofstream *os ) {
-	return os->fail;
+    return os->fail;
 }
 
 static ofstream *make_ofstream() {
-	ofstream *new_stream = malloc( sizeof( ofstream ) );
-	new_stream->fail = 0;
-	return new_stream;
+    ofstream *new_stream = malloc( sizeof( ofstream ) );
+    new_stream->fail = 0;
+    return new_stream;
 }
 
 ofstream *ofstream_stdout() {
-	ofstream *stdout_stream = make_ofstream();
-	stdout_stream->file = stdout;
-	return stdout_stream;
+    ofstream *stdout_stream = make_ofstream();
+    stdout_stream->file = stdout;
+    return stdout_stream;
 }
 
 ofstream *ofstream_stderr() {
-	ofstream *stderr_stream = make_ofstream();
-	stderr_stream->file = stderr;
-	return stderr_stream;
+    ofstream *stderr_stream = make_ofstream();
+    stderr_stream->file = stderr;
+    return stderr_stream;
 }
 
 ofstream *ofstream_fromfile( const char *name ) {
-	ofstream *file_stream = make_ofstream();
-	file_stream->file = fopen( name, "w" );
-	file_stream->fail = file_stream->file == 0;
-	return file_stream;
+    ofstream *file_stream = make_ofstream();
+    file_stream->file = fopen( name, "w" );
+    file_stream->fail = file_stream->file == 0;
+    return file_stream;
 }
 
 void ofstream_close( ofstream *os ) {
-	if ( os->file != stdout && os->file != stderr ) {
-		os->fail = fclose( os->file );
-	}
-	free( os );
+    if ( os->file != stdout && os->file != stderr ) {
+	os->fail = fclose( os->file );
+    }
+    free( os );
 }
 
 struct ifstream {
-	FILE *file;
-	int fail;
-	int eof;
+    FILE *file;
+    int fail;
+    int eof;
 };
 
 ifstream *read( ifstream *is, char *data, streamsize_type size ) {
-	if ( ! is->fail && ! is->eof ) {
-		fread( data, size, 1, is->file );
-		is->fail = ferror( is->file );
-		is->eof = feof( is->file );
-	}
-	return is;
+    if ( ! is->fail && ! is->eof ) {
+	fread( data, size, 1, is->file );
+	is->fail = ferror( is->file );
+	is->eof = feof( is->file );
+    }
+    return is;
 }
   
 ifstream *unread( ifstream *is, char c ) {
-	if ( ! is->fail ) {
-		if ( ! EOF == ungetc( c, is->file ) ) {
-			is->fail = 1;
-		}
+    if ( ! is->fail ) {
+	if ( ! EOF == ungetc( c, is->file ) ) {
+	    is->fail = 1;
 	}
-	return is;
+    }
+    return is;
 }
 
 int fail( ifstream *is ) {
-	return is->fail;
+    return is->fail;
 }
 
 int eof( ifstream *is ) {
-	return is->eof;
+    return is->eof;
 }
 
 static ifstream *make_ifstream() {
-	ifstream *new_stream = malloc( sizeof( ifstream ) );
-	new_stream->fail = 0;
-	new_stream->eof = 0;
-	return new_stream;
+    ifstream *new_stream = malloc( sizeof( ifstream ) );
+    new_stream->fail = 0;
+    new_stream->eof = 0;
+    return new_stream;
 }
 
 ifstream *ifstream_stdin() {
-	ifstream *stdin_stream = make_ifstream();
-	stdin_stream->file = stdin;
-	return stdin_stream;
+    ifstream *stdin_stream = make_ifstream();
+    stdin_stream->file = stdin;
+    return stdin_stream;
 }
 
 ifstream *ifstream_fromfile( const char *name ) {
-	ifstream *file_stream = make_ifstream();
-	file_stream->file = fopen( name, "r" );
-	file_stream->fail = file_stream->file == 0;
-	return file_stream;
+    ifstream *file_stream = make_ifstream();
+    file_stream->file = fopen( name, "r" );
+    file_stream->fail = file_stream->file == 0;
+    return file_stream;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa fstream.c" //
-// End: //
Index: src/examples/fstream.h
===================================================================
--- src/examples/fstream.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/fstream.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// fstream.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:13:08 2015
-// Update Count     : 1
-//
-
 #ifndef __FSTREAM_H__
 #define __FSTREAM_H__
@@ -42,7 +27,2 @@
 
 #endif // __FSTREAM_H__
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa fstream.c" //
-// End: //
Index: src/examples/fstream_test.c
===================================================================
--- src/examples/fstream_test.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/fstream_test.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,30 +1,10 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// fstream_test.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:13:43 2015
-// Update Count     : 2
-//
-
 #include "fstream.h"
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	ifstream *sin = ifstream_stdin();
-	int nombre;
-	sout << "Appuyez un nombre, s'il vous plâit:\n";
-	sin >> &nombre;
-	sout << "Vous avez appuyé: " << nombre << "\n";
+    ofstream *sout = ofstream_stdout();
+    ifstream *sin = ifstream_stdin();
+    int nombre;
+    sout << "Appuyez un nombre, s'il vous plâit:\n";
+    sin >> &nombre;
+    sout << "Vous avez appuyé: " << nombre << "\n";
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa fstream_test.c" //
-// End: //
Index: src/examples/fwrite.c
===================================================================
--- src/examples/fwrite.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/fwrite.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,27 +1,7 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// fwrite.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:14:12 2015
-// Update Count     : 1
-//
-
 extern "C" {
-	#include <stdio.h>
+    #include <stdio.h>
 }
 
 int main() {
-	fwrite( "test\n", 5, 1, stdout );
+    fwrite( "test\n", 5, 1, stdout );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa fwrite.c" //
-// End: //
Index: src/examples/hello.c
===================================================================
--- src/examples/hello.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/hello.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,31 +1,15 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// hello.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:14:58 2015
-// Update Count     : 1
-//
-
 #include "fstream.h"
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	ifstream *sin = ifstream_stdin();
-	sout << "Bonjour au monde!\n";
-	sout << 3 << " " << 3.5 << " " << 'a' << " " << "abc" << "\n";
-	int i, j, k;
-	sin >> &i >> &j >> &k;
-	sout << "i:" << i << " j:" << j << " k:" << k << "\n";
+    ofstream *sout = ofstream_stdout();
+    ifstream *sin = ifstream_stdin();
+    sout << "Bonjour au monde!\n";
+    sout << 3 << " " << 3.5 << " " << 'a' << " " << "abc" << "\n";
+    int i, j, k;
+    sin >> &i >> &j >> &k;
+    sout << "i:" << i << " j:" << j << " k:" << k << "\n";
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa hello.c fstream.o iostream.o" //
+// compile-command: "../../bin/cfa hello.c fstream.o iostream.o" //
 // End: //
Index: src/examples/huge.c
===================================================================
--- src/examples/huge.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/huge.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,26 +1,6 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// huge.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:15:34 2015
-// Update Count     : 1
-//
-
 int huge( int n, forall( type T ) T (*f)( T ) ) {
-	if ( n <= 0 )
-		return f( 0 );
-	else
-		return huge( n - 1, f( f ) );
+    if ( n <= 0 )
+	return f( 0 );
+    else
+	return huge( n - 1, f( f ) );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa huge.c" //
-// End: //
Index: src/examples/identity.c
===================================================================
--- src/examples/identity.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/identity.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,39 +1,23 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// identity.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:16:30 2015
-// Update Count     : 2
-//
-
 #include "fstream.h"
 
 forall( type T )
 T identity( T t ) {
-	return t;
+    return t;
 }
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	char c = 'a';
-	c = identity( c );
-	sout << c << ' ' << identity( c ) << '\n';
-	int i = 5;
-	i = identity( i );
-	sout << i << ' ' << identity( i ) << '\n';
-	double d = 3.2;
-	d = identity( d );
-	sout << d << ' ' << identity( d ) << '\n';
+    ofstream *sout = ofstream_stdout();
+    char c = 'a';
+    c = identity( c );
+    sout << c << ' ' << identity( c ) << '\n';
+    int i = 5;
+    i = identity( i );
+    sout << i << ' ' << identity( i ) << '\n';
+    double d = 3.2;
+    d = identity( d );
+    sout << d << ' ' << identity( d ) << '\n';
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa identity.c fstream.o iostream.o" //
+// compile-command: "../../bin/cfa identity.c fstream.o iostream.o" //
 // End: //
Index: src/examples/includes.c
===================================================================
--- src/examples/includes.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/includes.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,18 +1,3 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// includes.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 15:04:33 2015
-// Update Count     : 14
-//
-
-#if 0
+#if 1
 //#include <aio.h>		// FAILS -- includes locale.h
 #include <aliases.h>
@@ -20,10 +5,10 @@
 #include <ansidecl.h>
 #include <ar.h>
-#include <argp.h>		// FAILS -- includes locale.h
-#include <argz.h>		// FAILS -- includes locale.h
+//#include <argp.h>		// FAILS -- includes locale.h
+//#include <argz.h>		// FAILS -- includes locale.h
 #include <assert.h>
 #include <bfd.h>		// contains structure field "type"
 #include <complex.h>
-#include <ctype.h>		// FAILS -- includes locale.h
+//#include <ctype.h>		// FAILS -- includes locale.h
 #include <errno.h>
 #include <fenv.h>
@@ -32,5 +17,5 @@
 #include <iso646.h>
 #include <limits.h>
-#include <locale.h>		// FAILS -- "no reasonable alternatives for applying ... Name: ?+? ..."
+//#include <locale.h>		// FAILS -- "no reasonable alternatives for applying ... Name: ?+? ..."
 #include <math.h>		// contains structure field "type"
 #include <setjmp.h>
@@ -41,17 +26,16 @@
 #include <stdlib.h>
 #include <stdio.h>
-#include <string.h>		// FAILS -- includes locale.h
+//#include <string.h>		// FAILS -- includes locale.h
 #include <tgmath.h>
-#include <time.h>		// FAILS -- includes locale.h
+//#include <time.h>		// FAILS -- includes locale.h
 #include <unistd.h>
-#include <wchar.h>		// FAILS -- includes locale.h
-#include <wctype.h>		// FAILS -- includes locale.h
+//#include <wchar.h>		// FAILS -- includes locale.h
+//#include <wctype.h>		// FAILS -- includes locale.h
 #include <curses.h>
 #else
-#include <aio.h>		// FAILS -- includes locale.h
+#include <time.h>		// FAILS -- includes locale.h
 #endif // 0
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa includes.c" //
+// compile-command: "../../bin/cfa includes.c" //
 // End: //
Index: src/examples/index.h
===================================================================
--- src/examples/index.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/index.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,25 +1,5 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// index.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:17:31 2015
-// Update Count     : 1
-//
-
 context index( type T ) {
-	T ?+?( T, T );
-	T ?-?( T, T );
-	const T 0, 1;
+    T ?+?( T, T );
+    T ?-?( T, T );
+    const T 0, 1;
 };
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa index.c" //
-// End: //
Index: src/examples/iostream.c
===================================================================
--- src/examples/iostream.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/iostream.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,7 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// iostream.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:18:13 2015
-// Update Count     : 2
-//
+// "cfa -c -o iostream.o iostream.c"
+// "cfa -v -E iostream.c > iostream_out.c"
+// "cfa -CFA iostream.c > iostream_out.c"
+// "cfa iostream_out.c"
+// "gcc32 iostream_out.c LibCfa/libcfa.a"
 
 #include "iostream.h"
@@ -19,61 +10,56 @@
 //#include <string.h>
 //#include <ctype.h>
-	typedef long unsigned int size_t;
-	size_t strlen(const char *s);
+typedef long unsigned int size_t;
+size_t strlen(const char *s);
 }
 
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?<<?( ostype *os, char c ) {
-	return write( os, &c, 1 );
+    return write( os, &c, 1 );
 }
 
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?<<?( ostype *os, int i ) {
-	char buffer[20];      // larger than the largest integer
-	sprintf( buffer, "%d", i );
-	return write( os, buffer, strlen( buffer ) );
+    char buffer[20];      // larger than the largest integer
+    sprintf( buffer, "%d", i );
+    return write( os, buffer, strlen( buffer ) );
 }
 
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?<<?( ostype *os, double d ) {
-	char buffer[32];      // larger than the largest double
-	sprintf( buffer, "%g", d );
-	return write( os, buffer, strlen( buffer ) );
+    char buffer[32];      // larger than the largest double
+    sprintf( buffer, "%g", d );
+    return write( os, buffer, strlen( buffer ) );
 }
 
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?<<?( ostype *os, const char *cp ) {
-	return write( os, cp, strlen( cp ) );
+    return write( os, cp, strlen( cp ) );
 }
 
 forall( dtype istype | istream( istype ) )
 istype * ?>>?( istype *is, char *cp ) {
-	return read( is, cp, 1 );
+    return read( is, cp, 1 );
 }
 
 forall( dtype istype | istream( istype ) )
 istype * ?>>?( istype *is, int *ip ) {
-	char cur;
+    char cur;
   
-	// skip some whitespace
-	do {
-		is >> &cur;
-		if ( fail( is ) || eof( is ) ) return is;
-	} while ( !( cur >= '0' && cur <= '9' ) );
+    // skip some whitespace
+    do {
+	is >> &cur;
+	if ( fail( is ) || eof( is ) ) return is;
+    } while ( !( cur >= '0' && cur <= '9' ) );
   
-	// accumulate digits
-	*ip = 0;
-	while ( cur >= '0' && cur <= '9' ) {
-		*ip = *ip * 10 + ( cur - '0' );
-		is >> &cur;
-		if ( fail( is ) || eof( is ) ) return is;
-	}
+    // accumulate digits
+    *ip = 0;
+    while ( cur >= '0' && cur <= '9' ) {
+	*ip = *ip * 10 + ( cur - '0' );
+	is >> &cur;
+	if ( fail( is ) || eof( is ) ) return is;
+    }
   
-	unread( is, cur );
-	return is;
+    unread( is, cur );
+    return is;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa iostream.c" //
-// End: //
Index: src/examples/iostream.h
===================================================================
--- src/examples/iostream.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/iostream.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// iostream.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:18:46 2015
-// Update Count     : 1
-//
-
 #ifndef IOSTREAM_H
 #define IOSTREAM_H
@@ -20,10 +5,10 @@
 
 context ostream( dtype ostype ) {
-	ostype *write( ostype *, const char *, streamsize_type );
-	int fail( ostype * );
+    ostype *write( ostype *, const char *, streamsize_type );
+    int fail( ostype * );
 };
 
 context writeable( type T ) {
-	forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T );
+    forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T );
 };
 
@@ -37,12 +22,12 @@
 
 context istream( dtype istype ) {
-	istype *read( istype *, char *, streamsize_type );
-	istype *unread( istype *, char );
-	int fail( istype * );
-	int eof( istype * );
+    istype *read( istype *, char *, streamsize_type );
+    istype *unread( istype *, char );
+    int fail( istype * );
+    int eof( istype * );
 };
 
 context readable( type T ) {
-	forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T );
+    forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T );
 };
 
@@ -54,7 +39,2 @@
 
 #endif // IOSTREAM_H
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa iostream.c" //
-// End: //
Index: src/examples/it_out.c
===================================================================
--- src/examples/it_out.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/it_out.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,27 +1,36 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// it_out.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:41:23 2015
-// Update Count     : 4
-//
+# 1 "iterator.c"
+# 1 "<built-in>"
+# 1 "<command line>"
+# 1 "iterator.c"
+# 1 "iterator.h" 1
+
+
+
+# 1 "iostream.h" 1
+
+
 
 typedef unsigned long streamsize_type;
 
-context ostream( dtype os_type ) {
-	os_type *write( os_type *, const char *, streamsize_type );
-	int fail( os_type * );
+
+
+context ostream( dtype os_type )
+{
+
+    os_type *write( os_type *, const char *, streamsize_type );
+
+
+    int fail( os_type * );
 };
 
-context writeable( type T ) {
-	forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T );
+
+
+
+context writeable( type T )
+{
+    forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T );
 };
+
+
 
 forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, char );
@@ -29,41 +38,65 @@
 forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, const char * );
 
-context istream( dtype is_type ) {
-	is_type *read( is_type *, char *, streamsize_type );
-	is_type *unread( is_type *, char );
-	int fail( is_type * );
-	int eof( is_type * );
+
+
+
+context istream( dtype is_type )
+{
+
+    is_type *read( is_type *, char *, streamsize_type );
+
+
+    is_type *unread( is_type *, char );
+
+
+    int fail( is_type * );
+
+
+    int eof( is_type * );
 };
 
-context readable( type T ) {
-	forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T );
+
+
+
+context readable( type T )
+{
+    forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T );
 };
+
+
 
 forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, char* );
 forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, int* );
+# 5 "iterator.h" 2
 
-context iterator( type iterator_type, type elt_type ) {
-	iterator_type ?++( iterator_type* );
-	iterator_type ++?( iterator_type* );
-	int ?==?( iterator_type, iterator_type );
-	int ?!=?( iterator_type, iterator_type );
 
-	lvalue elt_type *?( iterator_type );
+context iterator( type iterator_type, type elt_type )
+{
+
+    iterator_type ?++( iterator_type* );
+    iterator_type ++?( iterator_type* );
+
+
+    int ?==?( iterator_type, iterator_type );
+    int ?!=?( iterator_type, iterator_type );
+
+
+    lvalue elt_type *?( iterator_type );
 };
 
-forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
-void write_all( iterator_type begin, iterator_type end, os_type *os );
+
 
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
-void write_all( elt_type begin, iterator_type end, os_type *os ) {
-	os << begin;
+        type iterator_type | iterator( iterator_type, elt_type ),
+        dtype os_type | ostream( os_type ) )
+void write_all( iterator_type begin, iterator_type end, os_type *os );
+# 2 "iterator.c" 2
+
+forall( type elt_type | writeable( elt_type ),
+        type iterator_type | iterator( iterator_type, elt_type ),
+        dtype os_type | ostream( os_type ) )
+void
+write_all( elt_type begin, iterator_type end, os_type *os )
+{
+    os << begin;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa it_out.c" //
-// End: //
Index: src/examples/iterator.c
===================================================================
--- src/examples/iterator.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/iterator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,5 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// iterator.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:41:41 2015
-// Update Count     : 3
-//
+// "cfa iterator.c"
+// "cfa -CFA iterator.c > iterator_out.c"
+// "gcc31 iterator_out.c ../LibCfa/libcfa.a"
 
 #include "iterator.h"
@@ -22,32 +11,27 @@
 ///   iterator_type i;
 ///   for ( i = begin; i != end; ++i ) {
-///	 func( *i );
+///     func( *i );
 ///   }
 /// }
 
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
+        type iterator_type | iterator( iterator_type, elt_type ),
+        dtype os_type | ostream( os_type ) )
 void write_all( iterator_type begin, iterator_type end, os_type *os ) {
-	iterator_type i;
-	for ( i = begin; i != end; ++i ) {
-		os << *i << ' ';
-	}
+    iterator_type i;
+    for ( i = begin; i != end; ++i ) {
+	os << *i << ' ';
+    }
 }
 
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
+	type iterator_type | iterator( iterator_type, elt_type ),
+	dtype os_type | ostream( os_type ) )
 void write_reverse( iterator_type begin, iterator_type end, os_type *os ) {
-	iterator_type i; // "= end;" does not work
-	i = end;
-	do {
-		--i;
-		os << *i << ' ';
-	} while ( i != begin );
+    iterator_type i; // "= end;" does not work
+    i = end;
+    do {
+	--i;
+	os << *i << ' ';
+    } while ( i != begin );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa iterator.c" //
-// End: //
Index: src/examples/iterator.h
===================================================================
--- src/examples/iterator.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/iterator.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// iterator.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:41:57 2015
-// Update Count     : 3
-//
-
 #ifndef ITERATOR_H
 #define ITERATOR_H
@@ -21,21 +6,21 @@
 // An iterator can be used to traverse a data structure.
 context iterator( type iterator_type, type elt_type ) {
-	// point to the next element
-//	iterator_type ?++( iterator_type * );
-	iterator_type ++?( iterator_type * );
-	iterator_type --?( iterator_type * );
+    // point to the next element
+//    iterator_type ?++( iterator_type * );
+    iterator_type ++?( iterator_type * );
+    iterator_type --?( iterator_type * );
 
-	// can be tested for equality with other iterators
-	int ?==?( iterator_type, iterator_type );
-	int ?!=?( iterator_type, iterator_type );
+    // can be tested for equality with other iterators
+    int ?==?( iterator_type, iterator_type );
+    int ?!=?( iterator_type, iterator_type );
 
-	// dereference to get the pointed-at element
-	lvalue elt_type *?( iterator_type );
+    // dereference to get the pointed-at element
+    lvalue elt_type *?( iterator_type );
 };
 
 context iterator_for ( type iterator_type, type collection_type, type elt_type | iterator( iterator_type, elt_type ) ) {
-//	[ iterator_type begin, iterator_type end ] get_iterators( collection_type );
-	iterator_type begin( collection_type );
-	iterator_type end( collection_type );
+//    [ iterator_type begin, iterator_type end ] get_iterators( collection_type );
+    iterator_type begin( collection_type );
+    iterator_type end( collection_type );
 };
 
@@ -45,17 +30,12 @@
 // writes the range [begin, end) to the given stream
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
+        type iterator_type | iterator( iterator_type, elt_type ),
+        dtype os_type | ostream( os_type ) )
 void write_all( iterator_type begin, iterator_type end, os_type *os );
 
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
+	type iterator_type | iterator( iterator_type, elt_type ),
+	dtype os_type | ostream( os_type ) )
 void write_reverse( iterator_type begin, iterator_type end, os_type *os );
 
 #endif // ITERATOR_H
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa iterator.c" //
-// End: //
Index: src/examples/min.c
===================================================================
--- src/examples/min.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/min.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,19 +1,4 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// min.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:23:19 2015
-// Update Count     : 2
-//
-
 extern "C" {
-	int printf( const char *, ... );
+    int printf( const char *, ... );
 //#include <stdio.h>
 }
@@ -21,24 +6,23 @@
 forall( type T | { int ?<?( T, T ); } )
 T min( const T t1, const T t2 ) {
-	return t1 < t2 ? t1 : t2;
+    return t1 < t2 ? t1 : t2;
 }
 
 int main() {
-	char c;
-//	c = min( 'z', 'a' );
-//	printf( "minimum %d\n", c );
-	int i;
-	i = min( 4, 3 );
-	printf( "minimum %d\n", min( 4, 3 ) );
-	float f;
-	f = min( 4.0, 3.1 );
-	printf( "minimum %g\n", f );
-	double d;
-	d = min( 4.0, 3.2 );
-	printf( "minimum %g\n", d );
+    char c;
+//    c = min( 'z', 'a' );
+//    printf( "minimum %d\n", c );
+    int i;
+    i = min( 4, 3 );
+    printf( "minimum %d\n", min( 4, 3 ) );
+    float f;
+    f = min( 4.0, 3.1 );
+    printf( "minimum %g\n", f );
+    double d;
+    d = min( 4.0, 3.2 );
+    printf( "minimum %g\n", d );
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa min.c" //
+// compile-command: "../../bin/cfa min.c" //
 // End: //
Index: src/examples/new.c
===================================================================
--- src/examples/new.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/new.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,33 +1,13 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// new.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:23:55 2015
-// Update Count     : 1
-//
-
 forall( type T )
 void f( T *t ) {
-	t--;
-	*t;
-	++t;
-	t += 2;
-	t + 2;
-	--t;
-	t -= 2;
-	t - 4;
-	t[7];
-	7[t];
+    t--;
+    *t;
+    ++t;
+    t += 2;
+    t + 2;
+    --t;
+    t -= 2;
+    t - 4;
+    t[7];
+    7[t];
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa new.c" //
-// End: //
Index: src/examples/prolog.c
===================================================================
--- src/examples/prolog.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/prolog.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,3 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// prolog.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:25:52 2015
-// Update Count     : 1
-//
+// "./cfa prolog.c"
 
 extern "C" { extern int printf( const char *fmt, ... ); }
@@ -26,25 +13,20 @@
 
 context ArithmeticType( type T ) {
-	void is_arithmetic( T );
+    void is_arithmetic( T );
 };
 
 context IntegralType( type T | ArithmeticType( T ) ) {
-	void is_integer( T );
+    void is_integer( T );
 };
 
 forall( type T | IntegralType( T ) | { void printResult( T ); } )
 void hornclause( T param ) {
-	printResult( param );
+    printResult( param );
 }
 
 int main() {
-	int x;
-	double x;
-	char * x;
-	hornclause( x );
+    int x;
+    double x;
+    char * x;
+    hornclause( x );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa prolog.c" //
-// End: //
Index: src/examples/quad.c
===================================================================
--- src/examples/quad.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/quad.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,38 +1,22 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// quad.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:26:36 2015
-// Update Count     : 2
-//
-
 extern "C" {
-#include <stdio.h>
+    #include <stdio.h>
 }
 
 forall( type T | { T ?*?( T, T ); } )
 T square( T t ) {
-	return t * t;
+    return t * t;
 }
 
 forall( type U | { U square( U ); } )
 U quad( U u ) {
-	return square( square( u ) );
+    return square( square( u ) );
 }
 
 int main() {
-	int N = 2;
-	printf( "result of quad of %d is %d\n", N, quad( N ) );
+    int N = 2;
+    printf( "result of quad of %d is %d\n", N, quad( N ) );
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa quad.c" //
+// compile-command: "../../bin/cfa quad.c" //
 // End: //
Index: src/examples/quoted_keyword.c
===================================================================
--- src/examples/quoted_keyword.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/quoted_keyword.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,23 +1,8 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// quoted_keyword.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:27:26 2015
-// Update Count     : 2
-//
-
 // test quoted keyword usage
 int `catch`;
 
 struct {
-	int `type`;
-	int `struct`;
+    int `type`;
+    int `struct`;
 } st;
 
@@ -26,5 +11,5 @@
 
 int foo() {
-	int w = `catch` + st.`type` + st.`struct` + `throw`;
+    int w = `catch` + st.`type` + st.`struct` + `throw`;
 }
 
@@ -32,5 +17,4 @@
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa quoted_keyword.c" //
+// compile-command: "../../bin/cfa quoted_keyword.c" //
 // End: //
Index: src/examples/rodolfo1.c
===================================================================
--- src/examples/rodolfo1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/examples/rodolfo1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,7 @@
+// "./cfa-cpp -c rodolfo1.c"
+
+void f() {
+	int a, b = 4, c = 5;
+	a = b + c;
+	int d = a + 7;
+}
Index: src/examples/rodolfo2.c
===================================================================
--- src/examples/rodolfo2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/examples/rodolfo2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,14 @@
+// "./cfa-cpp -c rodolfo2.c"
+
+extern "C" {
+    #include <assert.h>
+}
+
+int a = 7;
+
+void f() {
+    int b;
+    b = a;
+    int a = 8;
+    assert( b == 7 );
+}
Index: src/examples/s.c
===================================================================
--- src/examples/s.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/s.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,28 +1,8 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// s.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:42:39 2015
-// Update Count     : 2
-//
-
 //int ?!=?( int, int );
 
 void f() {
-//	int a;
-//	a ? 4 : 5;
-	1 ? 4 : 5;
-	0 ? 4 : 5;
+//    int a;
+//    a ? 4 : 5;
+    1 ? 4 : 5;
+    0 ? 4 : 5;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa s.c" //
-// End: //
Index: src/examples/simple.c
===================================================================
--- src/examples/simple.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/simple.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,39 +1,21 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// simple.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:30:27 2015
-// Update Count     : 3
-//
+// './cfa square.c'
 
 extern "C" {
-	int printf( const char *fmt, ... );
+    int printf( const char *fmt, ... );
 }
 
 context has_star( type T ) {
-	T ?*?( T, T );
+    T ?*?( T, T );
 };
 
 int ?*?( int, int );
-int ?=?( int *, int );
+int ?=?( int*, int );
 
 forall( type T | has_star( T ) )
 T square( T t ) {
-	return t * t;
+    return t * t;
 }
 
 int main() {
-	printf( "result of square of 5 is %d\n", square( 5 ) );
+    printf( "result of square of 5 is %d\n", square( 5 ) );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa simple.c" //
-// End: //
Index: src/examples/simplePoly.c
===================================================================
--- src/examples/simplePoly.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/simplePoly.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,20 +1,8 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// simplePoly.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:31:17 2015
-// Update Count     : 2
-//
+// './cfa-cpp -nc < simplePoly.c'
 
 forall( type T, type U | { T f( T, U ); } )
-T q( T t, U u ) {
-	return f( t, u );
+T q( T t, U u )
+{
+    return f( t, u );
 //  return t;
 }
@@ -23,12 +11,7 @@
 
 void g( void ) {
-	int y;
-	double x;
+    int y;
+    double x;
 //  if ( y )
-	q( 3, &x );
+    q( 3, &x );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa simplePoly.c" //
-// End: //
Index: src/examples/simpler.c
===================================================================
--- src/examples/simpler.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/simpler.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,25 +1,7 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// simpler.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:31:48 2015
-// Update Count     : 1
-//
+// "./cfa-cpp -c simpler.c"
 
 forall( type T ) T id( T, T );
 
 int main() {
-	id( 0, 7 );
+    id( 0, 7 );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa simpler.c" //
-// End: //
Index: src/examples/specialize.c
===================================================================
--- src/examples/specialize.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/specialize.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,5 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// specialize.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:32:26 2015
-// Update Count     : 2
-//
+// "./cfa specialize.c"
+// "./cfa -g simple.c"
+// "./cfa -CFA simple.c > simple_out.c"
 
 /// void f( const int * );
@@ -36,24 +25,19 @@
 
 extern "C" {
-	int printf( const char*, ... );
+  int printf( const char*, ... );
 }
 
 forall( type T ) T f( T t )
 {
-	printf( "in f; sizeof T is %d\n", sizeof( T ) );
-	return t;
+  printf( "in f; sizeof T is %d\n", sizeof( T ) );
+  return t;
 }
 
 void g( int (*p)(int) )
 {
-	printf( "g: f(7) returned %d\n", f(7) );
+  printf( "g: f(7) returned %d\n", f(7) );
 }
 
 int main() {
-	g( f );
+  g( f );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa specialize.c" //
-// End: //
Index: src/examples/square.c
===================================================================
--- src/examples/square.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/square.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,45 +1,13 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// square.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:43:34 2015
-// Update Count     : 2
-//
-
 extern "C" {
 #include <stdio.h>
 }
 
-forall( type T | { T ?*?( T, T ); } )
+forall( type T | { T ?*?( T, T ); })
 T square( T t ) {
-	return t * t;
+    return t * t;
 }
 
-//char ?*?( char a1, char a2 ) {
-//	return (char)( (int)a1 * (int)a2 );
-//}
-
 int main() {
-	char c = 5;
-	short int s = 5;
-	int i = 5;
-	float f = 5.0;
-	double d = 5.0;
-//	printf( "result of square of 5 is %d\n", (char)square( c ) );
-	printf( "result of square of 5 is %d\n", square( s ) );
-	printf( "result of square of 5 is %d\n", square( i ) );
-	printf( "result of square of 5 is %f\n", square( f ) );
-	printf( "result of square of 5 is %f\n", square( d ) );
+    printf( "result of square of 5 is %d\n", square( 5 ) );
+    printf( "result of square of 5 is %f\n", square( 5.0 ) );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa square.c" //
-// End: //
Index: src/examples/square.cf
===================================================================
--- src/examples/square.cf	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/examples/square.cf	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,20 @@
+// './cfa square.c'
+
+#undef __cplusplus
+extern "C" {
+#include <stdio.h>
+}
+
+forall( type T | { T ?*?( T, T ); })
+T
+square( T t )
+{
+  return t * t;
+}
+
+int
+main()
+{
+  printf( "result of square of 5 is %d\n", square( 5 ) );
+  return 0;
+}
Index: src/examples/sum.c
===================================================================
--- src/examples/sum.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/sum.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,35 +1,20 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// sum.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  1 20:46:35 2015
-// Update Count     : 18
-//
-
 extern "C" {
-	int printf( const char *, ... );
+    int printf( const char *, ... );
 }
 
 context sumable( type T ) {
-	const T 0;
-	T ?+?( T, T );
-	T ?++( T * );
-	T ?+=?( T *, T );
+    const T 0;
+    T ?+?( T, T );
+    T ?++( T * );
+    T ?+=?( T *, T );
 };
 
 forall( type T | sumable( T ) )
 T sum( int n, T a[] ) {
-	T total;											// instantiate T, select 0
-	total = 0;
-	for ( int i = 0; i < n; i += 1 )
-		total = total + a[i];							// select +
-	return total;
+    T total;				// instantiate T, select 0
+    total = 0;
+    for ( int i = 0; i < n; i += 1 )
+	total = total + a[i];		// select +
+    return total;
 }
 
@@ -42,31 +27,30 @@
 
 int main() {
-	const int low = 5, High = 15, size = High - low;
-	int si = 0, ai[size];
-	int v = low;
-	for ( int i = 0; i < size; i += 1, v += 1 ) {
-		si += v;
-		ai[i] = v;
-	}
-	printf( "sum from %d to %d is %d, check %d\n",
-			low, High, sum( size, ai ), si );
+    const int size = 10, low = 0, High = 10;
+    int si = 0, ai[10]; // size
+    int i;
+    for ( i = low; i < High; i += 1 ) {
+	si += i;
+	ai[i] = i;
+    }
+    printf( "sum from %d to %d is %d, check %d\n",
+	    low, High, sum( size, ai ), si );
 
-//	char ci[size];
-//	char c = sum( size, ci );
-//	float fi[size];
-//	float f = sum( size, fi );
+//    char ci[10];
+//    char c = sum( size, ci );
+//    float fi[10];
+//    float f = sum( size, fi );
 
-	double sd = 0.0, ad[size];
-	double v = low / 10.0;
-	for ( int i = 0; i < size; i += 1, v += 0.1 ) {
-		sd += v;
-		ad[i] = v;
-	}
-	printf( "sum from %g to %g is %g, check %g\n",
-			low / 10.0, High / 10.0, sum( size, ad ), sd );
+    double sd = 0.0, ad[10]; // size
+    for ( i = low; i < High; i += 1 ) {
+	double d = i / (double)size;
+	sd += d;
+	ad[i] = d;
+    }
+    printf( "sum from %g to %g is %g, check %g\n",
+	    low / (double)size, High / (double)size, sum( size, ad ), sd );
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa sum.c" //
+// compile-command: "../../bin/cfa sum.c" //
 // End: //
Index: src/examples/swap.c
===================================================================
--- src/examples/swap.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/swap.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,37 +1,21 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// swap.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:34:47 2015
-// Update Count     : 1
-//
-
 extern "C" {
-	int printf( const char *, ... );
+    int printf( const char *, ... );
 }
 
 forall( type T )
 void swap( T *left, T *right ) {
-	T temp = *left;
-	*left = *right;
-	*right = temp;
+    T temp = *left;
+    *left = *right;
+    *right = temp;
 }
 
 int main() {
-	int x = 1, y = 2;
-	printf( "%d %d\n", x, y );
-	swap( &x, &y );
-	printf( "%d %d\n", x, y );
+    int x = 1, y = 2;
+    printf( "%d %d\n", x, y );
+    swap( &x, &y );
+    printf( "%d %d\n", x, y );
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa swap.c" //
+// compile-command: "../../bin/cfa swap.c" //
 // End: //
Index: src/examples/twice.c
===================================================================
--- src/examples/twice.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/twice.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,31 +1,15 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// twice.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:37:23 2015
-// Update Count     : 1
-//
-
 #include "fstream.h"
 
 forall( type T | { T ?+?( T, T ); T ?++( T * ); [T] ?+=?( T *, T ); } )
 T twice( const T t ) {
-	return t + t;
+    return t + t;
 }
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
+    ofstream *sout = ofstream_stdout();
+    sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa twice.c fstream.o iostream.o" //
+// compile-command: "../../bin/cfa twice.c fstream.o iostream.o" //
 // End: //
Index: src/examples/vector_int.c
===================================================================
--- src/examples/vector_int.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/vector_int.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,3 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// vector_int.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:38:05 2015
-// Update Count     : 3
-//
+// "cfa vector_int.c"
 
 #include "vector_int.h"
@@ -23,33 +10,33 @@
 
 vector_int vector_int_allocate() {
-	return vector_int_allocate( DEFAULT_CAPACITY );
+    return vector_int_allocate( DEFAULT_CAPACITY );
 }
 
 vector_int vector_int_allocate( int reserve ) {
-	vector_int new_vector;
-	new_vector.last = -1;
-	new_vector.capacity = reserve;
-	new_vector.data = malloc( sizeof( int ) * reserve );
-	return new_vector;
+    vector_int new_vector;
+    new_vector.last = -1;
+    new_vector.capacity = reserve;
+    new_vector.data = malloc( sizeof( int ) * reserve );
+    return new_vector;
 }
 
 void vector_int_deallocate( vector_int vec ) {
-	free( vec.data );
+    free( vec.data );
 }
 
 void reserve( vector_int *vec, int reserve ) {
-	if ( reserve > vec->capacity ) {
-		vec->data = realloc( vec->data, sizeof( int ) * reserve );
-		vec->capacity = reserve;
-	}
+    if ( reserve > vec->capacity ) {
+	vec->data = realloc( vec->data, sizeof( int ) * reserve );
+	vec->capacity = reserve;
+    }
 }
 
 void append( vector_int *vec, int element ) {
-	vec->last++;
-	if ( vec->last == vec->capacity ) {
-		vec->capacity *= 2;
-		vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );
-	}
-	vec->data[ vec->last ] = element;
+    vec->last++;
+    if ( vec->last == vec->capacity ) {
+	vec->capacity *= 2;
+	vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );
+    }
+    vec->data[ vec->last ] = element;
 }
 
@@ -57,14 +44,9 @@
 
 lvalue int ?[?]( vector_int vec, int index ) {
-	return vec.data[ index ];
+    return vec.data[ index ];
 }
 
 int last( vector_int vec ) {
-	return vec.last;
+    return vec.last;
 }
 
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa vector_int.c" //
-// End: //
Index: src/examples/vector_int.h
===================================================================
--- src/examples/vector_int.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/vector_int.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// vector_int.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:39:05 2015
-// Update Count     : 2
-//
-
 #ifndef VECTOR_INT_H
 #define VECTOR_INT_H
@@ -20,25 +5,20 @@
 
 typedef struct vector_int {
-	int last;											// last used index
-	int capacity;										// last possible index before reallocation
-	int *data;											// array
+    int last;						// last used index
+    int capacity;					// last possible index before reallocation
+    int *data;						// array
 } vector_int;
 
-vector_int vector_int_allocate();						// allocate vector with default capacity
-vector_int vector_int_allocate( int reserve );			// allocate vector with specified capacity
-void vector_int_deallocate( vector_int );				// deallocate vector's storage
+vector_int vector_int_allocate();			// allocate vector with default capacity
+vector_int vector_int_allocate( int reserve );		// allocate vector with specified capacity
+void vector_int_deallocate( vector_int );		// deallocate vector's storage
 
-void reserve( vector_int *vec, int reserve );			// reserve more capacity
-void append( vector_int *vec, int element );			// add element to end of vector, resizing as necessary
+void reserve( vector_int *vec, int reserve );		// reserve more capacity
+void append( vector_int *vec, int element );		// add element to end of vector, resizing as necessary
 
 // implement bounded_array
 
-lvalue int ?[?]( vector_int vec, int index );			// access to arbitrary element (does not resize)
-int last( vector_int vec );								// return last element
+lvalue int ?[?]( vector_int vec, int index );		// access to arbitrary element (does not resize)
+int last( vector_int vec );				// return last element
 
 #endif // VECTOR_INT_H
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa vector_int.c" //
-// End: //
Index: src/examples/vector_test.c
===================================================================
--- src/examples/vector_test.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/vector_test.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// vector_test.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:42:55 2015
-// Update Count     : 2
-//
-
 #include "fstream.h"
 #include "vector_int.h"
@@ -20,37 +5,32 @@
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	ifstream *sin = ifstream_stdin();
-	vector_int vec = vector_int_allocate();
+    ofstream *sout = ofstream_stdout();
+    ifstream *sin = ifstream_stdin();
+    vector_int vec = vector_int_allocate();
 
-	// read in numbers until EOF or error
-	int num;
+    // read in numbers until EOF or error
+    int num;
 
-	sout << "enter N elements and C-d on a separate line:\n";
-	for ( ;; ) {
+    sout << "enter N elements and C-d on a separate line:\n";
+    for ( ;; ) {
 	sin >> &num;
-	  if ( fail( sin ) || eof( sin ) ) break;
+      if ( fail( sin ) || eof( sin ) ) break;
 	append( &vec, num );
-	}
-	// write out the numbers
+    }
+    // write out the numbers
 
-	sout << "Array elements:\n";
-//	write_all( begin( vec ), end( vec ), sout );
-//	sout << "\n";
-	for ( int index = 0; index <= last( vec ); index += 1 ) {
+    sout << "Array elements:\n";
+//    write_all( begin( vec ), end( vec ), sout );
+//    sout << "\n";
+    for ( int index = 0; index <= last( vec ); index += 1 ) {
 	sout << vec[ index ] << " ";
-	}
-	sout << "\n";
+    }
+    sout << "\n";
 #if 1
-	sout << "Array elements reversed:\n";
-	write_reverse( begin( vec ), end( vec ), sout );
-	sout << "\n";
+    sout << "Array elements reversed:\n";
+    write_reverse( begin( vec ), end( vec ), sout );
+    sout << "\n";
 #endif
 }
 
 // ../bin/cfa vector_test.c fstream.o iostream.o vector_int.o iterator.o array.o
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa vector_test.c fstream.o iostream.o vector_int.o iterator.o array.o" //
-// End: //
Index: src/libcfa/Makefile.am
===================================================================
--- src/libcfa/Makefile.am	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,49 +1,0 @@
-######################## -*- Mode: Makefile-Automake -*- ######################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## Makefile.am -- 
-##
-## Author           : Peter A. Buhr
-## Created On       : Sun May 31 08:54:01 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Thu Jun  4 22:49:16 2015
-## Update Count     : 7
-###############################################################################
-
-libcfa_a_SOURCES = libcfa-prelude.c
-lib_LIBRARIES = libcfa.a
-
-# put into lib for now
-cfalibdir = ${libdir}
-cfalib_DATA = prelude.cf builtins.cf
-
-# create forward declarations for gcc builtins
-${libdir}/builtins.cf : ${libdir} ${srcdir}/builtins.cf
-	${INSTALL} ${srcdir}/builtins.cf ${libdir}
-	sed -i -e "s#typedef.*ptrdiff_t.*#`@BACKEND_CC@ -E ${srcdir}/ptrdiff_t.c | grep 'typedef.*ptrdiff_t'`#" ${srcdir}/prelude.cf
-
-builtins.cf : builtins.c
-	@if [ -e $< ] ; then \
-		@BACKEND_CC@ -E -P $^ | sed -e "/targetm/s/.*//" -e "/_Decimal/s/.*//" -e "s/void (const char \*)0();//" -e "s/\"//g" -e "s/\(__builtin_\) /\1/" > $@ ; \
-	fi
-
-builtins.c : builtins.def prototypes.awk
-	@if [ -e $< ] ; then \
-		@BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@ ; \
-	fi
-
-builtins.def :
-
-prototypes.awk :
-
-MAINTAINERCLEANFILES = ${srcdir}/libcfa-prelude.c
-
-libcfa-prelude.c : ${srcdir}/prelude.cf
-	${libdir}/cfa-cpp -l ${srcdir}/prelude.cf $@
-
-libcfa-prelude.o : libcfa-prelude.c
-	${BACKEND_CC} -c -o $@ $<
Index: src/libcfa/Makefile.in
===================================================================
--- src/libcfa/Makefile.in	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,551 +1,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-######################## -*- Mode: Makefile-Automake -*- ######################
-###############################################################################
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-subdir = src/libcfa
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfalibdir)"
-LIBRARIES = $(lib_LIBRARIES)
-AR = ar
-ARFLAGS = cru
-libcfa_a_AR = $(AR) $(ARFLAGS)
-libcfa_a_LIBADD =
-am_libcfa_a_OBJECTS = libcfa-prelude.$(OBJEXT)
-libcfa_a_OBJECTS = $(am_libcfa_a_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libcfa_a_SOURCES)
-DIST_SOURCES = $(libcfa_a_SOURCES)
-DATA = $(cfalib_DATA)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BACKEND_CC = @BACKEND_CC@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFA_BINDIR = @CFA_BINDIR@
-CFA_INCDIR = @CFA_INCDIR@
-CFA_LIBDIR = @CFA_LIBDIR@
-CFA_PREFIX = @CFA_PREFIX@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GCC_PATH = @GCC_PATH@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LEX = @LEX@
-LEXLIB = @LEXLIB@
-LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-YACC = @YACC@
-YFLAGS = @YFLAGS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build_alias = @build_alias@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-libcfa_a_SOURCES = libcfa-prelude.c
-lib_LIBRARIES = libcfa.a
-
-# put into lib for now
-cfalibdir = ${libdir}
-cfalib_DATA = prelude.cf builtins.cf
-MAINTAINERCLEANFILES = ${srcdir}/libcfa-prelude.c
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/libcfa/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu src/libcfa/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-libLIBRARIES: $(lib_LIBRARIES)
-	@$(NORMAL_INSTALL)
-	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
-	list2=; for p in $$list; do \
-	  if test -f $$p; then \
-	    list2="$$list2 $$p"; \
-	  else :; fi; \
-	done; \
-	test -z "$$list2" || { \
-	  echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \
-	  $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; }
-	@$(POST_INSTALL)
-	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
-	for p in $$list; do \
-	  if test -f $$p; then \
-	    $(am__strip_dir) \
-	    echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \
-	    ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \
-	  else :; fi; \
-	done
-
-uninstall-libLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir)
-
-clean-libLIBRARIES:
-	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
-libcfa.a: $(libcfa_a_OBJECTS) $(libcfa_a_DEPENDENCIES) $(EXTRA_libcfa_a_DEPENDENCIES) 
-	-rm -f libcfa.a
-	$(libcfa_a_AR) libcfa.a $(libcfa_a_OBJECTS) $(libcfa_a_LIBADD)
-	$(RANLIB) libcfa.a
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa-prelude.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
-install-cfalibDATA: $(cfalib_DATA)
-	@$(NORMAL_INSTALL)
-	test -z "$(cfalibdir)" || $(MKDIR_P) "$(DESTDIR)$(cfalibdir)"
-	@list='$(cfalib_DATA)'; test -n "$(cfalibdir)" || list=; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(cfalibdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(cfalibdir)" || exit $$?; \
-	done
-
-uninstall-cfalibDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(cfalib_DATA)'; test -n "$(cfalibdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(cfalibdir)'; $(am__uninstall_files_from_dir)
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES) $(DATA)
-installdirs:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfalibdir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-am
-
-clean-am: clean-generic clean-libLIBRARIES mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-cfalibDATA
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLIBRARIES
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-cfalibDATA uninstall-libLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libLIBRARIES ctags distclean distclean-compile \
-	distclean-generic distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-cfalibDATA \
-	install-data install-data-am install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-libLIBRARIES install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-cfalibDATA \
-	uninstall-libLIBRARIES
-
-
-# create forward declarations for gcc builtins
-${libdir}/builtins.cf : ${libdir} ${srcdir}/builtins.cf
-	${INSTALL} ${srcdir}/builtins.cf ${libdir}
-	sed -i -e "s#typedef.*ptrdiff_t.*#`@BACKEND_CC@ -E ${srcdir}/ptrdiff_t.c | grep 'typedef.*ptrdiff_t'`#" ${srcdir}/prelude.cf
-
-builtins.cf : builtins.c
-	@if [ -e $< ] ; then \
-		@BACKEND_CC@ -E -P $^ | sed -e "/targetm/s/.*//" -e "/_Decimal/s/.*//" -e "s/void (const char \*)0();//" -e "s/\"//g" -e "s/\(__builtin_\) /\1/" > $@ ; \
-	fi
-
-builtins.c : builtins.def prototypes.awk
-	@if [ -e $< ] ; then \
-		@BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@ ; \
-	fi
-
-builtins.def :
-
-prototypes.awk :
-
-libcfa-prelude.c : ${srcdir}/prelude.cf
-	${libdir}/cfa-cpp -l ${srcdir}/prelude.cf $@
-
-libcfa-prelude.o : libcfa-prelude.c
-	${BACKEND_CC} -c -o $@ $<
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: src/libcfa/builtins.cf
===================================================================
--- src/libcfa/builtins.cf	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,587 +1,0 @@
-
-double __builtin_acos(double);
-float __builtin_acosf(float);
-double __builtin_acosh(double);
-float __builtin_acoshf(float);
-long double __builtin_acoshl(long double);
-long double __builtin_acosl(long double);
-double __builtin_asin(double);
-float __builtin_asinf(float);
-double __builtin_asinh(double);
-float __builtin_asinhf(float);
-long double __builtin_asinhl(long double);
-long double __builtin_asinl(long double);
-double __builtin_atan(double);
-double __builtin_atan2(double, double);
-float __builtin_atan2f(float, float);
-long double __builtin_atan2l(long double, long double);
-float __builtin_atanf(float);
-double __builtin_atanh(double);
-float __builtin_atanhf(float);
-long double __builtin_atanhl(long double);
-long double __builtin_atanl(long double);
-double __builtin_cbrt(double);
-float __builtin_cbrtf(float);
-long double __builtin_cbrtl(long double);
-double __builtin_ceil(double);
-float __builtin_ceilf(float);
-long double __builtin_ceill(long double);
-double __builtin_copysign(double, double);
-float __builtin_copysignf(float, float);
-long double __builtin_copysignl(long double, long double);
-double __builtin_cos(double);
-float __builtin_cosf(float);
-double __builtin_cosh(double);
-float __builtin_coshf(float);
-long double __builtin_coshl(long double);
-long double __builtin_cosl(long double);
-double __builtin_drem(double, double);
-float __builtin_dremf(float, float);
-long double __builtin_dreml(long double, long double);
-double __builtin_erf(double);
-double __builtin_erfc(double);
-float __builtin_erfcf(float);
-long double __builtin_erfcl(long double);
-float __builtin_erff(float);
-long double __builtin_erfl(long double);
-double __builtin_exp(double);
-double __builtin_exp10(double);
-float __builtin_exp10f(float);
-long double __builtin_exp10l(long double);
-double __builtin_exp2(double);
-float __builtin_exp2f(float);
-long double __builtin_exp2l(long double);
-float __builtin_expf(float);
-long double __builtin_expl(long double);
-double __builtin_expm1(double);
-float __builtin_expm1f(float);
-long double __builtin_expm1l(long double);
-double __builtin_fabs(double);
-float __builtin_fabsf(float);
-long double __builtin_fabsl(long double);
-
-
-
-double __builtin_fdim(double, double);
-float __builtin_fdimf(float, float);
-long double __builtin_fdiml(long double, long double);
-double __builtin_floor(double);
-float __builtin_floorf(float);
-long double __builtin_floorl(long double);
-double __builtin_fma(double, double, double);
-float __builtin_fmaf(float, float, float);
-long double __builtin_fmal(long double, long double, long double);
-double __builtin_fmax(double, double);
-float __builtin_fmaxf(float, float);
-long double __builtin_fmaxl(long double, long double);
-double __builtin_fmin(double, double);
-float __builtin_fminf(float, float);
-long double __builtin_fminl(long double, long double);
-double __builtin_fmod(double, double);
-float __builtin_fmodf(float, float);
-long double __builtin_fmodl(long double, long double);
-double __builtin_frexp(double, int *);
-float __builtin_frexpf(float, int *);
-long double __builtin_frexpl(long double, int *);
-double __builtin_gamma(double);
-float __builtin_gammaf(float);
-long double __builtin_gammal(long double);
-double __builtin_gamma_r(double, int *);
-float __builtin_gammaf_r(float, int *);
-long double __builtin_gammal_r(long double, int *);
-double __builtin_huge_val();
-float __builtin_huge_valf();
-long double __builtin_huge_vall();
-double __builtin_hypot(double, double);
-float __builtin_hypotf(float, float);
-long double __builtin_hypotl(long double, long double);
-int __builtin_iceil(double);
-int __builtin_iceilf(float);
-int __builtin_iceill(long double);
-int __builtin_ifloor(double);
-int __builtin_ifloorf(float);
-int __builtin_ifloorl(long double);
-int __builtin_ilogb(double);
-int __builtin_ilogbf(float);
-int __builtin_ilogbl(long double);
-double __builtin_inf();
-float __builtin_inff();
-long double __builtin_infl();
-
-
-
-int __builtin_irint(double);
-int __builtin_irintf(float);
-int __builtin_irintl(long double);
-int __builtin_iround(double);
-int __builtin_iroundf(float);
-int __builtin_iroundl(long double);
-double __builtin_j0(double);
-float __builtin_j0f(float);
-long double __builtin_j0l(long double);
-double __builtin_j1(double);
-float __builtin_j1f(float);
-long double __builtin_j1l(long double);
-double __builtin_jn(int, double);
-float __builtin_jnf(int, float);
-long double __builtin_jnl(int, long double);
-long __builtin_lceil(double);
-long __builtin_lceilf(float);
-long __builtin_lceill(long double);
-double __builtin_ldexp(double, int);
-float __builtin_ldexpf(float, int);
-long double __builtin_ldexpl(long double, int);
-long __builtin_lfloor(double);
-long __builtin_lfloorf(float);
-long __builtin_lfloorl(long double);
-double __builtin_lgamma(double);
-float __builtin_lgammaf(float);
-long double __builtin_lgammal(long double);
-double __builtin_lgamma_r(double, int *);
-float __builtin_lgammaf_r(float, int *);
-long double __builtin_lgammal_r(long double, int *);
-long long __builtin_llceil(double);
-long long __builtin_llceilf(float);
-long long __builtin_llceill(long double);
-long long __builtin_llfloor(double);
-long long __builtin_llfloorf(float);
-long long __builtin_llfloorl(long double);
-long long __builtin_llrint(double);
-long long __builtin_llrintf(float);
-long long __builtin_llrintl(long double);
-long long __builtin_llround(double);
-long long __builtin_llroundf(float);
-long long __builtin_llroundl(long double);
-double __builtin_log(double);
-double __builtin_log10(double);
-float __builtin_log10f(float);
-long double __builtin_log10l(long double);
-double __builtin_log1p(double);
-float __builtin_log1pf(float);
-long double __builtin_log1pl(long double);
-double __builtin_log2(double);
-float __builtin_log2f(float);
-long double __builtin_log2l(long double);
-double __builtin_logb(double);
-float __builtin_logbf(float);
-long double __builtin_logbl(long double);
-float __builtin_logf(float);
-long double __builtin_logl(long double);
-long __builtin_lrint(double);
-long __builtin_lrintf(float);
-long __builtin_lrintl(long double);
-long __builtin_lround(double);
-long __builtin_lroundf(float);
-long __builtin_lroundl(long double);
-double __builtin_modf(double, double *);
-float __builtin_modff(float, float *);
-long double __builtin_modfl(long double, long double *);
-double __builtin_nan(const char *);
-float __builtin_nanf(const char *);
-long double __builtin_nanl(const char *);
-
-
-
-double __builtin_nans(const char *);
-float __builtin_nansf(const char *);
-long double __builtin_nansl(const char *);
-double __builtin_nearbyint(double);
-float __builtin_nearbyintf(float);
-long double __builtin_nearbyintl(long double);
-double __builtin_nextafter(double, double);
-float __builtin_nextafterf(float, float);
-long double __builtin_nextafterl(long double, long double);
-double __builtin_nexttoward(double, long double);
-float __builtin_nexttowardf(float, long double);
-long double __builtin_nexttowardl(long double, long double);
-double __builtin_pow(double, double);
-double __builtin_pow10(double);
-float __builtin_pow10f(float);
-long double __builtin_pow10l(long double);
-float __builtin_powf(float, float);
-double __builtin_powi(double, int);
-float __builtin_powif(float, int);
-long double __builtin_powil(long double, int);
-long double __builtin_powl(long double, long double);
-double __builtin_remainder(double, double);
-float __builtin_remainderf(float, float);
-long double __builtin_remainderl(long double, long double);
-double __builtin_remquo(double, double, int *);
-float __builtin_remquof(float, float, int *);
-long double __builtin_remquol(long double, long double, int *);
-double __builtin_rint(double);
-float __builtin_rintf(float);
-long double __builtin_rintl(long double);
-double __builtin_round(double);
-float __builtin_roundf(float);
-long double __builtin_roundl(long double);
-double __builtin_scalb(double, double);
-float __builtin_scalbf(float, float);
-long double __builtin_scalbl(long double, long double);
-double __builtin_scalbln(double, long);
-float __builtin_scalblnf(float, long);
-long double __builtin_scalblnl(long double, long);
-double __builtin_scalbn(double, int);
-float __builtin_scalbnf(float, int);
-long double __builtin_scalbnl(long double, int);
-int __builtin_signbit(double);
-int __builtin_signbitf(float);
-int __builtin_signbitl(long double);
-
-
-
-double __builtin_significand(double);
-float __builtin_significandf(float);
-long double __builtin_significandl(long double);
-double __builtin_sin(double);
-void __builtin_sincos(double, double *, double *);
-void __builtin_sincosf(float, float *, float *);
-void __builtin_sincosl(long double, long double *, long double *);
-float __builtin_sinf(float);
-double __builtin_sinh(double);
-float __builtin_sinhf(float);
-long double __builtin_sinhl(long double);
-long double __builtin_sinl(long double);
-double __builtin_sqrt(double);
-float __builtin_sqrtf(float);
-long double __builtin_sqrtl(long double);
-double __builtin_tan(double);
-float __builtin_tanf(float);
-double __builtin_tanh(double);
-float __builtin_tanhf(float);
-long double __builtin_tanhl(long double);
-long double __builtin_tanl(long double);
-double __builtin_tgamma(double);
-float __builtin_tgammaf(float);
-long double __builtin_tgammal(long double);
-double __builtin_trunc(double);
-float __builtin_truncf(float);
-long double __builtin_truncl(long double);
-double __builtin_y0(double);
-float __builtin_y0f(float);
-long double __builtin_y0l(long double);
-double __builtin_y1(double);
-float __builtin_y1f(float);
-long double __builtin_y1l(long double);
-double __builtin_yn(int, double);
-float __builtin_ynf(int, float);
-long double __builtin_ynl(int, long double);
-double __builtin_cabs(_Complex double);
-float __builtin_cabsf(_Complex float);
-long double __builtin_cabsl(_Complex long double);
-_Complex double __builtin_cacos(_Complex double);
-_Complex float __builtin_cacosf(_Complex float);
-_Complex double __builtin_cacosh(_Complex double);
-_Complex float __builtin_cacoshf(_Complex float);
-_Complex long double __builtin_cacoshl(_Complex long double);
-_Complex long double __builtin_cacosl(_Complex long double);
-double __builtin_carg(_Complex double);
-float __builtin_cargf(_Complex float);
-long double __builtin_cargl(_Complex long double);
-_Complex double __builtin_casin(_Complex double);
-_Complex float __builtin_casinf(_Complex float);
-_Complex double __builtin_casinh(_Complex double);
-_Complex float __builtin_casinhf(_Complex float);
-_Complex long double __builtin_casinhl(_Complex long double);
-_Complex long double __builtin_casinl(_Complex long double);
-_Complex double __builtin_catan(_Complex double);
-_Complex float __builtin_catanf(_Complex float);
-_Complex double __builtin_catanh(_Complex double);
-_Complex float __builtin_catanhf(_Complex float);
-_Complex long double __builtin_catanhl(_Complex long double);
-_Complex long double __builtin_catanl(_Complex long double);
-_Complex double __builtin_ccos(_Complex double);
-_Complex float __builtin_ccosf(_Complex float);
-_Complex double __builtin_ccosh(_Complex double);
-_Complex float __builtin_ccoshf(_Complex float);
-_Complex long double __builtin_ccoshl(_Complex long double);
-_Complex long double __builtin_ccosl(_Complex long double);
-_Complex double __builtin_cexp(_Complex double);
-_Complex float __builtin_cexpf(_Complex float);
-_Complex long double __builtin_cexpl(_Complex long double);
-_Complex double __builtin_cexpi(double);
-_Complex float __builtin_cexpif(float);
-_Complex long double __builtin_cexpil(long double);
-double __builtin_cimag(_Complex double);
-float __builtin_cimagf(_Complex float);
-long double __builtin_cimagl(_Complex long double);
-_Complex double __builtin_clog(_Complex double);
-_Complex float __builtin_clogf(_Complex float);
-_Complex long double __builtin_clogl(_Complex long double);
-_Complex double __builtin_clog10(_Complex double);
-_Complex float __builtin_clog10f(_Complex float);
-_Complex long double __builtin_clog10l(_Complex long double);
-_Complex double __builtin_conj(_Complex double);
-_Complex float __builtin_conjf(_Complex float);
-_Complex long double __builtin_conjl(_Complex long double);
-_Complex double __builtin_cpow(_Complex double, _Complex double);
-_Complex float __builtin_cpowf(_Complex float, _Complex float);
-_Complex long double __builtin_cpowl(_Complex long double, _Complex long double);
-_Complex double __builtin_cproj(_Complex double);
-_Complex float __builtin_cprojf(_Complex float);
-_Complex long double __builtin_cprojl(_Complex long double);
-double __builtin_creal(_Complex double);
-float __builtin_crealf(_Complex float);
-long double __builtin_creall(_Complex long double);
-_Complex double __builtin_csin(_Complex double);
-_Complex float __builtin_csinf(_Complex float);
-_Complex double __builtin_csinh(_Complex double);
-_Complex float __builtin_csinhf(_Complex float);
-_Complex long double __builtin_csinhl(_Complex long double);
-_Complex long double __builtin_csinl(_Complex long double);
-_Complex double __builtin_csqrt(_Complex double);
-_Complex float __builtin_csqrtf(_Complex float);
-_Complex long double __builtin_csqrtl(_Complex long double);
-_Complex double __builtin_ctan(_Complex double);
-_Complex float __builtin_ctanf(_Complex float);
-_Complex double __builtin_ctanh(_Complex double);
-_Complex float __builtin_ctanhf(_Complex float);
-_Complex long double __builtin_ctanhl(_Complex long double);
-_Complex long double __builtin_ctanl(_Complex long double);
-int __builtin_bcmp(const void *, const void *, unsigned long);
-void __builtin_bcopy(const void *, void *, unsigned long);
-void __builtin_bzero(void *, unsigned long);
-char * __builtin_index(const char *, int);
-void * __builtin_memchr(const void *, int, unsigned long);
-int __builtin_memcmp(const void *, const void *, unsigned long);
-void * __builtin_memcpy(void *, const void *, unsigned long);
-void * __builtin_memmove(void *, const void *, unsigned long);
-void * __builtin_mempcpy(void *, const void *, unsigned long);
-void * __builtin_memset(void *, int, unsigned long);
-char * __builtin_rindex(const char *, int);
-char * __builtin_stpcpy(char *, const char *);
-char * __builtin_stpncpy(char *, const char *, unsigned long);
-int __builtin_strcasecmp(const char *, const char *);
-char * __builtin_strcat(char *, const char *);
-char * __builtin_strchr(const char *, int);
-int __builtin_strcmp(const char *, const char *);
-char * __builtin_strcpy(char *, const char *);
-unsigned long __builtin_strcspn(const char *, const char *);
-char * __builtin_strdup(const char *);
-char * __builtin_strndup(const char *, unsigned long);
-unsigned long __builtin_strlen(const char *);
-int __builtin_strncasecmp(const char *, const char *, unsigned long);
-char * __builtin_strncat(char *, const char *, unsigned long);
-int __builtin_strncmp(const char *, const char *, unsigned long);
-char * __builtin_strncpy(char *, const char *, unsigned long);
-char * __builtin_strpbrk(const char *, const char *);
-char * __builtin_strrchr(const char *, int);
-unsigned long __builtin_strspn(const char *, const char *);
-char * __builtin_strstr(const char *, const char *);
-int __builtin_fprintf(struct _IO_FILE *, const char *, ...);
-int __builtin_fprintf_unlocked(struct _IO_FILE *, const char *, ...);
-int __builtin_putc(int, struct _IO_FILE *);
-int __builtin_putc_unlocked(int, struct _IO_FILE *);
-int __builtin_fputc(int, struct _IO_FILE *);
-int __builtin_fputc_unlocked(int, struct _IO_FILE *);
-int __builtin_fputs(const char *, struct _IO_FILE *);
-int __builtin_fputs_unlocked(const char *, struct _IO_FILE *);
-int __builtin_fscanf(struct _IO_FILE *, const char *, ...);
-unsigned long __builtin_fwrite(const void *, unsigned long, unsigned long, struct _IO_FILE *);
-unsigned long __builtin_fwrite_unlocked(const void *, unsigned long, unsigned long, struct _IO_FILE *);
-int __builtin_printf(const char *, ...);
-int __builtin_printf_unlocked(const char *, ...);
-int __builtin_putchar(int);
-int __builtin_putchar_unlocked(int);
-int __builtin_puts(const char *);
-int __builtin_puts_unlocked(const char *);
-int __builtin_scanf(const char *, ...);
-int __builtin_snprintf(char *, unsigned long, const char *, ...);
-int __builtin_sprintf(char *, const char *, ...);
-int __builtin_sscanf(const char *, const char *, ...);
-int __builtin_vfprintf(struct _IO_FILE *, const char *, void **);
-int __builtin_vfscanf(struct _IO_FILE *, const char *, void **);
-int __builtin_vprintf(const char *, void **);
-int __builtin_vscanf(const char *, void **);
-int __builtin_vsnprintf(char *, unsigned long, const char *, void **);
-int __builtin_vsprintf(char *, const char *, void **);
-int __builtin_vsscanf(const char *, const char *, void **);
-int __builtin_isalnum(int);
-int __builtin_isalpha(int);
-int __builtin_isascii(int);
-int __builtin_isblank(int);
-int __builtin_iscntrl(int);
-int __builtin_isdigit(int);
-int __builtin_isgraph(int);
-int __builtin_islower(int);
-int __builtin_isprint(int);
-int __builtin_ispunct(int);
-int __builtin_isspace(int);
-int __builtin_isupper(int);
-int __builtin_isxdigit(int);
-int __builtin_toascii(int);
-int __builtin_tolower(int);
-int __builtin_toupper(int);
-int __builtin_iswalnum(unsigned int);
-int __builtin_iswalpha(unsigned int);
-int __builtin_iswblank(unsigned int);
-int __builtin_iswcntrl(unsigned int);
-int __builtin_iswdigit(unsigned int);
-int __builtin_iswgraph(unsigned int);
-int __builtin_iswlower(unsigned int);
-int __builtin_iswprint(unsigned int);
-int __builtin_iswpunct(unsigned int);
-int __builtin_iswspace(unsigned int);
-int __builtin_iswupper(unsigned int);
-int __builtin_iswxdigit(unsigned int);
-unsigned int __builtin_towlower(unsigned int);
-unsigned int __builtin_towupper(unsigned int);
-void __builtin_abort();
-int __builtin_abs(int);
-void * __builtin_aggregate_incoming_address();
-void * __builtin_alloca(unsigned long);
-void * __builtin_apply();
-void * __builtin_apply_args();
-short int __builtin_bswap16(short int);
-int __builtin_bswap32(int);
-long long int __builtin_bswap64(long long int);
-void __builtin___clear_cache(void *, void *);
-void * __builtin_calloc(unsigned long, unsigned long);
-int __builtin_classify_type();
-int __builtin_clz(unsigned int);
-int __builtin_clzimax(unsigned long int);
-int __builtin_clzl(unsigned long);
-int __builtin_clzll(unsigned long long);
-int __builtin_constant_p();
-int __builtin_ctz(unsigned int);
-int __builtin_ctzimax(unsigned long int);
-int __builtin_ctzl(unsigned long);
-int __builtin_ctzll(unsigned long long);
-int __builtin_clrsb(int);
-int __builtin_clrsbimax(long int);
-int __builtin_clrsbl(long);
-int __builtin_clrsbll(long long);
-char * __builtin_dcgettext(const char *, const char *, int);
-char * __builtin_dgettext(const char *, const char *);
-void * __builtin_dwarf_cfa();
-unsigned int __builtin_dwarf_sp_column();
-void __builtin_eh_return();
-int __builtin_eh_return_data_regno(int);
-int __builtin_execl(const char *, const char *, ...);
-int __builtin_execlp(const char *, const char *, ...);
-int __builtin_execle(const char *, const char *, ...);
-int __builtin_execv(const char *, char *const);
-int __builtin_execvp(const char *, char *const);
-int __builtin_execve(const char *, char *const, char *const);
-void __builtin_exit(int);
-long __builtin_expect(long, long);
-void * __builtin_assume_aligned(const void *, unsigned long, ...);
-void * __builtin_extend_pointer(void *);
-void * __builtin_extract_return_addr(void *);
-int __builtin_ffs(int);
-int __builtin_ffsimax(long int);
-int __builtin_ffsl(long);
-int __builtin_ffsll(long long);
-int __builtin_fork();
-void * __builtin_frame_address(unsigned int);
-void __builtin_free(void *);
-void * __builtin_frob_return_addr(void *);
-char * __builtin_gettext(const char *);
-long int __builtin_imaxabs(long int);
-void __builtin_init_dwarf_reg_size_table(void *);
-int __builtin_finite(double);
-int __builtin_finitef(float);
-int __builtin_finitel(long double);
-
-
-
-int __builtin_fpclassify(int, int, int, int, int, ...);
-int __builtin_isfinite();
-int __builtin_isinf_sign();
-int __builtin_isinf();
-int __builtin_isinff(float);
-int __builtin_isinfl(long double);
-
-
-
-int __builtin_isnan();
-int __builtin_isnanf(float);
-int __builtin_isnanl(long double);
-
-
-
-int __builtin_isnormal();
-int __builtin_isgreater();
-int __builtin_isgreaterequal();
-int __builtin_isless();
-int __builtin_islessequal();
-int __builtin_islessgreater();
-int __builtin_isunordered();
-long __builtin_labs(long);
-long long __builtin_llabs(long long);
-void __builtin_longjmp(void *, int);
-void * __builtin_malloc(unsigned long);
-void * __builtin_next_arg();
-int __builtin_parity(unsigned int);
-int __builtin_parityimax(unsigned long int);
-int __builtin_parityl(unsigned long);
-int __builtin_parityll(unsigned long long);
-int __builtin_popcount(unsigned int);
-int __builtin_popcountimax(unsigned long int);
-int __builtin_popcountl(unsigned long);
-int __builtin_popcountll(unsigned long long);
-int __builtin_posix_memalign(void **, unsigned long, unsigned long);
-void __builtin_prefetch(const void *, ...);
-void * __builtin_realloc(void *, unsigned long);
-void __builtin_return(void *);
-void * __builtin_return_address(unsigned int);
-void * __builtin_saveregs();
-int __builtin_setjmp(void *);
-long int __builtin_strfmon(char *, unsigned long, const char *, ...);
-unsigned long __builtin_strftime(char *, unsigned long, const char *, const void *);
-void __builtin_trap();
-void __builtin_unreachable();
-void __builtin_unwind_init();
-void __builtin_update_setjmp_buf(void *, int);
-void __builtin_va_copy(void **, void **);
-void __builtin_va_end(void **);
-void __builtin_va_start(void **, ...);
-int __builtin_va_arg_pack();
-int __builtin_va_arg_pack_len();
-void __builtin__exit(int);
-void __builtin__Exit(int);
-void __builtin_init_trampoline();
-void __builtin_init_heap_trampoline();
-void __builtin_adjust_trampoline();
-void __builtin_nonlocal_goto();
-void __builtin_setjmp_setup();
-void __builtin_setjmp_receiver();
-void __builtin_stack_save();
-void __builtin_stack_restore();
-void __builtin_alloca_with_align();
-unsigned long __builtin_object_size(const void *, int);
-void * __builtin___memcpy_chk(void *, const void *, unsigned long, unsigned long);
-void * __builtin___memmove_chk(void *, const void *, unsigned long, unsigned long);
-void * __builtin___mempcpy_chk(void *, const void *, unsigned long, unsigned long);
-void * __builtin___memset_chk(void *, int, unsigned long, unsigned long);
-char * __builtin___stpcpy_chk(char *, const char *, unsigned long);
-char * __builtin___stpncpy_chk(char *, const char *, unsigned long, unsigned long);
-char * __builtin___strcat_chk(char *, const char *, unsigned long);
-char * __builtin___strcpy_chk(char *, const char *, unsigned long);
-char * __builtin___strncat_chk(char *, const char *, unsigned long, unsigned long);
-char * __builtin___strncpy_chk(char *, const char *, unsigned long, unsigned long);
-int __builtin___snprintf_chk(char *, unsigned long, int, unsigned long, const char *, ...);
-int __builtin___sprintf_chk(char *, int, unsigned long, const char *, ...);
-int __builtin___vsnprintf_chk(char *, unsigned long, int, unsigned long, const char *, void **);
-int __builtin___vsprintf_chk(char *, int, unsigned long, const char *, void **);
-int __builtin___fprintf_chk(struct _IO_FILE *, int, const char *, ...);
-int __builtin___printf_chk(int, const char *, ...);
-int __builtin___vfprintf_chk(struct _IO_FILE *, int, const char *, void **);
-int __builtin___vprintf_chk(int, const char *, void **);
-void __cyg_profile_func_enter(void *, void *);
-void __cyg_profile_func_exit(void *, void *);
-void * __builtin_thread_pointer();
-void __builtin_set_thread_pointer(void *);
-
-
-void __builtin_unwind_resume();
-void __builtin_cxa_end_cleanup();
-void __builtin_eh_pointer();
-void __builtin_eh_filter();
-void __builtin_eh_copy_values();
-const char * __builtin_FILE();
-const char * __builtin_FUNCTION();
-int __builtin_LINE();
-typedef void ** __builtin_va_list;
-extern const char *__PRETTY_FUNCTION__;
-typedef int wchar_t;
Index: src/libcfa/prelude.cf
===================================================================
--- src/libcfa/prelude.cf	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,615 +1,0 @@
-//                               -*- Mode: C -*- 
-// 
-// Copyright (C) Glen Ditchfield 1994, 1999
-// 
-// prelude.cf -- Standard Cforall Preample for C99
-// 
-// Author           : Glen Ditchfield
-// Created On       : Sat Nov 29 07:23:41 2014
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun  9 14:43:47 2015
-// Update Count     : 75
-//
-
-// Following line added from stddef.h by build
-
-typedef long int ptrdiff_t;
-
-// Section numbers from: http://plg.uwaterloo.ca/~cforall/refrat.pdf
-
-// ------------------------------------------------------------
-//
-// Section 4.1 Primary Expressions
-//
-// ------------------------------------------------------------
-
-const int 0, 1;
-
-forall ( dtype DT ) const DT * const	0;
-forall ( ftype FT ) FT * const		0;
-
-// ------------------------------------------------------------
-//
-// Section 4.2 Postfix Operators
-//
-// ------------------------------------------------------------
-
-_Bool			?++( _Bool * ),				?++( volatile _Bool * );
-_Bool			?--( _Bool * ),				?--( volatile _Bool * );
-unsigned char		?++( unsigned char * ),			?++( volatile unsigned char * );
-signed int		?++( signed int * ),			?++( volatile signed int * );
-signed int		?--( signed int * ),			?--( volatile signed int * );
-unsigned int		?++( unsigned int * ),			?++( volatile unsigned int * );
-unsigned int		?--( unsigned int * ),			?--( volatile unsigned int * );
-signed long int		?++( signed long int * ),		?++( volatile signed long int * );
-signed long int		?--( signed long int * ),		?--( volatile signed long int * );
-unsigned long int	?++( unsigned long int * ),		?++( volatile unsigned long int * );
-unsigned long int	?--( unsigned long int * ),		?--( volatile unsigned long int * );
-signed long long int	?++( signed long long int * ),		?++( volatile signed long long int * );
-signed long long int	?--( signed long long int * ),		?--( volatile signed long long int * );
-unsigned long long int	?++( unsigned long long int * ),	?++( volatile unsigned long long int * );
-unsigned long long int	?--( unsigned long long int * ),	?--( volatile unsigned long long int * );
-float			?++( float * ),				?++( volatile float * );
-float			?--( float * ),				?--( volatile float * );
-double			?++( double * ),			?++( volatile double * );
-double			?--( double * ),			?--( volatile double * );
-long double		?++( long double * ),			?++( volatile long double * );
-long double		?--( long double * ),			?--( volatile long double * );
-float _Complex		?++( float _Complex * ),		?++( volatile float _Complex * );
-float _Complex		?--( float _Complex * ),		?--( volatile float _Complex * );
-double _Complex		?++( double _Complex * ),		?++( volatile double _Complex * );
-double _Complex		?--( double _Complex * ),		?--( volatile double _Complex * );
-long double _Complex	?++( long double _Complex * ),		?++( volatile long double _Complex * );
-long double _Complex	?--( long double _Complex * ),		?--( volatile long double _Complex * );
-
-forall( type T ) T *			 ?++(		     T ** );
-forall( type T ) const T *		 ?++( const	     T ** );
-forall( type T ) volatile T *		 ?++(	    volatile T ** );
-forall( type T ) const volatile T *	 ?++( const volatile T ** );
-forall( type T ) T *			 ?--(		     T ** );
-forall( type T ) const T *		 ?--( const	     T ** );
-forall( type T ) volatile T *		 ?--(	    volatile T ** );
-forall( type T ) const volatile T *	 ?--( const volatile T ** );
-
-forall( type T ) lvalue T		 ?[?](		      T *,	    ptrdiff_t );
-forall( type T ) const lvalue T		 ?[?]( const	      T *,	    ptrdiff_t );
-forall( type T ) volatile lvalue T	 ?[?](       volatile T *,	    ptrdiff_t );
-forall( type T ) const volatile lvalue T ?[?]( const volatile T *,	    ptrdiff_t );
-forall( type T ) lvalue T		 ?[?](		ptrdiff_t,		  T * );
-forall( type T ) const lvalue T		 ?[?](		ptrdiff_t, const	  T * );
-forall( type T ) volatile lvalue T	 ?[?](		ptrdiff_t,	 volatile T * );
-forall( type T ) const volatile lvalue T ?[?](		ptrdiff_t, const volatile T * );
-
-// ------------------------------------------------------------
-//
-// Section 4.3 Unary Operators
-//
-// ------------------------------------------------------------
-
-_Bool			++?( _Bool * ),				--?( _Bool * );
-signed int		++?( signed int * ),			--?( signed int * );
-unsigned int		++?( unsigned int * ),			--?( unsigned int * );
-signed long int		++?( signed long int * ),		--?( signed long int * );
-unsigned long int	++?( unsigned long int * ),		--?( unsigned long int * );
-signed long long int	++?( signed long long int * ),		--?( signed long long int * );
-unsigned long long int	++?( unsigned long long int * ),	--?( unsigned long long int * );
-float			++?( float * ),				--?( float * );
-double			++?( double * ),			--?( double * );
-long double		++?( long double * ),			--?( long double * );
-float _Complex		++?( float _Complex * ),		--?( float _Complex * );
-double _Complex		++?( double _Complex * ),		--?( double _Complex * );
-long double _Complex	++?( long double _Complex * ),		--?( long double _Complex * );
-
-forall( type T ) T *			 ++?(		     T ** );
-forall( type T ) const T *		 ++?( const	     T ** );
-forall( type T ) volatile T *		 ++?(	    volatile T ** );
-forall( type T ) const volatile T *	 ++?( const volatile T ** );
-forall( type T ) T *			 --?(		     T ** );
-forall( type T ) const T *		 --?( const	     T ** );
-forall( type T ) volatile T *		 --?(	    volatile T ** );
-forall( type T ) const volatile T *	 --?( const volatile T ** );
-
-forall( type T ) lvalue T		 *?(		     T * );
-forall( type T ) const lvalue T		 *?( const	     T * );
-forall( type T ) volatile lvalue T	 *?(       volatile  T * );
-forall( type T ) const volatile lvalue T *?( const volatile  T * );
-forall( ftype FT ) lvalue FT		 *?( FT * );
-
-_Bool			+?( _Bool ),			-?( _Bool ),			~?( _Bool );	     
-signed int		+?( signed int ),		-?( signed int ),		~?( signed int );	     
-unsigned int		+?( unsigned int ),		-?( unsigned int ),		~?( unsigned int );	     
-signed long int		+?( signed long int ),		-?( signed long int ),		~?( signed long int );	     
-unsigned long int	+?( unsigned long int ),	-?( unsigned long int ),	~?( unsigned long int );	     
-signed long long int	+?( signed long long int ),	-?( signed long long int ),	~?( signed long long int );    
-unsigned long long int	+?( unsigned long long int ),	-?( unsigned long long int ),	~?( unsigned long long int );  
-float			+?( float ),			-?( float );
-double			+?( double ),			-?( double );
-long double		+?( long double ),		-?( long double );
-float _Complex		+?( float _Complex ),		-?( float _Complex );
-double _Complex		+?( double _Complex ),		-?( double _Complex );
-long double _Complex	+?( long double _Complex ),	-?( long double _Complex );
-
-signed int	!?( signed int ),		!?( unsigned int ),
-		!?( long int ),			!?( unsigned long int ),
-		!?( long long int ),		!?( unsigned long long int ),
-		!?( float ),			!?( double ),			!?( long double ),
-		!?( float _Complex ),		!?( double _Complex ),		!?( long double _Complex );
-
-forall ( dtype DT ) int !?( const volatile DT * );
-forall ( ftype FT ) int !?( FT * );
-
-// ------------------------------------------------------------
-//
-// Section 4.5 Multiplicative Operators
-//
-// ------------------------------------------------------------
-
-_Bool			?*?( _Bool, _Bool ),					?/?( _Bool, _Bool ),				?%?( _Bool, _Bool );
-signed int		?*?( signed int, signed int ),				?/?( signed int, signed int ),			?%?( signed int, signed int );
-unsigned int		?*?( unsigned int, unsigned int ),			?/?( unsigned int, unsigned int ),		?%?( unsigned int, unsigned int );
-signed long int		?*?( signed long int, signed long int ),		?/?( signed long int, signed long int ),	?%?( signed long int, signed long int );
-unsigned long int	?*?( unsigned long int, unsigned long int ),		?/?( unsigned long int, long unsigned ),	?%?( long unsigned, long unsigned );
-signed long long int	?*?( signed long long int, signed long long int ),	?/?( signed long long int, signed long long int ), ?%?( signed long long int, signed long long int );
-unsigned long long int	?*?( unsigned long long int, unsigned long long int ),	?/?( unsigned long long int, long long unsigned ), ?%?( long long unsigned, long long unsigned );
-float			?*?( float, float ),					?/?( float, float );
-double			?*?( double, double ),					?/?( double, double );
-long double		?*?( long double, long double ),			?/?( long double, long double );
-// gcc does not support _Imaginary
-//float _Imaginary	?*?( float _Imaginary, float _Imaginary),		?/?( float _Imaginary, float _Imaginary );
-//double _Imaginary	?*?( double _Imaginary, double _Imaginary),		?/?( double _Imaginary, double _Imaginary );
-//long double _Imaginary	?*?( long double _Imaginary, long double _Imaginary),	?/?( long double _Imaginary, long double _Imaginary );
-float _Complex		?*?( float _Complex, float _Complex ),			?/?( float _Complex, float _Complex );
-double _Complex		?*?( double _Complex, double _Complex ),		?/?( double _Complex, double _Complex );
-long double _Complex	?*?( long double _Complex, long double _Complex ),	?/?( long double _Complex, long double _Complex );
-
-// ------------------------------------------------------------
-//
-// Section 4.6 Additive Operators
-//
-// ------------------------------------------------------------
-
-_Bool			?+?( _Bool, _Bool ),					?-?( _Bool, _Bool );
-signed int		?+?( signed int, signed int ),				?-?( signed int, signed int );
-unsigned int		?+?( unsigned int, unsigned int ),			?-?( unsigned int, unsigned int );
-signed long int		?+?( signed long int, signed long int ),		?-?( signed long int, signed long int );
-unsigned long int	?+?( unsigned long int, unsigned long int ),		?-?( unsigned long int, long unsigned );
-signed long long int	?+?( signed long long int, long long int  signed),	?-?( signed long long int, signed long long int );
-unsigned long long int	?+?( unsigned long long int, unsigned long long int ),	?-?( unsigned long long int, long long unsigned );
-float			?+?( float, float ),					?-?( float, float );
-double			?+?( double, double ),					?-?( double, double );
-long double		?+?( long double, long double ),			?-?( long double, long double );
-float _Complex		?+?( float _Complex, float _Complex ),			?-?( float _Complex, float _Complex );
-double _Complex		?+?( double _Complex, double _Complex ),		?-?( double _Complex, double _Complex );
-long double _Complex	?+?( long double _Complex, long double _Complex ),	?-?( long double _Complex, long double _Complex );
-
-forall( type T ) T *			?+?(		    T *,	  ptrdiff_t );
-forall( type T ) T *			?+?(	      ptrdiff_t,		T * );
-forall( type T ) const T *		?+?( const	    T *,	  ptrdiff_t );
-forall( type T ) const T *		?+?(	      ptrdiff_t, const		T * );
-forall( type T ) volatile T *		?+?(	   volatile T *,	  ptrdiff_t );
-forall( type T ) volatile T *		?+?(	      ptrdiff_t,       volatile T * );
-forall( type T ) const volatile T *	?+?( const volatile T *,	  ptrdiff_t );
-forall( type T ) const volatile T *	?+?(	      ptrdiff_t, const volatile T * );
-forall( type T ) T *			?-?(		    T *,	  ptrdiff_t );
-forall( type T ) const T *		?-?( const	    T *,	  ptrdiff_t );
-forall( type T ) volatile T *		?-?(	   volatile T *,	  ptrdiff_t );
-forall( type T ) const volatile T *	?-?( const volatile T *,	  ptrdiff_t );
-forall( type T ) ptrdiff_t		?-?( const volatile T *, const volatile T * );
-
-// ------------------------------------------------------------
-//
-// Section 4.7 Bitwise Shift Operators
-//
-// ------------------------------------------------------------
-
-_Bool			?<<?( _Bool, _Bool ),				?>>?( _Bool, _Bool );
-signed int		?<<?( signed int, signed int ),			?>>?( signed int, signed int );
-unsigned int		?<<?( unsigned int, unsigned int ),		?>>?( unsigned int, unsigned int );
-signed long int		?<<?( signed long int, signed long int ),	?>>?( signed long int, signed long int );
-unsigned long int	?<<?( unsigned long int, long unsigned ),	?>>?( unsigned long int, unsigned long int );
-
-// ------------------------------------------------------------
-//
-// Section 4.8 Relational Operators
-//
-// ------------------------------------------------------------
-
-signed int ?<?( _Bool, _Bool ),				?<=?( _Bool, _Bool ),
-	   ?>?( _Bool, _Bool ),				?>=?( _Bool, _Bool );
-signed int ?<?( unsigned char, unsigned char ),		?<=?( unsigned char, unsigned char ),
-	   ?>?( unsigned char, unsigned char ),		?>=?( unsigned char, unsigned char );
-signed int ?<?( signed int, signed int ),		?<=?( signed int, signed int ),
-	   ?>?( signed int, signed int ),		?>=?( signed int, signed int );
-signed int ?<?( unsigned int, unsigned int ),		?<=?( unsigned int, unsigned int ),
-	   ?>?( unsigned int, unsigned int ),		?>=?( unsigned int, unsigned int );
-signed int ?<?( signed long int, signed long int ),	?<=?( signed long int, signed long int ),
-	   ?>?( signed long int, signed long int ),	?>=?( signed long int, signed long int );
-signed int ?<?( unsigned long int, unsigned long int ),	?<=?( unsigned long int, unsigned long int ),
-	   ?>?( unsigned long int, unsigned long int ),	?>=?( unsigned long int, unsigned long int );
-signed int ?<?( float, float ),				?<=?( float, float ),
-	   ?>?( float, float ),				?>=?( float, float );
-signed int ?<?( double, double ),			?<=?( double, double ),
-	   ?>?( double, double ),			?>=?( double, double );
-signed int ?<?( long double, long double ),		?<=?( long double, long double ),
-	   ?>?( long double, long double ),		?>=?( long double, long double );
-
-forall( dtype DT ) signed int ?<?(  const volatile DT *, const volatile DT * );
-forall( dtype DT ) signed int ?>?(  const volatile DT *, const volatile DT * );
-forall( dtype DT ) signed int ?<=?( const volatile DT *, const volatile DT * );
-forall( dtype DT ) signed int ?>=?( const volatile DT *, const volatile DT * );
-
-// ------------------------------------------------------------
-//
-// Section 4.9 Equality Operators
-//
-// ------------------------------------------------------------
-
-signed int ?==?( _Bool, _Bool ),				?!=?( _Bool, _Bool );
-signed int ?==?( signed int, signed int ),			?!=?( signed int, signed int );
-signed int ?==?( unsigned int, unsigned int ),			?!=?( unsigned int, unsigned int );
-signed int ?==?( signed long int, signed long int ),		?!=?( signed long int, signed long int );
-signed int ?==?( unsigned long int, unsigned long int ),	?!=?( unsigned long int, long unsigned );
-signed int ?==?( signed long long int, long long int  signed),	?!=?( signed long long int, signed long long int );
-signed int ?==?( unsigned long long int, unsigned long long int ), ?!=?( unsigned long long int, long long unsigned );
-signed int ?==?( float, float ),				?!=?( float, float );
-signed int ?==?( double, double ),				?!=?( double, double );
-signed int ?==?( long double, long double ),			?!=?( long double, long double );
-signed int ?==?( float _Complex, float _Complex ),		?!=?( float _Complex, float _Complex );
-signed int ?==?( double _Complex, double _Complex ),		?!=?( double _Complex, double _Complex );
-signed int ?==?( long double _Complex, long double _Complex ),	?!=?( long double _Complex, long double _Complex );
-
-forall( dtype DT ) signed int ?==?(		   DT *,		DT * );
-forall( dtype DT ) signed int ?==?( const	   DT *, const		DT * );
-forall( dtype DT ) signed int ?==?(       volatile DT *,       volatile DT * );
-forall( dtype DT ) signed int ?==?( const volatile DT *, const volatile DT * );
-forall( ftype FT ) signed int ?==?( FT *, FT * );
-forall( dtype DT ) signed int ?!=?(		   DT *,		DT * );
-forall( dtype DT ) signed int ?!=?( const	   DT *, const		DT * );
-forall( dtype DT ) signed int ?!=?(       volatile DT *,       volatile DT * );
-forall( dtype DT ) signed int ?!=?( const volatile DT *, const volatile DT * );
-forall( ftype FT ) signed int ?!=?( FT *, FT * );
-
-forall( dtype DT ) signed int ?==?( const volatile DT   *, const volatile void * );
-forall( dtype DT ) signed int ?==?( const volatile void *, const volatile DT * );
-forall( dtype DT ) signed int ?!=?( const volatile DT   *, const volatile void * );
-forall( dtype DT ) signed int ?!=?( const volatile void *, const volatile DT * );
-
-forall( dtype DT ) signed int ?==?( const volatile DT *, forall( dtype DT2 )const DT2 * );
-forall( dtype DT ) signed int ?==?( forall( dtype DT2 )const DT2 *, const volatile DT * );
-forall( ftype FT ) signed int ?==?( FT *, forall( ftype FT2 )FT2 * );
-forall( ftype FT ) signed int ?==?( forall( ftype FT2 )FT2 *, FT * );
-forall( dtype DT ) signed int ?!=?( const volatile DT *, forall( dtype DT2 )const DT2 * );
-forall( dtype DT ) signed int ?!=?( forall( dtype DT2 )const DT2 *, const volatile DT * );
-forall( ftype FT ) signed int ?!=?( FT *, forall( ftype FT2 )FT2 * );
-forall( ftype FT ) signed int ?!=?( forall( ftype FT2 )FT2 *, FT * );
-
-// ------------------------------------------------------------
-//
-// Section 4.10 Bitwise AND Operators
-//
-// ------------------------------------------------------------
-
-_Bool			?&?( _Bool, _Bool );
-signed int		?&?( signed int, signed int );
-unsigned int		?&?( unsigned int, unsigned int );
-signed long int		?&?( signed long int, signed long int );
-unsigned long int	?&?( unsigned long int, unsigned long int );
-
-// ------------------------------------------------------------
-//
-// Section 4.11 Bitwise XOR Operators
-//
-// ------------------------------------------------------------
-
-_Bool			?^?( _Bool, _Bool );
-signed int		?^?( signed int, signed int );
-unsigned int		?^?( unsigned int, unsigned int );
-signed long int		?^?( signed long int, signed long int );
-unsigned long int	?^?( unsigned long int, unsigned long int );
-
-// ------------------------------------------------------------
-//
-// Section 4.12 Bitwise OR Operators
-//
-// ------------------------------------------------------------
-
-_Bool			?|?( _Bool, _Bool );
-signed int		?|?( signed int, signed int );
-unsigned int		?|?( unsigned int, unsigned int );
-signed long int		?|?( signed long int, signed long int );
-unsigned long int	?|?( unsigned long int, unsigned long int );
-
-// ------------------------------------------------------------
-//
-// Section 4.16 Assignment Operator
-//
-// ------------------------------------------------------------
-
-forall( ftype FT ) FT *			?=?( FT **, FT * );
-forall( ftype FT ) FT *			?=?( FT * volatile *, FT * );
-
-forall( dtype DT ) DT *			?=?(		     DT *	   *,			DT * );
-forall( dtype DT ) DT *			?=?(		     DT * volatile *,			DT * );
-forall( dtype DT ) const DT *		?=?( const	     DT *	   *,			DT * );
-forall( dtype DT ) const DT *		?=?( const	     DT * volatile *,			DT * );
-forall( dtype DT ) const DT *		?=?( const	     DT *	   *, const		DT * );
-forall( dtype DT ) const DT *		?=?( const	     DT * volatile *, const		DT * );
-forall( dtype DT ) volatile DT *	?=?(	   volatile  DT *	   *,			DT * );
-forall( dtype DT ) volatile DT *	?=?(	   volatile  DT * volatile *,			DT * );
-forall( dtype DT ) volatile DT *	?=?(	   volatile  DT *	   *,	    volatile	DT * );
-forall( dtype DT ) volatile DT *	?=?(	   volatile  DT * volatile *,	    volatile	DT * );
-
-forall( dtype DT ) const volatile DT *	?=?( const volatile  DT *	   *,			DT * );
-forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,			DT * );
-forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *	   *, const		DT * );
-forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const		DT * );
-forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *	   *,	    volatile	DT * );
-forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,	    volatile	DT * );
-forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *	   *, const volatile	DT * );
-forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const volatile	DT * );
-
-forall( dtype DT ) DT *			?=?(		     DT *	   *,			void * );
-forall( dtype DT ) DT *			?=?(		     DT * volatile *,			void * );
-forall( dtype DT ) const DT *		?=?( const	     DT *	   *,			void * );
-forall( dtype DT ) const DT *		?=?( const	     DT * volatile *,			void * );
-forall( dtype DT ) const DT *		?=?( const	     DT *	   *, const		void * );
-forall( dtype DT ) const DT *		?=?( const	     DT * volatile *, const		void * );
-forall( dtype DT ) volatile DT *	?=?(	   volatile  DT *	   *,			void * );
-forall( dtype DT ) volatile DT *	?=?(	   volatile  DT * volatile *,			void * );
-forall( dtype DT ) volatile DT *	?=?(	   volatile  DT *	   *,	    volatile	void * );
-forall( dtype DT ) volatile DT *	?=?(	   volatile  DT * volatile *,	    volatile	void * );
-
-forall( dtype DT ) const volatile DT *	?=?( const volatile  DT *	   *,			void * );
-forall( dtype DT ) const volatile DT *	?=?( const volatile  DT * volatile *,			void * );
-forall( dtype DT ) const volatile DT *	?=?( const volatile  DT *	   *, const		void * );
-forall( dtype DT ) const volatile DT *	?=?( const volatile  DT * volatile *, const		void * );
-forall( dtype DT ) const volatile DT *	?=?( const volatile  DT *	   *,	    volatile	void * );
-forall( dtype DT ) const volatile DT *	?=?( const volatile  DT * volatile *,	    volatile	void * );
-forall( dtype DT ) const volatile DT *	?=?( const volatile  DT *	   *, const volatile	void * );
-forall( dtype DT ) const volatile DT *	?=?( const volatile  DT * volatile *, const volatile	void * );
-
-forall( dtype DT ) void *		 ?=?(		     void *	     *,			DT * );
-forall( dtype DT ) void *		 ?=?(		     void * volatile *,			DT * );
-forall( dtype DT ) const void *		 ?=?( const	     void *	     *,			DT * );
-forall( dtype DT ) const void *		 ?=?( const	     void * volatile *,			DT * );
-forall( dtype DT ) const void *		 ?=?( const	     void *	     *, const		DT * );
-forall( dtype DT ) const void *		 ?=?( const	     void * volatile *, const		DT * );
-forall( dtype DT ) volatile void *	 ?=?(	    volatile void *	     *,			DT * );
-forall( dtype DT ) volatile void *	 ?=?(	    volatile void * volatile *,			DT * );
-forall( dtype DT ) volatile void *	 ?=?(	    volatile void *	     *,	      volatile	DT * );
-forall( dtype DT ) volatile void *	 ?=?(	    volatile void * volatile *,	      volatile	DT * );
-forall( dtype DT ) const volatile void * ?=?( const volatile void *	     *,			DT * );
-forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile *,			DT * );
-forall( dtype DT ) const volatile void * ?=?( const volatile void *	     *, const		DT * );
-forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile *, const		DT * );
-forall( dtype DT ) const volatile void * ?=?( const volatile void *	     *,	      volatile	DT * );
-forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile *,	      volatile	DT * );
-forall( dtype DT ) const volatile void * ?=?( const volatile void *	     *, const volatile	DT * );
-forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile *, const volatile	DT * );
-
-void *			?=?(		    void *	    *,		      void * );
-void *			?=?(		    void * volatile *,		      void * );
-const void *		?=?( const	    void *	    *,		      void * );
-const void *		?=?( const	    void * volatile *,		      void * );
-const void *		?=?( const	    void *	    *, const	      void * );
-const void *		?=?( const	    void * volatile *, const	      void * );
-volatile void *		?=?(	   volatile void *	    *,		      void * );
-volatile void *		?=?(	   volatile void * volatile *,		      void * );
-volatile void *		?=?(	   volatile void *	    *,	     volatile void * );
-volatile void *		?=?(	   volatile void * volatile *,	     volatile void * );
-const volatile void *	?=?( const volatile void *	    *,		      void * );
-const volatile void *	?=?( const volatile void * volatile *,		      void * );
-const volatile void *	?=?( const volatile void *	    *, const	      void * );
-const volatile void *	?=?( const volatile void * volatile *, const	      void * );
-const volatile void *	?=?( const volatile void *	    *,	     volatile void * );
-const volatile void *	?=?( const volatile void * volatile *,	     volatile void * );
-const volatile void *	?=?( const volatile void *	    *, const volatile void * );
-const volatile void *	?=?( const volatile void * volatile *, const volatile void * );
-
-//forall( dtype DT ) DT *			?=?(		    DT *	  *, forall( dtype DT2 ) const DT2 * );
-//forall( dtype DT ) DT *			?=?(		    DT * volatile *, forall( dtype DT2 ) const DT2 * );
-forall( dtype DT ) const DT *		?=?( const	    DT *	  *, forall( dtype DT2 ) const DT2 * );
-forall( dtype DT ) const DT *		?=?( const	    DT * volatile *, forall( dtype DT2 ) const DT2 * );
-//forall( dtype DT ) volatile DT *	?=?( volatile	    DT *	  *, forall( dtype DT2 ) const DT2 * );
-//forall( dtype DT ) volatile DT *	?=?( volatile	    DT * volatile *, forall( dtype DT2 ) const DT2 * );
-forall( dtype DT ) const volatile DT *	?=?( const volatile DT *	  *, forall( dtype DT2 ) const DT2 * );
-forall( dtype DT ) const volatile DT *	?=?( const volatile DT * volatile *, forall( dtype DT2 ) const DT2 * );
-
-forall( ftype FT ) FT *			?=?( FT *	   *, forall( ftype FT2 ) FT2 * );
-forall( ftype FT ) FT *			?=?( FT * volatile *, forall( ftype FT2 ) FT2 * );
-
-forall( type T ) T *			?+=?(		     T *	  *, ptrdiff_t );
-forall( type T ) T *			?+=?(		     T * volatile *, ptrdiff_t );
-forall( type T ) const T *		?+=?( const	     T *	  *, ptrdiff_t );
-forall( type T ) const T *		?+=?( const	     T * volatile *, ptrdiff_t );
-forall( type T ) volatile T *		?+=?(	    volatile T *	  *, ptrdiff_t );
-forall( type T ) volatile T *		?+=?(	    volatile T * volatile *, ptrdiff_t );
-forall( type T ) const volatile T *	?+=?( const volatile T *	  *, ptrdiff_t );
-forall( type T ) const volatile T *	?+=?( const volatile T * volatile *, ptrdiff_t );
-forall( type T ) T *			?-=?(		     T *	  *, ptrdiff_t );
-forall( type T ) T *			?-=?(		     T * volatile *, ptrdiff_t );
-forall( type T ) const T *		?-=?( const	     T *	  *, ptrdiff_t );
-forall( type T ) const T *		?-=?( const	     T * volatile *, ptrdiff_t );
-forall( type T ) volatile T *		?-=?(	    volatile T *	  *, ptrdiff_t );
-forall( type T ) volatile T *		?-=?(	    volatile T * volatile *, ptrdiff_t );
-forall( type T ) const volatile T *	?-=?( const volatile T *	  *, ptrdiff_t );
-forall( type T ) const volatile T *	?-=?( const volatile T * volatile *, ptrdiff_t );
-
-_Bool			?=?( _Bool *, _Bool ),					?=?( volatile _Bool *, _Bool );
-char			?=?( char *, char ),					?=?( volatile char *, char );
-char signed		?=?( char signed *, char signed ),			?=?( volatile char signed *, char signed );
-char unsigned		?=?( char unsigned *, char unsigned ),			?=?( volatile char unsigned *, char unsigned );
-int short		?=?( int short *, int short ),				?=?( volatile int short *, int short );
-int short unsigned	?=?( int short unsigned *, int short unsigned ),	?=?( volatile int short unsigned *, int short unsigned );
-signed int		?=?( signed int *, signed int ),			?=?( volatile signed int *, signed int );
-unsigned int		?=?( unsigned *, unsigned ),				?=?( volatile unsigned *, unsigned );
-signed long int		?=?( signed long int *, signed long int ),		?=?( volatile signed long int *, signed long int );
-unsigned long int	?=?( unsigned long int *, unsigned long int ),		?=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?=?( signed long long int *, signed long long int ),	?=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?=?( unsigned long long int *, unsigned long long int ), ?=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?*=?( _Bool *, _Bool ),					?*=?( volatile _Bool *, _Bool );
-char			?*=?( char *, char ),					?*=?( volatile char *, char );
-char signed		?*=?( char signed *, char signed ),			?*=?( volatile char signed *, char signed );
-char unsigned		?*=?( char unsigned *, char unsigned ),			?*=?( volatile char unsigned *, char unsigned );
-int short		?*=?( int short *, int short ),				?*=?( volatile int short *, int short );
-int short unsigned	?*=?( int short unsigned *, int short unsigned ),	?*=?( volatile int short unsigned *, int short unsigned );
-signed int		?*=?( signed int *, signed int ),			?*=?( volatile signed int *, signed int );
-unsigned int		?*=?( unsigned *, unsigned ),				?*=?( volatile unsigned *, unsigned );
-signed long int		?*=?( signed long int *, signed long int ),		?*=?( volatile signed long int *, signed long int );
-unsigned long int	?*=?( unsigned long int *, unsigned long int ),		?*=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?*=?( signed long long int *, signed long long int ),	?*=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?*=?( unsigned long long int *, unsigned long long int ), ?*=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?/=?( _Bool *, _Bool ),					?/=?( volatile _Bool *, _Bool );
-char			?/=?( char *, char ),					?/=?( volatile char *, char );
-char signed		?/=?( char signed *, char signed ),			?/=?( volatile char signed *, char signed );
-char unsigned		?/=?( char unsigned *, char unsigned ),			?/=?( volatile char unsigned *, char unsigned );
-int short		?/=?( int short *, int short ),				?/=?( volatile int short *, int short );
-int short unsigned	?/=?( int short unsigned *, int short unsigned ),	?/=?( volatile int short unsigned *, int short unsigned );
-signed int		?/=?( signed int *, signed int ),			?/=?( volatile signed int *, signed int );
-unsigned int		?/=?( unsigned *, unsigned ),				?/=?( volatile unsigned *, unsigned );
-signed long int		?/=?( signed long int *, signed long int ),		?/=?( volatile signed long int *, signed long int );
-unsigned long int	?/=?( unsigned long int *, unsigned long int ),		?/=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?/=?( signed long long int *, signed long long int ),	?/=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?/=?( unsigned long long int *, unsigned long long int ), ?/=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?%=?( _Bool *, _Bool ),					?%=?( volatile _Bool *, _Bool );
-char			?%=?( char *, char ),					?%=?( volatile char *, char );
-char signed		?%=?( char signed *, char signed ),			?%=?( volatile char signed *, char signed );
-char unsigned		?%=?( char unsigned *, char unsigned ),			?%=?( volatile char unsigned *, char unsigned );
-int short		?%=?( int short *, int short ),				?%=?( volatile int short *, int short );
-int short unsigned	?%=?( int short unsigned *, int short unsigned ),	?%=?( volatile int short unsigned *, int short unsigned );
-signed int		?%=?( signed int *, signed int ),			?%=?( volatile signed int *, signed int );
-unsigned int		?%=?( unsigned *, unsigned ),				?%=?( volatile unsigned *, unsigned );
-signed long int		?%=?( signed long int *, signed long int ),		?%=?( volatile signed long int *, signed long int );
-unsigned long int	?%=?( unsigned long int *, unsigned long int ),		?%=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?%=?( signed long long int *, signed long long int ),	?%=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?%=?( unsigned long long int *, unsigned long long int ), ?%=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?+=?( _Bool *, _Bool ),					?+=?( volatile _Bool *, _Bool );
-char			?+=?( char *, char ),					?+=?( volatile char *, char );
-char signed		?+=?( char signed *, char signed ),			?+=?( volatile char signed *, char signed );
-char unsigned		?+=?( char unsigned *, char unsigned ),			?+=?( volatile char unsigned *, char unsigned );
-int short		?+=?( int short *, int short ),				?+=?( volatile int short *, int short );
-int short unsigned	?+=?( int short unsigned *, int short unsigned ),	?+=?( volatile int short unsigned *, int short unsigned );
-signed int		?+=?( signed int *, signed int ),			?+=?( volatile signed int *, signed int );
-unsigned int		?+=?( unsigned *, unsigned ),				?+=?( volatile unsigned *, unsigned );
-signed long int		?+=?( signed long int *, signed long int ),		?+=?( volatile signed long int *, signed long int );
-unsigned long int	?+=?( unsigned long int *, unsigned long int ),		?+=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?+=?( signed long long int *, signed long long int ),	?+=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?+=?( unsigned long long int *, unsigned long long int ), ?+=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?-=?( _Bool *, _Bool ),					?-=?( volatile _Bool *, _Bool );
-char			?-=?( char *, char ),					?-=?( volatile char *, char );
-char signed		?-=?( char signed *, char signed ),			?-=?( volatile char signed *, char signed );
-char unsigned		?-=?( char unsigned *, char unsigned ),			?-=?( volatile char unsigned *, char unsigned );
-int short		?-=?( int short *, int short ),				?-=?( volatile int short *, int short );
-int short unsigned	?-=?( int short unsigned *, int short unsigned ),	?-=?( volatile int short unsigned *, int short unsigned );
-signed int		?-=?( signed int *, signed int ),			?-=?( volatile signed int *, signed int );
-unsigned int		?-=?( unsigned *, unsigned ),				?-=?( volatile unsigned *, unsigned );
-signed long int		?-=?( signed long int *, signed long int ),		?-=?( volatile signed long int *, signed long int );
-unsigned long int	?-=?( unsigned long int *, unsigned long int ),		?-=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?-=?( signed long long int *, signed long long int ),	?-=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?-=?( unsigned long long int *, unsigned long long int ), ?-=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?<<=?( _Bool *, _Bool ),				?<<=?( volatile _Bool *, _Bool );
-char			?<<=?( char *, char ),					?<<=?( volatile char *, char );
-char signed		?<<=?( char signed *, char signed ),			?<<=?( volatile char signed *, char signed );
-char unsigned		?<<=?( char unsigned *, char unsigned ),		?<<=?( volatile char unsigned *, char unsigned );
-int short		?<<=?( int short *, int short ),			?<<=?( volatile int short *, int short );
-int short unsigned	?<<=?( int short unsigned *, int short unsigned ),	?<<=?( volatile int short unsigned *, int short unsigned );
-signed int		?<<=?( signed int *, signed int ),			?<<=?( volatile signed int *, signed int );
-unsigned int		?<<=?( unsigned *, unsigned ),				?<<=?( volatile unsigned *, unsigned );
-signed long int		?<<=?( signed long int *, signed long int ),		?<<=?( volatile signed long int *, signed long int );
-unsigned long int	?<<=?( unsigned long int *, unsigned long int ),	?<<=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?<<=?( signed long long int *, signed long long int ),	?<<=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?<<=?( unsigned long long int *, unsigned long long int ), ?<<=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?>>=?( _Bool *, _Bool ),				?>>=?( volatile _Bool *, _Bool );
-char			?>>=?( char *, char ),					?>>=?( volatile char *, char );
-char signed		?>>=?( char signed *, char signed ),			?>>=?( volatile char signed *, char signed );
-char unsigned		?>>=?( char unsigned *, char unsigned ),		?>>=?( volatile char unsigned *, char unsigned );
-int short		?>>=?( int short *, int short ),			?>>=?( volatile int short *, int short );
-int short unsigned	?>>=?( int short unsigned *, int short unsigned ),	?>>=?( volatile int short unsigned *, int short unsigned );
-signed int		?>>=?( signed int *, signed int ),			?>>=?( volatile signed int *, signed int );
-unsigned int		?>>=?( unsigned *, unsigned ),				?>>=?( volatile unsigned *, unsigned );
-signed long int		?>>=?( signed long int *, signed long int ),		?>>=?( volatile signed long int *, signed long int );
-unsigned long int	?>>=?( unsigned long int *, unsigned long int ),	?>>=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?>>=?( signed long long int *, signed long long int ),	?>>=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?>>=?( unsigned long long int *, unsigned long long int ), ?>>=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?&=?( _Bool *, _Bool ),					?&=?( volatile _Bool *, _Bool );
-char			?&=?( char *, char ),					?&=?( volatile char *, char );
-char signed		?&=?( char signed *, char signed ),			?&=?( volatile char signed *, char signed );
-char unsigned		?&=?( char unsigned *, char unsigned ),			?&=?( volatile char unsigned *, char unsigned );
-int short		?&=?( int short *, int short ),				?&=?( volatile int short *, int short );
-int short unsigned	?&=?( int short unsigned *, int short unsigned ),	?&=?( volatile int short unsigned *, int short unsigned );
-signed int		?&=?( signed int *, signed int ),			?&=?( volatile signed int *, signed int );
-unsigned int		?&=?( unsigned *, unsigned ),				?&=?( volatile unsigned *, unsigned );
-signed long int		?&=?( signed long int *, signed long int ),		?&=?( volatile signed long int *, signed long int );
-unsigned long int	?&=?( unsigned long int *, unsigned long int ),		?&=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?&=?( signed long long int *, signed long long int ),	?&=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?&=?( unsigned long long int *, unsigned long long int ), ?&=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?|=?( _Bool *, _Bool ),					?|=?( volatile _Bool *, _Bool );
-char			?|=?( char *, char ),					?|=?( volatile char *, char );
-char signed		?|=?( char signed *, char signed ),			?|=?( volatile char signed *, char signed );
-char unsigned		?|=?( char unsigned *, char unsigned ),			?|=?( volatile char unsigned *, char unsigned );
-int short		?|=?( int short *, int short ),				?|=?( volatile int short *, int short );
-int short unsigned	?|=?( int short unsigned *, int short unsigned ),	?|=?( volatile int short unsigned *, int short unsigned );
-signed int		?|=?( signed int *, signed int ),			?|=?( volatile signed int *, signed int );
-unsigned int		?|=?( unsigned *, unsigned ),				?|=?( volatile unsigned *, unsigned );
-signed long int		?|=?( signed long int *, signed long int ),		?|=?( volatile signed long int *, signed long int );
-unsigned long int	?|=?( unsigned long int *, unsigned long int ),		?|=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?|=?( signed long long int *, signed long long int ),	?|=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?|=?( unsigned long long int *, unsigned long long int ), ?|=?( volatile unsigned long long int *, unsigned long long int );
-
-_Bool			?^=?( _Bool *, _Bool ),					?^=?( volatile _Bool *, _Bool );
-char			?^=?( char *, char ),					?^=?( volatile char *, char );
-char signed		?^=?( char signed *, char signed ),			?^=?( volatile char signed *, char signed );
-char unsigned		?^=?( char unsigned *, char unsigned ),			?^=?( volatile char unsigned *, char unsigned );
-int short		?^=?( int short *, int short ),				?^=?( volatile int short *, int short );
-int short unsigned	?^=?( int short unsigned *, int short unsigned ),	?^=?( volatile int short unsigned *, int short unsigned );
-signed int		?^=?( signed int *, signed int ),			?^=?( volatile signed int *, signed int );
-unsigned int		?^=?( unsigned *, unsigned ),				?^=?( volatile unsigned *, unsigned );
-signed long int		?^=?( signed long int *, signed long int ),		?^=?( volatile signed long int *, signed long int );
-unsigned long int	?^=?( unsigned long int *, unsigned long int ),		?^=?( volatile unsigned long int *, unsigned long int );
-signed long long int	?^=?( signed long long int *, signed long long int ),	?^=?( volatile signed long long int *, signed long long int );
-unsigned long long int	?^=?( unsigned long long int *, unsigned long long int ), ?^=?( volatile unsigned long long int *, unsigned long long int );
-
-float			?=?(  float *, float ), ?=?(  volatile float *, float ),
-			?*=?( float *, float ), ?*=?( volatile float *, float ),
-			?/=?( float *, float ), ?/=?( volatile float *, float ),
-			?+=?( float *, float ), ?+=?( volatile float *, float ),
-			?-=?( float *, float ), ?-=?( volatile float *, float );
-
-double			?=?(  double *, double ), ?=?(  volatile double *, double ),
-			?*=?( double *, double ), ?*=?( volatile double *, double ),
-			?/=?( double *, double ), ?/=?( volatile double *, double ),
-			?+=?( double *, double ), ?+=?( volatile double *, double ),
-			?-=?( double *, double ), ?-=?( volatile double *, double );
-
-long double		?=?(  long double *, long double ), ?=?(  volatile long double *, long double ),
-			?*=?( long double *, long double ), ?*=?( volatile long double *, long double ),
-			?/=?( long double *, long double ), ?/=?( volatile long double *, long double ),
-			?+=?( long double *, long double ), ?+=?( volatile long double *, long double ),
-			?-=?( long double *, long double ), ?-=?( volatile long double *, long double );
-
-float _Complex		?=?(  float _Complex *, float _Complex ), ?=?(  volatile float _Complex *, float _Complex ),
-			?*=?( float _Complex *, float _Complex ), ?*=?( volatile float _Complex *, float _Complex ),
-			?/=?( float _Complex *, float _Complex ), ?/=?( volatile float _Complex *, float _Complex ),
-			?+=?( float _Complex *, float _Complex ), ?+=?( volatile float _Complex *, float _Complex ),
-			?-=?( float _Complex *, float _Complex ), ?-=?( volatile float _Complex *, float _Complex );
-
-double _Complex		?=?(  double _Complex *, double _Complex ), ?=?(  volatile double _Complex *, double _Complex ),
-			?*=?( double _Complex *, double _Complex ), ?*=?( volatile double _Complex *, double _Complex ),
-			?/=?( double _Complex *, double _Complex ), ?/=?( volatile double _Complex *, double _Complex ),
-			?+=?( double _Complex *, double _Complex ), ?+=?( volatile double _Complex *, double _Complex ),
-			?-=?( double _Complex *, double _Complex ), ?-=?( volatile double _Complex *, double _Complex );
-
-long double _Complex	?=?(  long double _Complex *, long double _Complex ), ?=?(  volatile long double _Complex *, long double _Complex ),
-			?*=?( long double _Complex *, long double _Complex ), ?*=?( volatile long double _Complex *, long double _Complex ),
-			?/=?( long double _Complex *, long double _Complex ), ?/=?( volatile long double _Complex *, long double _Complex ),
-			?+=?( long double _Complex *, long double _Complex ), ?+=?( volatile long double _Complex *, long double _Complex ),
-			?-=?( long double _Complex *, long double _Complex ), ?-=?( volatile long double _Complex *, long double _Complex );
Index: src/libcfa/ptrdiff_t.c
===================================================================
--- src/libcfa/ptrdiff_t.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-#include <stddef.h>
Index: src/main.cc
===================================================================
--- src/main.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/main.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Fri May 15 23:12:02 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun 22 17:02:11 2015
-// Update Count     : 73
+// Last Modified On : Thu May 21 21:15:54 2015
+// Update Count     : 9
 //
 
@@ -51,30 +51,23 @@
 using namespace std;
 
-#define OPTPRINT(x) \
-	if ( errorp ) std::cerr << x << std::endl;
-
-void parse( FILE * input, LinkageSpec::Type t, bool shouldExit = false );
-
 bool
 	astp = false,
-	bresolvep = false,
 	exprp = false,
 	expraltp = false,
 	grammarp = false,
 	libcfap = false,
-	nopreludep = false,
-	protop = false,
-	parsep = false,
 	resolvep = false,									// used in AlternativeFinder
 	symtabp = false,
+	parsep = false,
 	validp = false,
-	errorp = false,
-	codegenp = false;
-
-enum { Ast, Bresolver, Expr, ExprAlt, Grammar, LibCFA, Nopreamble, Parse, Prototypes, Resolver, Symbol, Validate, };
+	preludep = true,
+	protop = false,
+	codegenp = false,
+	errorp = false;
+
+enum { Ast, Expr, ExprAlt, Grammar, LibCFA, Nopreamble, Prototypes, Resolver, Symbol, Parse, };
 
 static struct option long_opts[] = {
 	{ "ast", no_argument, 0, Ast },
-	{ "before-resolver", no_argument, 0, Bresolver },
 	{ "expr", no_argument, 0, Expr },
 	{ "expralt", no_argument, 0, ExprAlt },
@@ -82,9 +75,8 @@
 	{ "libcfa", no_argument, 0, LibCFA },
 	{ "nopreamble", no_argument, 0, Nopreamble },
-	{ "parse", no_argument, 0, Parse },
 	{ "prototypes", no_argument, 0, Prototypes },
 	{ "resolver", no_argument, 0, Resolver },
 	{ "symbol", no_argument, 0, Symbol },
-	{ "validate", no_argument, 0, Validate },
+	{ "parse", no_argument, 0, Parse },
 	{ 0, 0, 0, 0 }
 };
@@ -99,5 +91,5 @@
 	
 	int c;
-	while ( (c = getopt_long( argc, argv, "abefglnpqrsvyzD:", long_opts, &long_index )) != -1 ) {
+	while ( (c = getopt_long( argc, argv, "aefglnpqrsxyzD:", long_opts, &long_index )) != -1 ) {
 		switch ( c ) {
 		  case Ast:
@@ -105,8 +97,4 @@
 			astp = true;
 			break;
-		  case Bresolver:
-		  case 'b':										// print before resolver steps
-			bresolvep = true;
-			break;
 		  case Expr:
 		  case 'e':										// dump AST after expression analysis
@@ -127,5 +115,5 @@
 		  case Nopreamble:
 		  case 'n':										// do not read preamble
-			nopreludep = true;
+			preludep = false;
 			break;
 		  case Prototypes:
@@ -145,5 +133,5 @@
 			symtabp = true;
 			break;
-		  case 'v':										// dump AST after decl validation pass
+		  case 'x':										// dump AST after decl validation pass
 			validp = true;
 			break;
@@ -165,5 +153,4 @@
 
 	try {
-		// choose to read the program from a file or stdin
 		if ( optind < argc ) {
 			input = fopen( argv[ optind ], "r" );
@@ -182,32 +169,64 @@
 	
 		Parser::get_parser().set_debug( grammarp );
-
-		// read in the builtins and the prelude
-		if ( ! nopreludep ) {							// include gcc builtins
-			FILE * builtins = fopen( CFA_LIBDIR "/builtins.cf", "r" );
+	
+		if ( preludep ) {								// include gcc builtins
+			FILE *builtins = fopen( CFA_LIBDIR "/builtins.cf", "r" );
 			if ( builtins == NULL ) {
-				std::cerr << "Error: can't open builtins" << std::endl;
+				std::cout << "Error: can't open builtins" << std::endl;
 				exit( 1 );
 			} // if
-
-			parse( builtins, LinkageSpec::Compiler );
-
-			if ( ! libcfap ) {
-				// read the prelude in, if we're not generating the cfa library
-				FILE * prelude = fopen( CFA_LIBDIR "/prelude.cf", "r" );
-				if ( prelude == NULL ) {
-					std::cerr << "Error: can't open prelude" << std::endl;
-					exit( 1 );
-				} // if
-		    
-		    parse( prelude, LinkageSpec::Intrinsic );
-			} // if
-		} // if
-
+	  
+			Parser::get_parser().set_linkage( LinkageSpec::Compiler );
+			Parser::get_parser().parse( builtins );
+	
+			if ( Parser::get_parser().get_parseStatus() != 0 ) {
+				return Parser::get_parser().get_parseStatus();
+			} // if
+			fclose( builtins );
+
+			FILE *prelude;
+			if ( libcfap ) {							// include cfa prelude
+				prelude = input;
+			} else {
+				prelude = fopen( CFA_LIBDIR "/prelude.cf", "r" );
+			} // if
+			if ( prelude == NULL ) {
+				std::cout << "Error: can't open prelude" << std::endl;
+				exit( 1 );
+			} // if
+	  
+			Parser::get_parser().set_linkage( LinkageSpec::Intrinsic );
+			Parser::get_parser().parse( prelude );
+	
+			if ( Parser::get_parser().get_parseStatus() != 0 ) {
+				return Parser::get_parser().get_parseStatus();
+			} // if
+			fclose( prelude );
+		} // if
+	
 		if ( libcfap ) {
-			parse( input, LinkageSpec::Intrinsic );	
-		} else {
-			parse( input, LinkageSpec::Cforall, grammarp );	
-		}
+			std::list< Declaration* > translationUnit;
+			buildList( Parser::get_parser().get_parseTree(), translationUnit );
+			Parser::get_parser().freeTree();
+			SymTab::validate( translationUnit, false );
+			CodeGen::fixNames( translationUnit );
+			LibCfa::makeLibCfa( translationUnit );
+			ResolvExpr::resolve( translationUnit );
+			GenPoly::convertLvalue( translationUnit );
+			GenPoly::box( translationUnit );
+			CodeGen::generate( translationUnit, *output, true );
+			if ( output != &std::cout ) {
+				delete output;
+			} // if
+			return 0;
+		} // if
+	
+		Parser::get_parser().set_linkage( LinkageSpec::Cforall );
+  
+		Parser::get_parser().parse( input );
+		if ( grammarp || Parser::get_parser().get_parseStatus() != 0 ) {
+			return Parser::get_parser().get_parseStatus();
+		} // if
+		fclose( input );
   
 		if ( parsep ) {
@@ -225,72 +244,97 @@
 		} // if
 
+		if ( expraltp ) {
+			SymTab::validate( translationUnit, false );
+			ResolvExpr::AlternativePrinter printer( std::cout );
+			acceptAll( translationUnit, printer );
+			return 0;
+		} // if
+
+		if ( symtabp ) {
+			SymTab::validate( translationUnit, true );
+			return 0;
+		} // if
+
+		if ( validp ) {
+			SymTab::validate( translationUnit, false );
+			printAll( translationUnit, std::cout );
+			return 0;
+		} // if
+
+		if ( exprp ) {
+			InitTweak::tweak( translationUnit );
+			SymTab::validate( translationUnit, false );
+			ControlStruct::mutate( translationUnit );
+			CodeGen::fixNames( translationUnit );
+			ResolvExpr::resolve( translationUnit );
+			printAll( translationUnit, std::cout );
+			return 0;
+		} // if
+
+		if ( codegenp ) {
+			// print the tree right before code generation
+			cerr << "tweak" << endl;
+			InitTweak::tweak( translationUnit );
+			cerr << "validate" << endl;
+			SymTab::validate( translationUnit, false );
+			cerr << "mutate" << endl;
+			ControlStruct::mutate( translationUnit );
+			cerr << "fixNames" << endl;
+			CodeGen::fixNames( translationUnit );
+			cerr << "resolve" << endl;
+			ResolvExpr::resolve( translationUnit );
+			cerr << "copyParams" << endl;
+			GenPoly::copyParams( translationUnit );
+			cerr << "convertSpecializations" << endl;
+			GenPoly::convertSpecializations( translationUnit );
+			cerr << "convertLvalue" << endl;
+			GenPoly::convertLvalue( translationUnit );
+			cerr << "box" << endl;
+			GenPoly::box( translationUnit );
+			if ( errorp ) {
+				printAll( translationUnit, std::cout );
+			}
+			return 0;
+		} // if
+
 		// add the assignment statement after the 
 		// initialization of a type parameter
-		OPTPRINT( "tweak" )
 		InitTweak::tweak( translationUnit );
-		OPTPRINT( "validate" )
-		SymTab::validate( translationUnit, symtabp );
-		if ( symtabp ) {
-			return 0;
-		} // if
-
-		if ( expraltp ) {
-			ResolvExpr::AlternativePrinter printer( std::cout );
-			acceptAll( translationUnit, printer );
-			return 0;
-		} // if
-
-		if ( validp ) {
-			printAll( translationUnit, std::cout );
-			return 0;
-		} // if
-
-		OPTPRINT( "mutate" )
+
+		//std::cerr << "before validate" << std::endl;
+		SymTab::validate( translationUnit, false );
+		//Try::visit( translationUnit );
+		//Tuples::mutate( translationUnit );
+		//InitTweak::mutate( translationUnit );
+		//std::cerr << "before mutate" << std::endl;
 		ControlStruct::mutate( translationUnit );
-		OPTPRINT( "fixNames" ) 
+		//std::cerr << "before fixNames" << std::endl;
 		CodeGen::fixNames( translationUnit );
-
-		if ( libcfap ) {
-			protop = true;
-			// generate the bodies of cfa library functions
-			LibCfa::makeLibCfa( translationUnit );
-		} // if
-
-		if ( bresolvep ) {
-			printAll( translationUnit, std::cout );
-			return 0;
-		} // if
-
-		OPTPRINT( "resolve" )
+		//std::cerr << "before resolve" << std::endl;
 		ResolvExpr::resolve( translationUnit );
-		if ( exprp ) {
+		//Tuples::checkFunctions( translationUnit );
+		//	  std::cerr << "Finished tuple checkfunctions" << std::endl;
+		//printAll( translationUnit, std::cerr );
+		//std::cerr << "before copyParams" << std::endl;
+		GenPoly::copyParams( translationUnit );
+		//std::cerr << "before convertSpecializations" << std::endl;
+		GenPoly::convertSpecializations( translationUnit );
+		//std::cerr << "before convertLvalue" << std::endl;
+		GenPoly::convertLvalue( translationUnit );
+		//std::cerr << "before box" << std::endl;
+		GenPoly::box( translationUnit );
+		//Tuples::mutate( translationUnit );
+
+		CodeGen::generate( translationUnit, *output, protop );
+
+		if ( output != &std::cout ) {
+			delete output;
+		} // if
+
+	} catch ( SemanticError &e ) {
+		if ( errorp ) {
 			printAll( translationUnit, std::cout );
 		}
-
-		OPTPRINT( "copyParams" );
-		GenPoly::copyParams( translationUnit );
-		OPTPRINT( "convertSpecializations" )
-		GenPoly::convertSpecializations( translationUnit );		
-		OPTPRINT( "convertLvalue" )
-		GenPoly::convertLvalue( translationUnit );
-		OPTPRINT( "box" )
-		GenPoly::box( translationUnit );
-
-    // print the tree right before code generation
-		if ( codegenp ) {
-			printAll( translationUnit, std::cout );
-			return 0;
-		} // if
-
-		CodeGen::generate( translationUnit, *output, protop );
-
-		if ( output != &std::cout ) {
-			delete output;
-		} // if
-	} catch ( SemanticError &e ) {
-		if ( errorp ) {
-			printAll( translationUnit, std::cerr );
-		}
-		e.print( std::cerr );
+		e.print( cout );
 		if ( output != &std::cout ) {
 			delete output;
@@ -315,14 +359,4 @@
 } // main
 
-void parse( FILE * input, LinkageSpec::Type linkage, bool shouldExit ) {
-	Parser::get_parser().set_linkage( linkage );
-	Parser::get_parser().parse( input );
-
-	fclose( input );
-	if ( shouldExit || Parser::get_parser().get_parseStatus() != 0 ) {
-		exit( Parser::get_parser().get_parseStatus() );
-	} // if
-}
-
 // Local Variables: //
 // tab-width: 4 //
Index: src/preludesrc.c
===================================================================
--- src/preludesrc.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/preludesrc.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,3117 @@
+typedef long int _ptrdiff_t;
+const int 0;
+const int 1;
+const DT *const 0;
+FT *const 0;
+int ?++(int *);
+int ?--(int *);
+unsigned int ?++(unsigned int *);
+unsigned int ?--(unsigned int *);
+long int ?++(long int *);
+long int ?--(long int *);
+long unsigned int ?++(long unsigned int *);
+long unsigned int ?--(long unsigned int *);
+float ?++(float *);
+float ?--(float *);
+double ?++(double *);
+double ?--(double *);
+long double ?++(long double *);
+long double ?--(long double *);
+T * ?++(T **);
+T * ?--(T **);
+const T * ?++(const T **);
+const T * ?--(const T **);
+volatile T * ?++(volatile T **);
+volatile T * ?--(volatile T **);
+volatile const T * ?++(volatile const T **);
+volatile const T * ?--(volatile const T **);
+T ?[?](T *, _ptrdiff_t );
+const T ?[?](const T *, _ptrdiff_t );
+volatile T ?[?](volatile T *, _ptrdiff_t );
+volatile const T ?[?](volatile const T *, _ptrdiff_t );
+T ?[?](_ptrdiff_t , T *);
+const T ?[?](_ptrdiff_t , const T *);
+volatile T ?[?](_ptrdiff_t , volatile T *);
+volatile const T ?[?](_ptrdiff_t , volatile const T *);
+int ++?(int *);
+int --?(int *);
+unsigned int ++?(unsigned int *);
+unsigned int --?(unsigned int *);
+long int ++?(long int *);
+long int --?(long int *);
+long unsigned int ++?(long unsigned int *);
+long unsigned int --?(long unsigned int *);
+float ++?(float *);
+float --?(float *);
+double ++?(double *);
+double --?(double *);
+long double ++?(long double *);
+long double --?(long double *);
+T *++?(T **);
+T *--?(T **);
+const T *++?(const T **);
+const T *--?(const T **);
+volatile T *++?(volatile T **);
+volatile T *--?(volatile T **);
+volatile const T *++?(volatile const T **);
+volatile const T *--?(volatile const T **);
+T (*?)(T *);
+const T (*?)(const T *);
+volatile T (*?)(volatile T *);
+volatile const T (*?)(volatile const T *);
+FT (*?)(FT *);
+int +?(int );
+int -?(int );
+int ~?(int );
+unsigned int +?(unsigned int );
+unsigned int -?(unsigned int );
+unsigned int ~?(unsigned int );
+long unsigned int +?(long unsigned int );
+long unsigned int -?(long unsigned int );
+long unsigned int ~?(long unsigned int );
+long int +?(long int );
+long int -?(long int );
+long int ~?(long int );
+float +?(float );
+float -?(float );
+double +?(double );
+double -?(double );
+long double +?(long double );
+long double -?(long double );
+int !?(int );
+int !?(unsigned int );
+int !?(long int );
+int !?(long unsigned int );
+int !?(float );
+int !?(double );
+int !?(volatile const DT *);
+int !?(FT *);
+int ?*?(int , int );
+int ?/?(int , int );
+int ?%?(int , int );
+unsigned int ?*?(unsigned int , unsigned int );
+unsigned int ?/?(unsigned int , unsigned int );
+unsigned int ?%?(unsigned int , unsigned int );
+long unsigned int ?*?(long unsigned int , long unsigned int );
+long unsigned int ?/?(long unsigned int , long unsigned int );
+long unsigned int ?%?(long unsigned int , long unsigned int );
+long int ?*?(long int , long int );
+long int ?/?(long int , long int );
+long int ?%?(long int , long int );
+float ?*?(float , float );
+float ?/?(float , float );
+double ?*?(double , double );
+double ?/?(double , double );
+long double ?*?(long double , long double );
+long double ?/?(long double , long double );
+int ?+?(int , int );
+int ?-?(int , int );
+long int ?+?(long int , long int );
+long int ?-?(long int , long int );
+unsigned int ?+?(unsigned int , unsigned int );
+unsigned int ?-?(unsigned int , unsigned int );
+long unsigned int ?+?(long unsigned int , long unsigned int );
+long unsigned int ?-?(long unsigned int , long unsigned int );
+float ?+?(float , float );
+float ?-?(float , float );
+double ?+?(double , double );
+double ?-?(double , double );
+long double ?+?(long double , long double );
+long double ?-?(long double , long double );
+T * ?+?(T *, _ptrdiff_t );
+T * ?+?(_ptrdiff_t , T *);
+T * ?-?(T *, _ptrdiff_t );
+const T * ?+?(const T *, _ptrdiff_t );
+const T * ?+?(_ptrdiff_t , const T *);
+const T * ?-?(const T *, _ptrdiff_t );
+volatile T * ?+?(volatile T *, _ptrdiff_t );
+volatile T * ?+?(_ptrdiff_t , volatile T *);
+volatile T * ?-?(volatile T *, _ptrdiff_t );
+volatile const T * ?+?(volatile const T *, _ptrdiff_t );
+volatile const T * ?+?(_ptrdiff_t , volatile const T *);
+volatile const T * ?-?(volatile const T *, _ptrdiff_t );
+_ptrdiff_t ?-?(volatile const T *, volatile const T *);
+int ?<<?(int , int );
+int ?>>?(int , int );
+long int ?<<?(long int , long int );
+long int ?>>?(long int , long int );
+unsigned int ?<<?(unsigned int , unsigned int );
+unsigned int ?>>?(unsigned int , unsigned int );
+long unsigned int ?<<?(long unsigned int , long unsigned int );
+long unsigned int ?>>?(long unsigned int , long unsigned int );
+int ?<?(int , int );
+int ?<=?(int , int );
+int ?>?(int , int );
+int ?>=?(int , int );
+int ?<?(long int , long int );
+int ?<=?(long int , long int );
+int ?>?(long int , long int );
+int ?>=?(long int , long int );
+int ?<?(unsigned int , unsigned int );
+int ?<=?(unsigned int , unsigned int );
+int ?>?(unsigned int , unsigned int );
+int ?>=?(unsigned int , unsigned int );
+int ?<?(long unsigned int , long unsigned int );
+int ?<=?(long unsigned int , long unsigned int );
+int ?>?(long unsigned int , long unsigned int );
+int ?>=?(long unsigned int , long unsigned int );
+int ?<?(float , float );
+int ?<=?(float , float );
+int ?>?(float , float );
+int ?>=?(float , float );
+int ?<?(double , double );
+int ?<=?(double , double );
+int ?>?(double , double );
+int ?>=?(double , double );
+int ?<?(long double , long double );
+int ?<=?(long double , long double );
+int ?>?(long double , long double );
+int ?>=?(long double , long double );
+int ?<?(volatile const DT *, volatile const DT *);
+int ?>?(volatile const DT *, volatile const DT *);
+int ?<=?(volatile const DT *, volatile const DT *);
+int ?>=?(volatile const DT *, volatile const DT *);
+int ?==?(int , int );
+int ?!=?(int , int );
+int ?==?(long int , long int );
+int ?!=?(long int , long int );
+int ?==?(unsigned int , unsigned int );
+int ?!=?(unsigned int , unsigned int );
+int ?==?(long unsigned int , long unsigned int );
+int ?!=?(long unsigned int , long unsigned int );
+int ?==?(float , float );
+int ?!=?(float , float );
+int ?==?(double , double );
+int ?!=?(double , double );
+int ?==?(long double , long double );
+int ?!=?(long double , long double );
+int ?==?(volatile const DT *, volatile const DT *);
+int ?!=?(volatile const DT *, volatile const DT *);
+int ?==?(FT *, FT *);
+int ?!=?(FT *, FT *);
+int ?==?(volatile const DT *, volatile const void *);
+int ?!=?(volatile const DT *, volatile const void *);
+int ?==?(volatile const void *, volatile const DT *);
+int ?!=?(volatile const void *, volatile const DT *);
+int ?==?(volatile const DT *, const DT2 *);
+int ?!=?(volatile const DT *, const DT2 *);
+int ?==?(const DT2 *, volatile const DT *);
+int ?!=?(const DT2 *, volatile const DT *);
+int ?==?(FT *, FT2 *);
+int ?!=?(FT *, FT2 *);
+int ?==?(FT2 *, FT *);
+int ?!=?(FT2 *, FT *);
+int ?&?(int , int );
+long int ?&?(long int , long int );
+unsigned int ?&?(unsigned int , unsigned int );
+long unsigned int ?&?(long unsigned int , long unsigned int );
+int ?^?(int , int );
+long int ?^?(long int , long int );
+unsigned int ?^?(unsigned int , unsigned int );
+long unsigned int ?^?(long unsigned int , long unsigned int );
+int ?|?(int , int );
+long int ?|?(long int , long int );
+unsigned int ?|?(unsigned int , unsigned int );
+long unsigned int ?|?(long unsigned int , long unsigned int );
+FT * ?=?(FT **, FT *);
+FT * ?=?(FT *volatile *, FT *);
+DT * ?=?(DT **, DT *);
+DT * ?=?(DT *volatile *, DT *);
+const DT * ?=?(const DT **, DT *);
+const DT * ?=?(const DT *volatile *, DT *);
+volatile DT * ?=?(volatile DT **, DT *);
+volatile DT * ?=?(volatile DT *volatile *, DT *);
+volatile const DT * ?=?(volatile const DT **, DT *);
+volatile const DT * ?=?(volatile const DT *volatile *, DT *);
+volatile const DT * ?=?(volatile const DT **, volatile DT *);
+volatile const DT * ?=?(volatile const DT *volatile *, volatile DT *);
+volatile const DT * ?=?(volatile const DT **, const DT *);
+volatile const DT * ?=?(volatile const DT *volatile *, const DT *);
+DT * ?=?(DT **, void *);
+DT * ?=?(DT *volatile *, void *);
+const DT * ?=?(const DT **, void *);
+const DT * ?=?(const DT *volatile *, void *);
+const DT * ?=?(const DT **, const void *);
+const DT * ?=?(const DT *volatile *, const void *);
+volatile DT * ?=?(volatile DT **, void *);
+volatile DT * ?=?(volatile DT *volatile *, void *);
+volatile DT * ?=?(volatile DT **, volatile void *);
+volatile DT * ?=?(volatile DT *volatile *, volatile void *);
+volatile const DT * ?=?(volatile const DT **, void *);
+volatile const DT * ?=?(volatile const DT *volatile *, void *);
+volatile const DT * ?=?(volatile const DT **, const void *);
+volatile const DT * ?=?(volatile const DT *volatile *, const void *);
+volatile const DT * ?=?(volatile const DT **, volatile void *);
+volatile const DT * ?=?(volatile const DT *volatile *, volatile void *);
+volatile const DT * ?=?(volatile const DT **, volatile const void *);
+volatile const DT * ?=?(volatile const DT *volatile *, volatile const void *);
+void * ?=?(void **, DT *);
+void * ?=?(void *volatile *, DT *);
+const void * ?=?(const void **, DT *);
+const void * ?=?(const void *volatile *, DT *);
+const void * ?=?(const void **, const DT *);
+const void * ?=?(const void *volatile *, const DT *);
+volatile void * ?=?(volatile const void **, DT *);
+volatile void * ?=?(volatile const void *volatile *, DT *);
+volatile void * ?=?(volatile const void **, const DT *);
+volatile void * ?=?(volatile const void *volatile *, const DT *);
+volatile void * ?=?(volatile const void **, volatile DT *);
+volatile void * ?=?(volatile const void *volatile *, volatile DT *);
+volatile void * ?=?(volatile const void **, volatile const DT *);
+volatile void * ?=?(volatile const void *volatile *, volatile const DT *);
+DT * ?=?(DT **, const DT2 *);
+DT * ?=?(DT *volatile *, const DT2 *);
+const DT * ?=?(const DT **, const DT2 *);
+const DT * ?=?(const DT *volatile *, const DT2 *);
+volatile DT * ?=?(volatile DT **, const DT2 *);
+volatile DT * ?=?(volatile DT *volatile *, const DT2 *);
+volatile const DT * ?=?(volatile const DT **, const DT2 *);
+volatile const DT * ?=?(volatile const DT *volatile *, const DT2 *);
+FT * ?=?(FT **, FT2 *);
+FT * ?=?(FT *volatile *, FT2 *);
+T * ?+=?(T **, _ptrdiff_t );
+T * ?+=?(T *volatile *, _ptrdiff_t );
+T * ?-=?(T **, _ptrdiff_t );
+T * ?-=?(T *volatile *, _ptrdiff_t );
+const T * ?+=?(const T **, _ptrdiff_t );
+const T * ?+=?(const T *volatile *, _ptrdiff_t );
+const T * ?-=?(const T **, _ptrdiff_t );
+const T * ?-=?(const T *volatile *, _ptrdiff_t );
+volatile T * ?+=?(volatile T **, _ptrdiff_t );
+volatile T * ?+=?(volatile T *volatile *, _ptrdiff_t );
+volatile T * ?-=?(volatile T **, _ptrdiff_t );
+volatile T * ?-=?(volatile T *volatile *, _ptrdiff_t );
+volatile const T * ?+=?(volatile const T **, _ptrdiff_t );
+volatile const T * ?+=?(volatile const T *volatile *, _ptrdiff_t );
+volatile const T * ?-=?(volatile const T **, _ptrdiff_t );
+volatile const T * ?-=?(volatile const T *volatile *, _ptrdiff_t );
+char ?=?(char *, char );
+char ?=?(volatile char *, char );
+unsigned char ?=?(unsigned char *, unsigned char );
+unsigned char ?=?(volatile unsigned char *, unsigned char );
+int ?=?(int *, int );
+int ?=?(volatile int *, int );
+unsigned int ?=?(unsigned int *, unsigned int );
+unsigned int ?=?(volatile unsigned int *, unsigned int );
+long int ?=?(long int *, long int );
+long int ?=?(volatile long int *, long int );
+long unsigned int ?=?(long unsigned int *, long unsigned int );
+long unsigned int ?=?(volatile long unsigned int *, long unsigned int );
+char ?*=?(char *, char );
+char ?*=?(volatile char *, char );
+unsigned char ?*=?(unsigned char *, unsigned char );
+unsigned char ?*=?(volatile unsigned char *, unsigned char );
+int ?*=?(int *, int );
+int ?*=?(volatile int *, int );
+unsigned int ?*=?(unsigned int *, unsigned int );
+unsigned int ?*=?(volatile unsigned int *, unsigned int );
+long int ?*=?(long int *, long int );
+long int ?*=?(volatile long int *, long int );
+long unsigned int ?*=?(long unsigned int *, long unsigned int );
+long unsigned int ?*=?(volatile long unsigned int *, long unsigned int );
+char ?/=?(char *, char );
+char ?/=?(volatile char *, char );
+unsigned char ?/=?(unsigned char *, unsigned char );
+unsigned char ?/=?(volatile unsigned char *, unsigned char );
+int ?/=?(int *, int );
+int ?/=?(volatile int *, int );
+unsigned int ?/=?(unsigned int *, unsigned int );
+unsigned int ?/=?(volatile unsigned int *, unsigned int );
+long int ?/=?(long int *, long int );
+long int ?/=?(volatile long int *, long int );
+long unsigned int ?/=?(long unsigned int *, long unsigned int );
+long unsigned int ?/=?(volatile long unsigned int *, long unsigned int );
+char ?%=?(char *, char );
+char ?%=?(volatile char *, char );
+unsigned char ?%=?(unsigned char *, unsigned char );
+unsigned char ?%=?(volatile unsigned char *, unsigned char );
+int ?%=?(int *, int );
+int ?%=?(volatile int *, int );
+unsigned int ?%=?(unsigned int *, unsigned int );
+unsigned int ?%=?(volatile unsigned int *, unsigned int );
+long int ?%=?(long int *, long int );
+long int ?%=?(volatile long int *, long int );
+long unsigned int ?%=?(long unsigned int *, long unsigned int );
+long unsigned int ?%=?(volatile long unsigned int *, long unsigned int );
+char ?+=?(char *, char );
+char ?+=?(volatile char *, char );
+unsigned char ?+=?(unsigned char *, unsigned char );
+unsigned char ?+=?(volatile unsigned char *, unsigned char );
+int ?+=?(int *, int );
+int ?+=?(volatile int *, int );
+unsigned int ?+=?(unsigned int *, unsigned int );
+unsigned int ?+=?(volatile unsigned int *, unsigned int );
+long int ?+=?(long int *, long int );
+long int ?+=?(volatile long int *, long int );
+long unsigned int ?+=?(long unsigned int *, long unsigned int );
+long unsigned int ?+=?(volatile long unsigned int *, long unsigned int );
+char ?-=?(char *, char );
+char ?-=?(volatile char *, char );
+unsigned char ?-=?(unsigned char *, unsigned char );
+unsigned char ?-=?(volatile unsigned char *, unsigned char );
+int ?-=?(int *, int );
+int ?-=?(volatile int *, int );
+unsigned int ?-=?(unsigned int *, unsigned int );
+unsigned int ?-=?(volatile unsigned int *, unsigned int );
+long int ?-=?(long int *, long int );
+long int ?-=?(volatile long int *, long int );
+long unsigned int ?-=?(long unsigned int *, long unsigned int );
+long unsigned int ?-=?(volatile long unsigned int *, long unsigned int );
+char ?<<=?(char *, char );
+char ?<<=?(volatile char *, char );
+unsigned char ?<<=?(unsigned char *, unsigned char );
+unsigned char ?<<=?(volatile unsigned char *, unsigned char );
+int ?<<=?(int *, int );
+int ?<<=?(volatile int *, int );
+unsigned int ?<<=?(unsigned int *, unsigned int );
+unsigned int ?<<=?(volatile unsigned int *, unsigned int );
+long int ?<<=?(long int *, long int );
+long int ?<<=?(volatile long int *, long int );
+long unsigned int ?<<=?(long unsigned int *, long unsigned int );
+long unsigned int ?<<=?(volatile long unsigned int *, long unsigned int );
+char ?>>=?(char *, char );
+char ?>>=?(volatile char *, char );
+unsigned char ?>>=?(unsigned char *, unsigned char );
+unsigned char ?>>=?(volatile unsigned char *, unsigned char );
+int ?>>=?(int *, int );
+int ?>>=?(volatile int *, int );
+unsigned int ?>>=?(unsigned int *, unsigned int );
+unsigned int ?>>=?(volatile unsigned int *, unsigned int );
+long int ?>>=?(long int *, long int );
+long int ?>>=?(volatile long int *, long int );
+long unsigned int ?>>=?(long unsigned int *, long unsigned int );
+long unsigned int ?>>=?(volatile long unsigned int *, long unsigned int );
+char ?&=?(char *, char );
+char ?&=?(volatile char *, char );
+unsigned char ?&=?(unsigned char *, unsigned char );
+unsigned char ?&=?(volatile unsigned char *, unsigned char );
+int ?&=?(int *, int );
+int ?&=?(volatile int *, int );
+unsigned int ?&=?(unsigned int *, unsigned int );
+unsigned int ?&=?(volatile unsigned int *, unsigned int );
+long int ?&=?(long int *, long int );
+long int ?&=?(volatile long int *, long int );
+long unsigned int ?&=?(long unsigned int *, long unsigned int );
+long unsigned int ?&=?(volatile long unsigned int *, long unsigned int );
+char ?|=?(char *, char );
+char ?|=?(volatile char *, char );
+unsigned char ?|=?(unsigned char *, unsigned char );
+unsigned char ?|=?(volatile unsigned char *, unsigned char );
+int ?|=?(int *, int );
+int ?|=?(volatile int *, int );
+unsigned int ?|=?(unsigned int *, unsigned int );
+unsigned int ?|=?(volatile unsigned int *, unsigned int );
+long int ?|=?(long int *, long int );
+long int ?|=?(volatile long int *, long int );
+long unsigned int ?|=?(long unsigned int *, long unsigned int );
+long unsigned int ?|=?(volatile long unsigned int *, long unsigned int );
+char ?^=?(char *, char );
+char ?^=?(volatile char *, char );
+unsigned char ?^=?(unsigned char *, unsigned char );
+unsigned char ?^=?(volatile unsigned char *, unsigned char );
+int ?^=?(int *, int );
+int ?^=?(volatile int *, int );
+unsigned int ?^=?(unsigned int *, unsigned int );
+unsigned int ?^=?(volatile unsigned int *, unsigned int );
+long int ?^=?(long int *, long int );
+long int ?^=?(volatile long int *, long int );
+long unsigned int ?^=?(long unsigned int *, long unsigned int );
+long unsigned int ?^=?(volatile long unsigned int *, long unsigned int );
+float ?=?(float *, float );
+float ?=?(volatile float *, float );
+float ?*=?(float *, float );
+float ?*=?(volatile float *, float );
+float ?/=?(float *, float );
+float ?/=?(volatile float *, float );
+float ?+=?(float *, float );
+float ?+=?(volatile float *, float );
+float ?-=?(float *, float );
+float ?-=?(volatile float *, float );
+double ?=?(double *, double );
+double ?=?(volatile double *, double );
+double ?*=?(double *, double );
+double ?*=?(volatile double *, double );
+double ?/=?(double *, double );
+double ?/=?(volatile double *, double );
+double ?+=?(double *, double );
+double ?+=?(volatile double *, double );
+double ?-=?(double *, double );
+double ?-=?(volatile double *, double );
+long double ?=?(long double *, long double );
+long double ?=?(volatile long double *, long double );
+long double ?*=?(long double *, long double );
+long double ?*=?(volatile long double *, long double );
+long double ?/=?(long double *, long double );
+long double ?/=?(volatile long double *, long double );
+long double ?+=?(long double *, long double );
+long double ?+=?(volatile long double *, long double );
+long double ?-=?(long double *, long double );
+long double ?-=?(volatile long double *, long double );
+const int 0;
+const int 1;
+const DT *const 0;
+FT *const 0;
+int ?++(int *_p0)
+{
+        return (*_p0)++;
+
+}
+
+int ?--(int *_p0)
+{
+        return (*_p0)--;
+
+}
+
+unsigned int ?++(unsigned int *_p0)
+{
+        return (*_p0)++;
+
+}
+
+unsigned int ?--(unsigned int *_p0)
+{
+        return (*_p0)--;
+
+}
+
+long int ?++(long int *_p0)
+{
+        return (*_p0)++;
+
+}
+
+long int ?--(long int *_p0)
+{
+        return (*_p0)--;
+
+}
+
+long unsigned int ?++(long unsigned int *_p0)
+{
+        return (*_p0)++;
+
+}
+
+long unsigned int ?--(long unsigned int *_p0)
+{
+        return (*_p0)--;
+
+}
+
+float ?++(float *_p0)
+{
+        return (*_p0)++;
+
+}
+
+float ?--(float *_p0)
+{
+        return (*_p0)--;
+
+}
+
+double ?++(double *_p0)
+{
+        return (*_p0)++;
+
+}
+
+double ?--(double *_p0)
+{
+        return (*_p0)--;
+
+}
+
+long double ?++(long double *_p0)
+{
+        return (*_p0)++;
+
+}
+
+long double ?--(long double *_p0)
+{
+        return (*_p0)--;
+
+}
+
+T * ?++(T **_p0)
+{
+        return (*_p0)++;
+
+}
+
+T * ?--(T **_p0)
+{
+        return (*_p0)--;
+
+}
+
+const T * ?++(const T **_p0)
+{
+        return (*_p0)++;
+
+}
+
+const T * ?--(const T **_p0)
+{
+        return (*_p0)--;
+
+}
+
+volatile T * ?++(volatile T **_p0)
+{
+        return (*_p0)++;
+
+}
+
+volatile T * ?--(volatile T **_p0)
+{
+        return (*_p0)--;
+
+}
+
+volatile const T * ?++(volatile const T **_p0)
+{
+        return (*_p0)++;
+
+}
+
+volatile const T * ?--(volatile const T **_p0)
+{
+        return (*_p0)--;
+
+}
+
+T ?[?](T *_p0, _ptrdiff_t _p1)
+{
+        return _p0[_p1];
+
+}
+
+const T ?[?](const T *_p0, _ptrdiff_t _p1)
+{
+        return _p0[_p1];
+
+}
+
+volatile T ?[?](volatile T *_p0, _ptrdiff_t _p1)
+{
+        return _p0[_p1];
+
+}
+
+volatile const T ?[?](volatile const T *_p0, _ptrdiff_t _p1)
+{
+        return _p0[_p1];
+
+}
+
+T ?[?](_ptrdiff_t _p0, T *_p1)
+{
+        return _p0[_p1];
+
+}
+
+const T ?[?](_ptrdiff_t _p0, const T *_p1)
+{
+        return _p0[_p1];
+
+}
+
+volatile T ?[?](_ptrdiff_t _p0, volatile T *_p1)
+{
+        return _p0[_p1];
+
+}
+
+volatile const T ?[?](_ptrdiff_t _p0, volatile const T *_p1)
+{
+        return _p0[_p1];
+
+}
+
+int ++?(int *_p0)
+{
+        return (++(*_p0));
+
+}
+
+int --?(int *_p0)
+{
+        return (--(*_p0));
+
+}
+
+unsigned int ++?(unsigned int *_p0)
+{
+        return (++(*_p0));
+
+}
+
+unsigned int --?(unsigned int *_p0)
+{
+        return (--(*_p0));
+
+}
+
+long int ++?(long int *_p0)
+{
+        return (++(*_p0));
+
+}
+
+long int --?(long int *_p0)
+{
+        return (--(*_p0));
+
+}
+
+long unsigned int ++?(long unsigned int *_p0)
+{
+        return (++(*_p0));
+
+}
+
+long unsigned int --?(long unsigned int *_p0)
+{
+        return (--(*_p0));
+
+}
+
+float ++?(float *_p0)
+{
+        return (++(*_p0));
+
+}
+
+float --?(float *_p0)
+{
+        return (--(*_p0));
+
+}
+
+double ++?(double *_p0)
+{
+        return (++(*_p0));
+
+}
+
+double --?(double *_p0)
+{
+        return (--(*_p0));
+
+}
+
+long double ++?(long double *_p0)
+{
+        return (++(*_p0));
+
+}
+
+long double --?(long double *_p0)
+{
+        return (--(*_p0));
+
+}
+
+T *++?(T **_p0)
+{
+        return (++(*_p0));
+
+}
+
+T *--?(T **_p0)
+{
+        return (--(*_p0));
+
+}
+
+const T *++?(const T **_p0)
+{
+        return (++(*_p0));
+
+}
+
+const T *--?(const T **_p0)
+{
+        return (--(*_p0));
+
+}
+
+volatile T *++?(volatile T **_p0)
+{
+        return (++(*_p0));
+
+}
+
+volatile T *--?(volatile T **_p0)
+{
+        return (--(*_p0));
+
+}
+
+volatile const T *++?(volatile const T **_p0)
+{
+        return (++(*_p0));
+
+}
+
+volatile const T *--?(volatile const T **_p0)
+{
+        return (--(*_p0));
+
+}
+
+T (*?)(T *_p0)
+{
+        return (*_p0);
+
+}
+
+const T (*?)(const T *_p0)
+{
+        return (*_p0);
+
+}
+
+volatile T (*?)(volatile T *_p0)
+{
+        return (*_p0);
+
+}
+
+volatile const T (*?)(volatile const T *_p0)
+{
+        return (*_p0);
+
+}
+
+FT (*?)(FT *_p0)
+{
+        return (*_p0);
+
+}
+
+int +?(int _p0)
+{
+        return (+_p0);
+
+}
+
+int -?(int _p0)
+{
+        return (-_p0);
+
+}
+
+int ~?(int _p0)
+{
+        return (~_p0);
+
+}
+
+unsigned int +?(unsigned int _p0)
+{
+        return (+_p0);
+
+}
+
+unsigned int -?(unsigned int _p0)
+{
+        return (-_p0);
+
+}
+
+unsigned int ~?(unsigned int _p0)
+{
+        return (~_p0);
+
+}
+
+long unsigned int +?(long unsigned int _p0)
+{
+        return (+_p0);
+
+}
+
+long unsigned int -?(long unsigned int _p0)
+{
+        return (-_p0);
+
+}
+
+long unsigned int ~?(long unsigned int _p0)
+{
+        return (~_p0);
+
+}
+
+long int +?(long int _p0)
+{
+        return (+_p0);
+
+}
+
+long int -?(long int _p0)
+{
+        return (-_p0);
+
+}
+
+long int ~?(long int _p0)
+{
+        return (~_p0);
+
+}
+
+float +?(float _p0)
+{
+        return (+_p0);
+
+}
+
+float -?(float _p0)
+{
+        return (-_p0);
+
+}
+
+double +?(double _p0)
+{
+        return (+_p0);
+
+}
+
+double -?(double _p0)
+{
+        return (-_p0);
+
+}
+
+long double +?(long double _p0)
+{
+        return (+_p0);
+
+}
+
+long double -?(long double _p0)
+{
+        return (-_p0);
+
+}
+
+int !?(int _p0)
+{
+        return (!_p0);
+
+}
+
+int !?(unsigned int _p0)
+{
+        return (!_p0);
+
+}
+
+int !?(long int _p0)
+{
+        return (!_p0);
+
+}
+
+int !?(long unsigned int _p0)
+{
+        return (!_p0);
+
+}
+
+int !?(float _p0)
+{
+        return (!_p0);
+
+}
+
+int !?(double _p0)
+{
+        return (!_p0);
+
+}
+
+int !?(volatile const DT *_p0)
+{
+        return (!_p0);
+
+}
+
+int !?(FT *_p0)
+{
+        return (!_p0);
+
+}
+
+int ?*?(int _p0, int _p1)
+{
+        return (_p0*_p1);
+
+}
+
+int ?/?(int _p0, int _p1)
+{
+        return (_p0/_p1);
+
+}
+
+int ?%?(int _p0, int _p1)
+{
+        return (_p0%_p1);
+
+}
+
+unsigned int ?*?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0*_p1);
+
+}
+
+unsigned int ?/?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0/_p1);
+
+}
+
+unsigned int ?%?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0%_p1);
+
+}
+
+long unsigned int ?*?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0*_p1);
+
+}
+
+long unsigned int ?/?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0/_p1);
+
+}
+
+long unsigned int ?%?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0%_p1);
+
+}
+
+long int ?*?(long int _p0, long int _p1)
+{
+        return (_p0*_p1);
+
+}
+
+long int ?/?(long int _p0, long int _p1)
+{
+        return (_p0/_p1);
+
+}
+
+long int ?%?(long int _p0, long int _p1)
+{
+        return (_p0%_p1);
+
+}
+
+float ?*?(float _p0, float _p1)
+{
+        return (_p0*_p1);
+
+}
+
+float ?/?(float _p0, float _p1)
+{
+        return (_p0/_p1);
+
+}
+
+double ?*?(double _p0, double _p1)
+{
+        return (_p0*_p1);
+
+}
+
+double ?/?(double _p0, double _p1)
+{
+        return (_p0/_p1);
+
+}
+
+long double ?*?(long double _p0, long double _p1)
+{
+        return (_p0*_p1);
+
+}
+
+long double ?/?(long double _p0, long double _p1)
+{
+        return (_p0/_p1);
+
+}
+
+int ?+?(int _p0, int _p1)
+{
+        return (_p0+_p1);
+
+}
+
+int ?-?(int _p0, int _p1)
+{
+        return (_p0-_p1);
+
+}
+
+long int ?+?(long int _p0, long int _p1)
+{
+        return (_p0+_p1);
+
+}
+
+long int ?-?(long int _p0, long int _p1)
+{
+        return (_p0-_p1);
+
+}
+
+unsigned int ?+?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0+_p1);
+
+}
+
+unsigned int ?-?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0-_p1);
+
+}
+
+long unsigned int ?+?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0+_p1);
+
+}
+
+long unsigned int ?-?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0-_p1);
+
+}
+
+float ?+?(float _p0, float _p1)
+{
+        return (_p0+_p1);
+
+}
+
+float ?-?(float _p0, float _p1)
+{
+        return (_p0-_p1);
+
+}
+
+double ?+?(double _p0, double _p1)
+{
+        return (_p0+_p1);
+
+}
+
+double ?-?(double _p0, double _p1)
+{
+        return (_p0-_p1);
+
+}
+
+long double ?+?(long double _p0, long double _p1)
+{
+        return (_p0+_p1);
+
+}
+
+long double ?-?(long double _p0, long double _p1)
+{
+        return (_p0-_p1);
+
+}
+
+T * ?+?(T *_p0, _ptrdiff_t _p1)
+{
+        return (_p0+_p1);
+
+}
+
+T * ?+?(_ptrdiff_t _p0, T *_p1)
+{
+        return (_p0+_p1);
+
+}
+
+T * ?-?(T *_p0, _ptrdiff_t _p1)
+{
+        return (_p0-_p1);
+
+}
+
+const T * ?+?(const T *_p0, _ptrdiff_t _p1)
+{
+        return (_p0+_p1);
+
+}
+
+const T * ?+?(_ptrdiff_t _p0, const T *_p1)
+{
+        return (_p0+_p1);
+
+}
+
+const T * ?-?(const T *_p0, _ptrdiff_t _p1)
+{
+        return (_p0-_p1);
+
+}
+
+volatile T * ?+?(volatile T *_p0, _ptrdiff_t _p1)
+{
+        return (_p0+_p1);
+
+}
+
+volatile T * ?+?(_ptrdiff_t _p0, volatile T *_p1)
+{
+        return (_p0+_p1);
+
+}
+
+volatile T * ?-?(volatile T *_p0, _ptrdiff_t _p1)
+{
+        return (_p0-_p1);
+
+}
+
+volatile const T * ?+?(volatile const T *_p0, _ptrdiff_t _p1)
+{
+        return (_p0+_p1);
+
+}
+
+volatile const T * ?+?(_ptrdiff_t _p0, volatile const T *_p1)
+{
+        return (_p0+_p1);
+
+}
+
+volatile const T * ?-?(volatile const T *_p0, _ptrdiff_t _p1)
+{
+        return (_p0-_p1);
+
+}
+
+_ptrdiff_t ?-?(volatile const T *_p0, volatile const T *_p1)
+{
+        return (_p0-_p1);
+
+}
+
+int ?<<?(int _p0, int _p1)
+{
+        return (_p0<<_p1);
+
+}
+
+int ?>>?(int _p0, int _p1)
+{
+        return (_p0>>_p1);
+
+}
+
+long int ?<<?(long int _p0, long int _p1)
+{
+        return (_p0<<_p1);
+
+}
+
+long int ?>>?(long int _p0, long int _p1)
+{
+        return (_p0>>_p1);
+
+}
+
+unsigned int ?<<?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0<<_p1);
+
+}
+
+unsigned int ?>>?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0>>_p1);
+
+}
+
+long unsigned int ?<<?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0<<_p1);
+
+}
+
+long unsigned int ?>>?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0>>_p1);
+
+}
+
+int ?<?(int _p0, int _p1)
+{
+        return (_p0<_p1);
+
+}
+
+int ?<=?(int _p0, int _p1)
+{
+        return (_p0<=_p1);
+
+}
+
+int ?>?(int _p0, int _p1)
+{
+        return (_p0>_p1);
+
+}
+
+int ?>=?(int _p0, int _p1)
+{
+        return (_p0>=_p1);
+
+}
+
+int ?<?(long int _p0, long int _p1)
+{
+        return (_p0<_p1);
+
+}
+
+int ?<=?(long int _p0, long int _p1)
+{
+        return (_p0<=_p1);
+
+}
+
+int ?>?(long int _p0, long int _p1)
+{
+        return (_p0>_p1);
+
+}
+
+int ?>=?(long int _p0, long int _p1)
+{
+        return (_p0>=_p1);
+
+}
+
+int ?<?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0<_p1);
+
+}
+
+int ?<=?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0<=_p1);
+
+}
+
+int ?>?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0>_p1);
+
+}
+
+int ?>=?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0>=_p1);
+
+}
+
+int ?<?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0<_p1);
+
+}
+
+int ?<=?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0<=_p1);
+
+}
+
+int ?>?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0>_p1);
+
+}
+
+int ?>=?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0>=_p1);
+
+}
+
+int ?<?(float _p0, float _p1)
+{
+        return (_p0<_p1);
+
+}
+
+int ?<=?(float _p0, float _p1)
+{
+        return (_p0<=_p1);
+
+}
+
+int ?>?(float _p0, float _p1)
+{
+        return (_p0>_p1);
+
+}
+
+int ?>=?(float _p0, float _p1)
+{
+        return (_p0>=_p1);
+
+}
+
+int ?<?(double _p0, double _p1)
+{
+        return (_p0<_p1);
+
+}
+
+int ?<=?(double _p0, double _p1)
+{
+        return (_p0<=_p1);
+
+}
+
+int ?>?(double _p0, double _p1)
+{
+        return (_p0>_p1);
+
+}
+
+int ?>=?(double _p0, double _p1)
+{
+        return (_p0>=_p1);
+
+}
+
+int ?<?(long double _p0, long double _p1)
+{
+        return (_p0<_p1);
+
+}
+
+int ?<=?(long double _p0, long double _p1)
+{
+        return (_p0<=_p1);
+
+}
+
+int ?>?(long double _p0, long double _p1)
+{
+        return (_p0>_p1);
+
+}
+
+int ?>=?(long double _p0, long double _p1)
+{
+        return (_p0>=_p1);
+
+}
+
+int ?<?(volatile const DT *_p0, volatile const DT *_p1)
+{
+        return (_p0<_p1);
+
+}
+
+int ?>?(volatile const DT *_p0, volatile const DT *_p1)
+{
+        return (_p0>_p1);
+
+}
+
+int ?<=?(volatile const DT *_p0, volatile const DT *_p1)
+{
+        return (_p0<=_p1);
+
+}
+
+int ?>=?(volatile const DT *_p0, volatile const DT *_p1)
+{
+        return (_p0>=_p1);
+
+}
+
+int ?==?(int _p0, int _p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(int _p0, int _p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(long int _p0, long int _p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(long int _p0, long int _p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(float _p0, float _p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(float _p0, float _p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(double _p0, double _p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(double _p0, double _p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(long double _p0, long double _p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(long double _p0, long double _p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(volatile const DT *_p0, volatile const DT *_p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(volatile const DT *_p0, volatile const DT *_p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(FT *_p0, FT *_p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(FT *_p0, FT *_p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(volatile const DT *_p0, volatile const void *_p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(volatile const DT *_p0, volatile const void *_p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(volatile const void *_p0, volatile const DT *_p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(volatile const void *_p0, volatile const DT *_p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(volatile const DT *_p0, const DT2 *_p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(volatile const DT *_p0, const DT2 *_p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(const DT2 *_p0, volatile const DT *_p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(const DT2 *_p0, volatile const DT *_p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(FT *_p0, FT2 *_p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(FT *_p0, FT2 *_p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?==?(FT2 *_p0, FT *_p1)
+{
+        return (_p0==_p1);
+
+}
+
+int ?!=?(FT2 *_p0, FT *_p1)
+{
+        return (_p0!=_p1);
+
+}
+
+int ?&?(int _p0, int _p1)
+{
+        return (_p0&_p1);
+
+}
+
+long int ?&?(long int _p0, long int _p1)
+{
+        return (_p0&_p1);
+
+}
+
+unsigned int ?&?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0&_p1);
+
+}
+
+long unsigned int ?&?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0&_p1);
+
+}
+
+int ?^?(int _p0, int _p1)
+{
+        return (_p0^_p1);
+
+}
+
+long int ?^?(long int _p0, long int _p1)
+{
+        return (_p0^_p1);
+
+}
+
+unsigned int ?^?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0^_p1);
+
+}
+
+long unsigned int ?^?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0^_p1);
+
+}
+
+int ?|?(int _p0, int _p1)
+{
+        return (_p0|_p1);
+
+}
+
+long int ?|?(long int _p0, long int _p1)
+{
+        return (_p0|_p1);
+
+}
+
+unsigned int ?|?(unsigned int _p0, unsigned int _p1)
+{
+        return (_p0|_p1);
+
+}
+
+long unsigned int ?|?(long unsigned int _p0, long unsigned int _p1)
+{
+        return (_p0|_p1);
+
+}
+
+FT * ?=?(FT **_p0, FT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+FT * ?=?(FT *volatile *_p0, FT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+DT * ?=?(DT **_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+DT * ?=?(DT *volatile *_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const DT * ?=?(const DT **_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const DT * ?=?(const DT *volatile *_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile DT * ?=?(volatile DT **_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile DT * ?=?(volatile DT *volatile *_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT **_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT *volatile *_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT **_p0, volatile DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT *volatile *_p0, volatile DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT **_p0, const DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT *volatile *_p0, const DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+DT * ?=?(DT **_p0, void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+DT * ?=?(DT *volatile *_p0, void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const DT * ?=?(const DT **_p0, void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const DT * ?=?(const DT *volatile *_p0, void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const DT * ?=?(const DT **_p0, const void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const DT * ?=?(const DT *volatile *_p0, const void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile DT * ?=?(volatile DT **_p0, void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile DT * ?=?(volatile DT *volatile *_p0, void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile DT * ?=?(volatile DT **_p0, volatile void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile DT * ?=?(volatile DT *volatile *_p0, volatile void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT **_p0, void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT *volatile *_p0, void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT **_p0, const void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT *volatile *_p0, const void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT **_p0, volatile void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT *volatile *_p0, volatile void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT **_p0, volatile const void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT *volatile *_p0, volatile const void *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+void * ?=?(void **_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+void * ?=?(void *volatile *_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const void * ?=?(const void **_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const void * ?=?(const void *volatile *_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const void * ?=?(const void **_p0, const DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const void * ?=?(const void *volatile *_p0, const DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile void * ?=?(volatile const void **_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile void * ?=?(volatile const void *volatile *_p0, DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile void * ?=?(volatile const void **_p0, const DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile void * ?=?(volatile const void *volatile *_p0, const DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile void * ?=?(volatile const void **_p0, volatile DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile void * ?=?(volatile const void *volatile *_p0, volatile DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile void * ?=?(volatile const void **_p0, volatile const DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile void * ?=?(volatile const void *volatile *_p0, volatile const DT *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+DT * ?=?(DT **_p0, const DT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+DT * ?=?(DT *volatile *_p0, const DT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const DT * ?=?(const DT **_p0, const DT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+const DT * ?=?(const DT *volatile *_p0, const DT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile DT * ?=?(volatile DT **_p0, const DT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile DT * ?=?(volatile DT *volatile *_p0, const DT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT **_p0, const DT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+volatile const DT * ?=?(volatile const DT *volatile *_p0, const DT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+FT * ?=?(FT **_p0, FT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+FT * ?=?(FT *volatile *_p0, FT2 *_p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+T * ?+=?(T **_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+T * ?+=?(T *volatile *_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+T * ?-=?(T **_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+T * ?-=?(T *volatile *_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+const T * ?+=?(const T **_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+const T * ?+=?(const T *volatile *_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+const T * ?-=?(const T **_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+const T * ?-=?(const T *volatile *_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+volatile T * ?+=?(volatile T **_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+volatile T * ?+=?(volatile T *volatile *_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+volatile T * ?-=?(volatile T **_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+volatile T * ?-=?(volatile T *volatile *_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+volatile const T * ?+=?(volatile const T **_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+volatile const T * ?+=?(volatile const T *volatile *_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+volatile const T * ?-=?(volatile const T **_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+volatile const T * ?-=?(volatile const T *volatile *_p0, _ptrdiff_t _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+char ?=?(char *_p0, char _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+char ?=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+unsigned char ?=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+unsigned char ?=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+int ?=?(int *_p0, int _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+int ?=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+unsigned int ?=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+unsigned int ?=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+long int ?=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+long int ?=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+long unsigned int ?=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+long unsigned int ?=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+char ?*=?(char *_p0, char _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+char ?*=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+unsigned char ?*=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+unsigned char ?*=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+int ?*=?(int *_p0, int _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+int ?*=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+unsigned int ?*=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+unsigned int ?*=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+long int ?*=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+long int ?*=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+long unsigned int ?*=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+long unsigned int ?*=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+char ?/=?(char *_p0, char _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+char ?/=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+unsigned char ?/=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+unsigned char ?/=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+int ?/=?(int *_p0, int _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+int ?/=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+unsigned int ?/=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+unsigned int ?/=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+long int ?/=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+long int ?/=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+long unsigned int ?/=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+long unsigned int ?/=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+char ?%=?(char *_p0, char _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+char ?%=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+unsigned char ?%=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+unsigned char ?%=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+int ?%=?(int *_p0, int _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+int ?%=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+unsigned int ?%=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+unsigned int ?%=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+long int ?%=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+long int ?%=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+long unsigned int ?%=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+long unsigned int ?%=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)%=_p1);
+
+}
+
+char ?+=?(char *_p0, char _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+char ?+=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+unsigned char ?+=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+unsigned char ?+=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+int ?+=?(int *_p0, int _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+int ?+=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+unsigned int ?+=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+unsigned int ?+=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+long int ?+=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+long int ?+=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+long unsigned int ?+=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+long unsigned int ?+=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+char ?-=?(char *_p0, char _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+char ?-=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+unsigned char ?-=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+unsigned char ?-=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+int ?-=?(int *_p0, int _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+int ?-=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+unsigned int ?-=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+unsigned int ?-=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+long int ?-=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+long int ?-=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+long unsigned int ?-=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+long unsigned int ?-=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+char ?<<=?(char *_p0, char _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+char ?<<=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+unsigned char ?<<=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+unsigned char ?<<=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+int ?<<=?(int *_p0, int _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+int ?<<=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+unsigned int ?<<=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+unsigned int ?<<=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+long int ?<<=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+long int ?<<=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+long unsigned int ?<<=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+long unsigned int ?<<=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)<<=_p1);
+
+}
+
+char ?>>=?(char *_p0, char _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+char ?>>=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+unsigned char ?>>=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+unsigned char ?>>=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+int ?>>=?(int *_p0, int _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+int ?>>=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+unsigned int ?>>=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+unsigned int ?>>=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+long int ?>>=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+long int ?>>=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+long unsigned int ?>>=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+long unsigned int ?>>=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)>>=_p1);
+
+}
+
+char ?&=?(char *_p0, char _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+char ?&=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+unsigned char ?&=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+unsigned char ?&=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+int ?&=?(int *_p0, int _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+int ?&=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+unsigned int ?&=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+unsigned int ?&=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+long int ?&=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+long int ?&=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+long unsigned int ?&=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+long unsigned int ?&=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)&=_p1);
+
+}
+
+char ?|=?(char *_p0, char _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+char ?|=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+unsigned char ?|=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+unsigned char ?|=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+int ?|=?(int *_p0, int _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+int ?|=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+unsigned int ?|=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+unsigned int ?|=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+long int ?|=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+long int ?|=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+long unsigned int ?|=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+long unsigned int ?|=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)|=_p1);
+
+}
+
+char ?^=?(char *_p0, char _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+char ?^=?(volatile char *_p0, char _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+unsigned char ?^=?(unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+unsigned char ?^=?(volatile unsigned char *_p0, unsigned char _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+int ?^=?(int *_p0, int _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+int ?^=?(volatile int *_p0, int _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+unsigned int ?^=?(unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+unsigned int ?^=?(volatile unsigned int *_p0, unsigned int _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+long int ?^=?(long int *_p0, long int _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+long int ?^=?(volatile long int *_p0, long int _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+long unsigned int ?^=?(long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+long unsigned int ?^=?(volatile long unsigned int *_p0, long unsigned int _p1)
+{
+        return ((*_p0)^=_p1);
+
+}
+
+float ?=?(float *_p0, float _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+float ?=?(volatile float *_p0, float _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+float ?*=?(float *_p0, float _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+float ?*=?(volatile float *_p0, float _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+float ?/=?(float *_p0, float _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+float ?/=?(volatile float *_p0, float _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+float ?+=?(float *_p0, float _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+float ?+=?(volatile float *_p0, float _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+float ?-=?(float *_p0, float _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+float ?-=?(volatile float *_p0, float _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+double ?=?(double *_p0, double _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+double ?=?(volatile double *_p0, double _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+double ?*=?(double *_p0, double _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+double ?*=?(volatile double *_p0, double _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+double ?/=?(double *_p0, double _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+double ?/=?(volatile double *_p0, double _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+double ?+=?(double *_p0, double _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+double ?+=?(volatile double *_p0, double _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+double ?-=?(double *_p0, double _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+double ?-=?(volatile double *_p0, double _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+long double ?=?(long double *_p0, long double _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+long double ?=?(volatile long double *_p0, long double _p1)
+{
+        return ((*_p0)=_p1);
+
+}
+
+long double ?*=?(long double *_p0, long double _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+long double ?*=?(volatile long double *_p0, long double _p1)
+{
+        return ((*_p0)*=_p1);
+
+}
+
+long double ?/=?(long double *_p0, long double _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+long double ?/=?(volatile long double *_p0, long double _p1)
+{
+        return ((*_p0)/=_p1);
+
+}
+
+long double ?+=?(long double *_p0, long double _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+long double ?+=?(volatile long double *_p0, long double _p1)
+{
+        return ((*_p0)+=_p1);
+
+}
+
+long double ?-=?(long double *_p0, long double _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
+long double ?-=?(volatile long double *_p0, long double _p1)
+{
+        return ((*_p0)-=_p1);
+
+}
+
Index: src/spectest
===================================================================
--- src/spectest	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/spectest	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,4 @@
+.cf:
+cpp %p %i -o %g.if
+/u/rcbilson/opt/lib/cfa-cpp -cp %{v} %g.if %g.i
+gcc %1 -o %b.o -c %g.i dummy
