Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/CodeGen/CodeGenerator.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -133,8 +133,8 @@
 		output << "__attribute__ ((";
 		for ( list< Attribute * >::iterator attr( attributes.begin() );; ) {
-			output << (*attr)->get_name();
-			if ( ! (*attr)->get_parameters().empty() ) {
+			output << (*attr)->name;
+			if ( ! (*attr)->parameters.empty() ) {
 				output << "(";
-				genCommaList( (*attr)->get_parameters().begin(), (*attr)->get_parameters().end() );
+				genCommaList( (*attr)->parameters.begin(), (*attr)->parameters.end() );
 				output << ")";
 			} // if
@@ -172,4 +172,6 @@
 	// *** Declarations
 	void CodeGenerator::postvisit( FunctionDecl * functionDecl ) {
+		// deleted decls should never be used, so don't print them
+		if ( functionDecl->isDeleted && genC ) return;
 		extension( functionDecl );
 		genAttributes( functionDecl->get_attributes() );
@@ -185,7 +187,12 @@
 			functionDecl->get_statements()->accept( *visitor );
 		} // if
+		if ( functionDecl->isDeleted ) {
+			output << " = void";
+		}
 	}
 
 	void CodeGenerator::postvisit( ObjectDecl * objectDecl ) {
+		// deleted decls should never be used, so don't print them
+		if ( objectDecl->isDeleted && genC ) return;
 		if (objectDecl->get_name().empty() && genC ) {
 			// only generate an anonymous name when generating C code, otherwise it clutters the output too much
@@ -206,4 +213,7 @@
 			objectDecl->get_init()->accept( *visitor );
 		} // if
+		if ( objectDecl->isDeleted ) {
+			output << " = void";
+		}
 
 		if ( objectDecl->get_bitfieldWidth() ) {
@@ -827,4 +837,32 @@
 		expr->expr->accept( *visitor );
 	}
+
+	void CodeGenerator::postvisit( DefaultArgExpr * arg ) {
+		assertf( ! genC, "Default argument expressions should not reach code generation." );
+		arg->expr->accept( *visitor );
+	}
+
+	void CodeGenerator::postvisit( GenericExpr * expr ) {
+		assertf( ! genC, "C11 _Generic expressions should not reach code generation." );
+		output << "_Generic(";
+		expr->control->accept( *visitor );
+		output << ", ";
+		unsigned int numAssocs = expr->associations.size();
+		unsigned int i = 0;
+		for ( GenericExpr::Association & assoc : expr->associations ) {
+			if (assoc.isDefault) {
+				output << "default: ";
+			} else {
+				output << genType( assoc.type, "", pretty, genC ) << ": ";
+			}
+			assoc.expr->accept( *visitor );
+			if ( i+1 != numAssocs ) {
+				output << ", ";
+			}
+			i++;
+		}
+		output << ")";
+	}
+
 
 	// *** Statements
Index: src/CodeGen/CodeGenerator.h
===================================================================
--- src/CodeGen/CodeGenerator.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/CodeGen/CodeGenerator.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -94,4 +94,6 @@
 		void postvisit( ConstructorExpr * );
 		void postvisit( DeletedExpr * );
+		void postvisit( DefaultArgExpr * );
+		void postvisit( GenericExpr * );
 
 		//*** Statements
Index: src/Common/Debug.h
===================================================================
--- src/Common/Debug.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Common/Debug.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -28,5 +28,5 @@
 namespace Debug {
 	/// debug codegen a translation unit
-	static inline void codeGen( __attribute__((unused)) const std::list< Declaration * > & translationUnit, __attribute__((unused)) const std::string & label, __attribute__((unused)) LinkageSpec::Spec linkageFilter = LinkageSpec::Compiler ) {
+	static inline void codeGen( __attribute__((unused)) const std::list< Declaration * > & translationUnit, __attribute__((unused)) const std::string & label, __attribute__((unused)) LinkageSpec::Spec linkageFilter = LinkageSpec::Builtin ) {
 	#ifdef DEBUG
 		std::list< Declaration * > decls;
Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Common/PassVisitor.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -125,4 +125,6 @@
 	virtual void visit( InitExpr *  initExpr ) override final;
 	virtual void visit( DeletedExpr *  delExpr ) override final;
+	virtual void visit( DefaultArgExpr * argExpr ) override final;
+	virtual void visit( GenericExpr * genExpr ) override final;
 
 	virtual void visit( VoidType * basicType ) override final;
@@ -225,4 +227,6 @@
 	virtual Expression * mutate( InitExpr *  initExpr ) override final;
 	virtual Expression * mutate( DeletedExpr *  delExpr ) override final;
+	virtual Expression * mutate( DefaultArgExpr * argExpr ) override final;
+	virtual Expression * mutate( GenericExpr * genExpr ) override final;
 
 	virtual Type * mutate( VoidType * basicType ) override final;
@@ -258,4 +262,6 @@
 
 private:
+	bool inFunction = false;
+
 	template<typename pass_t> friend void acceptAll( std::list< Declaration* > &decls, PassVisitor< pass_t >& visitor );
 	template<typename pass_t> friend void mutateAll( std::list< Declaration* > &decls, PassVisitor< pass_t >& visitor );
@@ -313,5 +319,5 @@
 	void indexerAddUnionFwd ( UnionDecl                 * node  ) { indexer_impl_addUnionFwd ( pass, 0, node ); }
 	void indexerAddTrait    ( TraitDecl                 * node  ) { indexer_impl_addTrait    ( pass, 0, node ); }
-	void indexerAddWith     ( std::list< Expression * > & exprs, BaseSyntaxNode * withStmt ) { indexer_impl_addWith     ( pass, 0, exprs, withStmt ); }
+	void indexerAddWith     ( std::list< Expression * > & exprs, BaseSyntaxNode * withStmt ) { indexer_impl_addWith( pass, 0, exprs, withStmt ); }
 
 
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Common/PassVisitor.impl.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -404,4 +404,8 @@
 			indexerAddId( func );
 			maybeAccept_impl( node->type, *this );
+			// function body needs to have the same scope as parameters - CompoundStmt will not enter
+			// a new scope if inFunction is true
+			ValueGuard< bool > oldInFunction( inFunction );
+			inFunction = true;
 			maybeAccept_impl( node->statements, *this );
 			maybeAccept_impl( node->attributes, *this );
@@ -434,4 +438,8 @@
 			indexerAddId( func );
 			maybeMutate_impl( node->type, *this );
+			// function body needs to have the same scope as parameters - CompoundStmt will not enter
+			// a new scope if inFunction is true
+			ValueGuard< bool > oldInFunction( inFunction );
+			inFunction = true;
 			maybeMutate_impl( node->statements, *this );
 			maybeMutate_impl( node->attributes, *this );
@@ -712,6 +720,9 @@
 	VISIT_START( node );
 	{
-		auto guard1 = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
+		// do not enter a new scope if inFunction is true - needs to check old state before the assignment
+		ValueGuard< bool > oldInFunction( inFunction );
+		auto guard1 = makeFuncGuard( [this, &oldInFunction]() { if ( ! oldInFunction.old ) indexerScopeEnter(); }, [this, &oldInFunction]() { if ( ! oldInFunction.old ) indexerScopeLeave(); } );
 		auto guard2 = makeFuncGuard( [this]() { call_beginScope();   }, [this]() { call_endScope();     } );
+		inFunction = false;
 		visitStatementList( node->kids );
 	}
@@ -723,6 +734,9 @@
 	MUTATE_START( node );
 	{
-		auto guard1 = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
+		// do not enter a new scope if inFunction is true - needs to check old state before the assignment
+		ValueGuard< bool > oldInFunction( inFunction );
+		auto guard1 = makeFuncGuard( [this, &oldInFunction]() { if ( ! oldInFunction.old ) indexerScopeEnter(); }, [this, &oldInFunction]() { if ( ! oldInFunction.old ) indexerScopeLeave(); } );
 		auto guard2 = makeFuncGuard( [this]() { call_beginScope();   }, [this]() { call_endScope();     } );
+		inFunction = false;
 		mutateStatementList( node->kids );
 	}
@@ -828,6 +842,11 @@
 	VISIT_START( node );
 
-	visitExpression( node->condition );
-	node->body = visitStatement( node->body );
+	{
+		// while statements introduce a level of scope (for the initialization)
+		auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
+		maybeAccept_impl( node->initialization, *this );
+		visitExpression ( node->condition );
+		node->body = visitStatement( node->body );
+	}
 
 	VISIT_END( node );
@@ -838,6 +857,12 @@
 	MUTATE_START( node );
 
-	node->condition = mutateExpression( node->condition );
-	node->body      = mutateStatement ( node->body      );
+	{
+		// while statements introduce a level of scope (for the initialization)
+		auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
+		maybeMutate_impl( node->initialization, *this );
+		node->condition = mutateExpression( node->condition );
+		node->body      = mutateStatement ( node->body      );
+	}
+
 
 	MUTATE_END( Statement, node );
@@ -2074,4 +2099,58 @@
 
 //--------------------------------------------------------------------------
+// DefaultArgExpr
+template< typename pass_type >
+void PassVisitor< pass_type >::visit( DefaultArgExpr * node ) {
+	VISIT_START( node );
+
+	indexerScopedAccept( node->result, *this );
+	maybeAccept_impl( node->expr, *this );
+
+	VISIT_END( node );
+}
+
+template< typename pass_type >
+Expression * PassVisitor< pass_type >::mutate( DefaultArgExpr * node ) {
+	MUTATE_START( node );
+
+	indexerScopedMutate( node->env, *this );
+	indexerScopedMutate( node->result, *this );
+	maybeMutate_impl( node->expr, *this );
+
+	MUTATE_END( Expression, node );
+}
+
+//--------------------------------------------------------------------------
+// GenericExpr
+template< typename pass_type >
+void PassVisitor< pass_type >::visit( GenericExpr * node ) {
+	VISIT_START( node );
+
+	indexerScopedAccept( node->result, *this );
+	maybeAccept_impl( node->control, *this );
+	for ( GenericExpr::Association & assoc : node->associations ) {
+		indexerScopedAccept( assoc.type, *this );
+		maybeAccept_impl( assoc.expr, *this );
+	}
+
+	VISIT_END( node );
+}
+
+template< typename pass_type >
+Expression * PassVisitor< pass_type >::mutate( GenericExpr * node ) {
+	MUTATE_START( node );
+
+	indexerScopedMutate( node->env, *this );
+	indexerScopedMutate( node->result, *this );
+	maybeMutate_impl( node->control, *this );
+	for ( GenericExpr::Association & assoc : node->associations ) {
+		indexerScopedMutate( assoc.type, *this );
+		maybeMutate_impl( assoc.expr, *this );
+	}
+
+	MUTATE_END( Expression, node );
+}
+
+//--------------------------------------------------------------------------
 // VoidType
 template< typename pass_type >
Index: src/Common/SemanticError.cc
===================================================================
--- src/Common/SemanticError.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Common/SemanticError.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 16 15:01:20 2018
-// Update Count     : 9
+// Last Modified On : Thu Jun  7 08:05:26 2018
+// Update Count     : 10
 //
 
@@ -97,5 +97,5 @@
 void SemanticError( CodeLocation location, std::string error ) {
 	SemanticErrorThrow = true;
-	throw SemanticErrorException(location, error);
+	throw SemanticErrorException( location, error );
 }
 
Index: src/Concurrency/Keywords.cc
===================================================================
--- src/Concurrency/Keywords.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Concurrency/Keywords.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -192,5 +192,5 @@
 		void postvisit(   StructDecl * decl );
 
-		std::list<DeclarationWithType*> findMutexArgs( FunctionDecl* );
+		std::list<DeclarationWithType*> findMutexArgs( FunctionDecl*, bool & first );
 		void validate( DeclarationWithType * );
 		void addDtorStatments( FunctionDecl* func, CompoundStmt *, const std::list<DeclarationWithType * > &);
@@ -431,23 +431,54 @@
 	void MutexKeyword::postvisit(FunctionDecl* decl) {
 
-		std::list<DeclarationWithType*> mutexArgs = findMutexArgs( decl );
-		if( mutexArgs.empty() ) return;
-
-		if( CodeGen::isConstructor(decl->name) ) SemanticError( decl, "constructors cannot have mutex parameters" );
-
+		bool first = false;
+		std::list<DeclarationWithType*> mutexArgs = findMutexArgs( decl, first );
 		bool isDtor = CodeGen::isDestructor( decl->name );
 
+		// Is this function relevant to monitors
+		if( mutexArgs.empty() ) {
+			// If this is the destructor for a monitor it must be mutex
+			if(isDtor) {
+				Type* ty = decl->get_functionType()->get_parameters().front()->get_type();
+
+				// If it's a copy, it's not a mutex
+				ReferenceType* rty = dynamic_cast< ReferenceType * >( ty );
+				if( ! rty ) return;
+
+				// If we are not pointing directly to a type, it's not a mutex
+				Type* base = rty->get_base();
+				if( dynamic_cast< ReferenceType * >( base ) ) return;
+				if( dynamic_cast< PointerType * >( base ) ) return;
+
+				// Check if its a struct
+				StructInstType * baseStruct = dynamic_cast< StructInstType * >( base );
+				if( !baseStruct ) return;
+
+				// Check if its a monitor
+				if(baseStruct->baseStruct->is_monitor() || baseStruct->baseStruct->is_thread())
+					SemanticError( decl, "destructors for structures declared as \"monitor\" must use mutex parameters\n" );
+			}
+			return;
+		}
+
+		// Monitors can't be constructed with mutual exclusion
+		if( CodeGen::isConstructor(decl->name) && !first ) SemanticError( decl, "constructors cannot have mutex parameters" );
+
+		// It makes no sense to have multiple mutex parameters for the destructor
 		if( isDtor && mutexArgs.size() != 1 ) SemanticError( decl, "destructors can only have 1 mutex argument" );
 
+		// Make sure all the mutex arguments are monitors
 		for(auto arg : mutexArgs) {
 			validate( arg );
 		}
 
+		// Check if we need to instrument the body
 		CompoundStmt* body = decl->get_statements();
 		if( ! body ) return;
 
+		// Do we have the required headers
 		if( !monitor_decl || !guard_decl || !dtor_guard_decl )
-			SemanticError( decl, "mutex keyword requires monitors to be in scope, add #include <monitor>" );
-
+			SemanticError( decl, "mutex keyword requires monitors to be in scope, add #include <monitor>\n" );
+
+		// Instrument the body
 		if( isDtor ) {
 			addDtorStatments( decl, body, mutexArgs );
@@ -474,11 +505,15 @@
 	}
 
-	std::list<DeclarationWithType*> MutexKeyword::findMutexArgs( FunctionDecl* decl ) {
+	std::list<DeclarationWithType*> MutexKeyword::findMutexArgs( FunctionDecl* decl, bool & first ) {
 		std::list<DeclarationWithType*> mutexArgs;
 
+		bool once = true;
 		for( auto arg : decl->get_functionType()->get_parameters()) {
 			//Find mutex arguments
 			Type* ty = arg->get_type();
 			if( ! ty->get_mutex() ) continue;
+
+			if(once) {first = true;}
+			once = false;
 
 			//Append it to the list
Index: src/ControlStruct/ForExprMutator.cc
===================================================================
--- src/ControlStruct/ForExprMutator.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ControlStruct/ForExprMutator.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -45,4 +45,7 @@
 		return hoist( forStmt, forStmt->initialization );
 	}
+	Statement *ForExprMutator::postmutate( WhileStmt *whileStmt ) {
+		return hoist( whileStmt, whileStmt->initialization );
+	}
 } // namespace ControlStruct
 
Index: src/ControlStruct/ForExprMutator.h
===================================================================
--- src/ControlStruct/ForExprMutator.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ControlStruct/ForExprMutator.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -18,4 +18,5 @@
 class IfStmt;
 class ForStmt;
+class WhileStmt;
 class Statement;
 
@@ -25,4 +26,5 @@
 		Statement *postmutate( IfStmt * );
 		Statement *postmutate( ForStmt * );
+		Statement *postmutate( WhileStmt * );
 	};
 } // namespace ControlStruct
Index: src/ControlStruct/Mutate.cc
===================================================================
--- src/ControlStruct/Mutate.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ControlStruct/Mutate.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -27,16 +27,13 @@
 #include "SynTree/Visitor.h"       // for acceptAll
 
-using namespace std;
+namespace ControlStruct {
+	void fixLabels( std::list< Declaration * > & translationUnit ) {
+		PassVisitor<LabelFixer> lfix;
+		acceptAll( translationUnit, lfix );
+	}
 
-namespace ControlStruct {
-	void mutate( std::list< Declaration * > translationUnit ) {
-		// hoist initialization out of for statements
+	void hoistControlDecls( std::list< Declaration * > & translationUnit ) {
 		PassVisitor<ForExprMutator> formut;
-
-		// normalizes label definitions and generates multi-level exit labels
-		PassVisitor<LabelFixer> lfix;
-
 		mutateAll( translationUnit, formut );
-		acceptAll( translationUnit, lfix );
 	}
 } // namespace CodeGen
Index: src/ControlStruct/Mutate.h
===================================================================
--- src/ControlStruct/Mutate.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ControlStruct/Mutate.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// Mutate.h -- 
+// Mutate.h --
 //
 // Author           : Rodolfo G. Esteves
@@ -20,7 +20,11 @@
 class Declaration;
 
+/// Desugars Cforall control structures
 namespace ControlStruct {
-	/// Desugars Cforall control structures
-	void mutate( std::list< Declaration* > translationUnit );
+	/// normalizes label definitions and generates multi-level exit labels
+	void fixLabels( std::list< Declaration * > & translationUnit );
+
+	/// hoist initialization out of for statements
+	void hoistControlDecls( std::list< Declaration * > & translationUnit );
 } // namespace ControlStruct
 
Index: src/GenPoly/Lvalue.cc
===================================================================
--- src/GenPoly/Lvalue.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/GenPoly/Lvalue.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -145,16 +145,14 @@
 
 	namespace {
-		// true for intrinsic function calls that return a reference
+		// true for intrinsic function calls that return an lvalue in C
 		bool isIntrinsicReference( Expression * expr ) {
+			// known intrinsic-reference prelude functions
+			static std::set<std::string> lvalueFunctions = { "*?", "?[?]" };
 			if ( UntypedExpr * untyped = dynamic_cast< UntypedExpr * >( expr ) ) {
 				std::string fname = InitTweak::getFunctionName( untyped );
-				// known intrinsic-reference prelude functions
-				return fname == "*?" || fname == "?[?]";
+				return lvalueFunctions.count(fname);
 			} else if ( ApplicationExpr * appExpr = dynamic_cast< ApplicationExpr * > ( expr ) ) {
 				if ( DeclarationWithType * func = InitTweak::getFunction( appExpr ) ) {
-					// use type of return variable rather than expr result type, since it may have been changed to a pointer type
-					FunctionType * ftype = GenPoly::getFunctionType( func->get_type() );
-					Type * ret = ftype->returnVals.empty() ? nullptr : ftype->returnVals.front()->get_type();
-					return func->linkage == LinkageSpec::Intrinsic && dynamic_cast<ReferenceType *>( ret );
+					return func->linkage == LinkageSpec::Intrinsic && lvalueFunctions.count(func->name);
 				}
 			}
@@ -210,5 +208,5 @@
 						// TODO: it's likely that the second condition should be ... && ! isIntrinsicReference( arg ), but this requires investigation.
 
-						if ( function->get_linkage() != LinkageSpec::Intrinsic && isIntrinsicReference( arg ) ) {
+						if ( function->linkage != LinkageSpec::Intrinsic && isIntrinsicReference( arg ) ) {
 							// needed for definition of prelude functions, etc.
 							// if argument is dereference or array subscript, the result isn't REALLY a reference, but non-intrinsic functions expect a reference: take address
@@ -226,5 +224,5 @@
 							arg = new AddressExpr( arg );
 						// } else if ( function->get_linkage() == LinkageSpec::Intrinsic && InitTweak::getPointerBase( arg->result ) ) {
-						} else if ( function->get_linkage() == LinkageSpec::Intrinsic && arg->result->referenceDepth() != 0 ) {
+						} else if ( function->linkage == LinkageSpec::Intrinsic && arg->result->referenceDepth() != 0 ) {
 							// argument is a 'real' reference, but function expects a C lvalue: add a dereference to the reference-typed argument
 							PRINT(
Index: src/Parser/DeclarationNode.cc
===================================================================
--- src/Parser/DeclarationNode.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/DeclarationNode.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 12:34:05 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue May 22 08:39:29 2018
-// Update Count     : 1074
+// Last Modified On : Thu Jun  7 12:08:55 2018
+// Update Count     : 1079
 //
 
@@ -173,5 +173,5 @@
 }
 
-DeclarationNode * DeclarationNode::newFunction( string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body ) {
+DeclarationNode * DeclarationNode::newFunction( const string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->name = name;
@@ -244,5 +244,5 @@
 } // DeclarationNode::newForall
 
-DeclarationNode * DeclarationNode::newFromTypedef( string * name ) {
+DeclarationNode * DeclarationNode::newFromTypedef( const string * name ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->type = new TypeData( TypeData::SymbolicInst );
@@ -267,5 +267,5 @@
 } // DeclarationNode::newAggregate
 
-DeclarationNode * DeclarationNode::newEnum( string * name, DeclarationNode * constants, bool body ) {
+DeclarationNode * DeclarationNode::newEnum( const string * name, DeclarationNode * constants, bool body ) {
 	assert( name );
 	DeclarationNode * newnode = new DeclarationNode;
@@ -277,5 +277,5 @@
 } // DeclarationNode::newEnum
 
-DeclarationNode * DeclarationNode::newEnumConstant( string * name, ExpressionNode * constant ) {
+DeclarationNode * DeclarationNode::newEnumConstant( const string * name, ExpressionNode * constant ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->name = name;
@@ -284,5 +284,5 @@
 } // DeclarationNode::newEnumConstant
 
-DeclarationNode * DeclarationNode::newName( string * name ) {
+DeclarationNode * DeclarationNode::newName( const string * name ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->name = name;
@@ -290,5 +290,5 @@
 } // DeclarationNode::newName
 
-DeclarationNode * DeclarationNode::newFromTypeGen( string * name, ExpressionNode * params ) {
+DeclarationNode * DeclarationNode::newFromTypeGen( const string * name, ExpressionNode * params ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->type = new TypeData( TypeData::SymbolicInst );
@@ -299,5 +299,5 @@
 } // DeclarationNode::newFromTypeGen
 
-DeclarationNode * DeclarationNode::newTypeParam( TypeClass tc, string * name ) {
+DeclarationNode * DeclarationNode::newTypeParam( TypeClass tc, const string * name ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->type = nullptr;
@@ -330,5 +330,5 @@
 } // DeclarationNode::newTraitUse
 
-DeclarationNode * DeclarationNode::newTypeDecl( string * name, DeclarationNode * typeParams ) {
+DeclarationNode * DeclarationNode::newTypeDecl( const string * name, DeclarationNode * typeParams ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->name = name;
@@ -405,5 +405,5 @@
 } // DeclarationNode::newBuiltinType
 
-DeclarationNode * DeclarationNode::newAttr( string * name, ExpressionNode * expr ) {
+DeclarationNode * DeclarationNode::newAttr( const string * name, ExpressionNode * expr ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->type = nullptr;
@@ -414,5 +414,5 @@
 }
 
-DeclarationNode * DeclarationNode::newAttr( string * name, DeclarationNode * type ) {
+DeclarationNode * DeclarationNode::newAttr( const string * name, DeclarationNode * type ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->type = nullptr;
@@ -423,5 +423,5 @@
 }
 
-DeclarationNode * DeclarationNode::newAttribute( string * name, ExpressionNode * expr ) {
+DeclarationNode * DeclarationNode::newAttribute( const string * name, ExpressionNode * expr ) {
 	DeclarationNode * newnode = new DeclarationNode;
 	newnode->type = nullptr;
@@ -544,7 +544,5 @@
 					type->aggregate.params->appendList( q->type->forall ); // augment forall qualifier
 				} else {								// not polymorphic
-					type->aggregate.params = q->type->forall; // make polymorphic type
-					// change implicit typedef from TYPEDEFname to TYPEGENname
-					typedefTable.changeKind( *type->aggregate.name, TYPEGENname );
+					type->aggregate.params = q->type->forall; // set forall qualifier
 				} // if
 			} else {									// not polymorphic
@@ -1065,5 +1063,11 @@
 			SemanticError( this, "invalid function specifier for " );
 		} // if
-		return buildDecl( type, name ? *name : string( "" ), storageClasses, maybeBuild< Expression >( bitfieldWidth ), funcSpecs, linkage, asmName, maybeBuild< Initializer >(initializer), attributes )->set_extension( extension );
+		bool isDelete = initializer && initializer->get_isDelete();
+		Declaration * decl = buildDecl( type, name ? *name : string( "" ), storageClasses, maybeBuild< Expression >( bitfieldWidth ), funcSpecs, linkage, asmName, isDelete ? nullptr : maybeBuild< Initializer >(initializer), attributes )->set_extension( extension );
+		if ( isDelete ) {
+			DeclarationWithType * dwt = strict_dynamic_cast<DeclarationWithType *>( decl );
+			dwt->isDeleted = true;
+		}
+		return decl;
 	} // if
 
Index: src/Parser/ExpressionNode.cc
===================================================================
--- src/Parser/ExpressionNode.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/ExpressionNode.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:17:07 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Mar 22 11:57:39 2018
-// Update Count     : 801
+// Last Modified On : Mon Jun  4 21:24:45 2018
+// Update Count     : 802
 //
 
@@ -314,4 +314,5 @@
 
 Expression * build_constantStr( string & str ) {
+	assert( str.length() > 0 );
 	string units;										// units
 	sepString( str, units, '"' );						// separate constant from units
Index: src/Parser/InitializerNode.cc
===================================================================
--- src/Parser/InitializerNode.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/InitializerNode.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -27,5 +27,5 @@
 
 InitializerNode::InitializerNode( ExpressionNode * _expr, bool aggrp, ExpressionNode * des )
-		: expr( _expr ), aggregate( aggrp ), designator( des ), kids( nullptr ), maybeConstructed( true ) {
+		: expr( _expr ), aggregate( aggrp ), designator( des ), kids( nullptr ), maybeConstructed( true ), isDelete( false ) {
 	if ( aggrp )
 		kids = dynamic_cast< InitializerNode * >( get_next() );
@@ -36,5 +36,5 @@
 
 InitializerNode::InitializerNode( InitializerNode * init, bool aggrp, ExpressionNode * des )
-		: expr( nullptr ), aggregate( aggrp ), designator( des ), kids( nullptr ), maybeConstructed( true ) {
+		: expr( nullptr ), aggregate( aggrp ), designator( des ), kids( nullptr ), maybeConstructed( true ), isDelete( false ) {
 	if ( init )
 		set_last( init );
@@ -46,4 +46,6 @@
 		set_next( nullptr );
 } // InitializerNode::InitializerNode
+
+InitializerNode::InitializerNode( bool isDelete ) : expr( nullptr ), aggregate( false ), designator( nullptr ), kids( nullptr ), maybeConstructed( false ), isDelete( isDelete ) {}
 
 InitializerNode::~InitializerNode() {
@@ -84,4 +86,5 @@
 
 Initializer * InitializerNode::build() const {
+	assertf( ! isDelete, "Should not build delete stmt InitializerNode" );
 	if ( aggregate ) {
 		// steal designators from children
Index: src/Parser/ParseNode.h
===================================================================
--- src/Parser/ParseNode.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/ParseNode.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:28:16 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Apr 30 09:19:17 2018
-// Update Count     : 831
+// Last Modified On : Wed Jun  6 16:17:18 2018
+// Update Count     : 843
 //
 
@@ -77,5 +77,5 @@
 
 	ParseNode * next = nullptr;
-	std::string * name = nullptr;
+	const std::string * name = nullptr;
 	CodeLocation location = yylloc;
 }; // ParseNode
@@ -87,4 +87,5 @@
 	InitializerNode( ExpressionNode *, bool aggrp = false,  ExpressionNode * des = nullptr );
 	InitializerNode( InitializerNode *, bool aggrp = false, ExpressionNode * des = nullptr );
+	InitializerNode( bool isDelete );
 	~InitializerNode();
 	virtual InitializerNode * clone() const { assert( false ); return nullptr; }
@@ -97,4 +98,6 @@
 	InitializerNode * set_maybeConstructed( bool value ) { maybeConstructed = value; return this; }
 	bool get_maybeConstructed() const { return maybeConstructed; }
+
+	bool get_isDelete() const { return isDelete; }
 
 	InitializerNode * next_init() const { return kids; }
@@ -110,4 +113,5 @@
 	InitializerNode * kids;
 	bool maybeConstructed;
+	bool isDelete;
 }; // InitializerNode
 
@@ -167,8 +171,8 @@
 };
 
-Expression * build_constantInteger( std::string &str );
-Expression * build_constantFloat( std::string &str );
-Expression * build_constantChar( std::string &str );
-Expression * build_constantStr( std::string &str );
+Expression * build_constantInteger( std::string & str ); // these 4 routines modify the string
+Expression * build_constantFloat( std::string & str );
+Expression * build_constantChar( std::string & str );
+Expression * build_constantStr( std::string & str );
 Expression * build_field_name_FLOATING_FRACTIONconstant( const std::string & str );
 Expression * build_field_name_FLOATING_DECIMALconstant( const std::string & str );
@@ -226,15 +230,15 @@
 	static DeclarationNode * newBuiltinType( BuiltinType );
 	static DeclarationNode * newForall( DeclarationNode * );
-	static DeclarationNode * newFromTypedef( std::string * );
-	static DeclarationNode * newFunction( std::string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body );
+	static DeclarationNode * newFromTypedef( const std::string * );
+	static DeclarationNode * newFunction( const std::string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body );
 	static DeclarationNode * newAggregate( Aggregate kind, const std::string * name, ExpressionNode * actuals, DeclarationNode * fields, bool body );
-	static DeclarationNode * newEnum( std::string * name, DeclarationNode * constants, bool body );
-	static DeclarationNode * newEnumConstant( std::string * name, ExpressionNode * constant );
-	static DeclarationNode * newName( std::string * );
-	static DeclarationNode * newFromTypeGen( std::string *, ExpressionNode * params );
-	static DeclarationNode * newTypeParam( TypeClass, std::string * );
+	static DeclarationNode * newEnum( const std::string * name, DeclarationNode * constants, bool body );
+	static DeclarationNode * newEnumConstant( const std::string * name, ExpressionNode * constant );
+	static DeclarationNode * newName( const std::string * );
+	static DeclarationNode * newFromTypeGen( const std::string *, ExpressionNode * params );
+	static DeclarationNode * newTypeParam( TypeClass, const std::string * );
 	static DeclarationNode * newTrait( const std::string * name, DeclarationNode * params, DeclarationNode * asserts );
 	static DeclarationNode * newTraitUse( const std::string * name, ExpressionNode * params );
-	static DeclarationNode * newTypeDecl( std::string * name, DeclarationNode * typeParams );
+	static DeclarationNode * newTypeDecl( const std::string * name, DeclarationNode * typeParams );
 	static DeclarationNode * newPointer( DeclarationNode * qualifiers, OperKinds kind );
 	static DeclarationNode * newArray( ExpressionNode * size, DeclarationNode * qualifiers, bool isStatic );
@@ -243,7 +247,7 @@
 	static DeclarationNode * newTuple( DeclarationNode * members );
 	static DeclarationNode * newTypeof( ExpressionNode * expr );
-	static DeclarationNode * newAttr( std::string *, ExpressionNode * expr ); // @ attributes
-	static DeclarationNode * newAttr( std::string *, DeclarationNode * type ); // @ attributes
-	static DeclarationNode * newAttribute( std::string *, ExpressionNode * expr = nullptr ); // gcc attributes
+	static DeclarationNode * newAttr( const std::string *, ExpressionNode * expr ); // @ attributes
+	static DeclarationNode * newAttr( const std::string *, DeclarationNode * type ); // @ attributes
+	static DeclarationNode * newAttribute( const std::string *, ExpressionNode * expr = nullptr ); // gcc attributes
 	static DeclarationNode * newAsmStmt( StatementNode * stmt ); // gcc external asm statement
 	static DeclarationNode * newStaticAssert( ExpressionNode * condition, Expression * message );
@@ -399,9 +403,11 @@
 };
 
+Expression * build_if_control( IfCtl * ctl, std::list< Statement * > & init );
 Statement * build_if( IfCtl * ctl, StatementNode * then_stmt, StatementNode * else_stmt );
 Statement * build_switch( bool isSwitch, ExpressionNode * ctl, StatementNode * stmt );
 Statement * build_case( ExpressionNode * ctl );
 Statement * build_default();
-Statement * build_while( ExpressionNode * ctl, StatementNode * stmt, bool kind = false );
+Statement * build_while( IfCtl * ctl, StatementNode * stmt );
+Statement * build_do_while( ExpressionNode * ctl, StatementNode * stmt );
 Statement * build_for( ForCtl * forctl, StatementNode * stmt );
 Statement * build_branch( BranchStmt::Type kind );
Index: src/Parser/StatementNode.cc
===================================================================
--- src/Parser/StatementNode.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/StatementNode.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 14:59:41 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Apr 30 09:21:16 2018
-// Update Count     : 354
+// Last Modified On : Tue Jun  5 08:58:34 2018
+// Update Count     : 362
 //
 
@@ -69,30 +69,14 @@
 	caseStmt->get_statements().splice( caseStmt->get_statements().end(), stmts );
 	return this;
-}
+} // StatementNode::append_last_case
 
 Statement * build_expr( ExpressionNode * ctl ) {
 	Expression * e = maybeMoveBuild< Expression >( ctl );
 
-	if ( e )
-		return new ExprStmt( e );
-	else
-		return new NullStmt();
-}
-
-Statement * build_if( IfCtl * ctl, StatementNode * then_stmt, StatementNode * else_stmt ) {
-	Statement * thenb, * elseb = 0;
-	std::list< Statement * > branches;
-	buildMoveList< Statement, StatementNode >( then_stmt, branches );
-	assert( branches.size() == 1 );
-	thenb = branches.front();
-
-	if ( else_stmt ) {
-		std::list< Statement * > branches;
-		buildMoveList< Statement, StatementNode >( else_stmt, branches );
-		assert( branches.size() == 1 );
-		elseb = branches.front();
-	} // if
-
-	std::list< Statement * > init;
+	if ( e ) return new ExprStmt( e );
+	else return new NullStmt();
+} // build_expr
+
+Expression * build_if_control( IfCtl * ctl, std::list< Statement * > & init ) {
 	if ( ctl->init != 0 ) {
 		buildMoveList( ctl->init, init );
@@ -102,5 +86,5 @@
 	if ( ctl->condition ) {
 		// compare the provided condition against 0
-		cond =  notZeroExpr( maybeMoveBuild< Expression >(ctl->condition) );
+		cond = notZeroExpr( maybeMoveBuild< Expression >(ctl->condition) );
 	} else {
 		for ( Statement * stmt : init ) {
@@ -113,6 +97,25 @@
 	}
 	delete ctl;
+	return cond;
+} // build_if_control
+
+Statement * build_if( IfCtl * ctl, StatementNode * then_stmt, StatementNode * else_stmt ) {
+	Statement * thenb, * elseb = nullptr;
+	std::list< Statement * > branches;
+	buildMoveList< Statement, StatementNode >( then_stmt, branches );
+	assert( branches.size() == 1 );
+	thenb = branches.front();
+
+	if ( else_stmt ) {
+		std::list< Statement * > branches;
+		buildMoveList< Statement, StatementNode >( else_stmt, branches );
+		assert( branches.size() == 1 );
+		elseb = branches.front();
+	} // if
+
+	std::list< Statement * > init;
+	Expression * cond = build_if_control( ctl, init );
 	return new IfStmt( cond, thenb, elseb, init );
-}
+} // build_if
 
 Statement * build_switch( bool isSwitch, ExpressionNode * ctl, StatementNode * stmt ) {
@@ -130,20 +133,34 @@
 	// branches.size() == 0 for switch (...) {}, i.e., no declaration or statements
 	return new SwitchStmt( maybeMoveBuild< Expression >(ctl), branches );
-}
+} // build_switch
+
 Statement * build_case( ExpressionNode * ctl ) {
 	std::list< Statement * > branches;
 	return new CaseStmt( maybeMoveBuild< Expression >(ctl), branches );
-}
+} // build_case
+
 Statement * build_default() {
 	std::list< Statement * > branches;
 	return new CaseStmt( nullptr, branches, true );
-}
-
-Statement * build_while( ExpressionNode * ctl, StatementNode * stmt, bool kind ) {
-	std::list< Statement * > branches;
-	buildMoveList< Statement, StatementNode >( stmt, branches );
-	assert( branches.size() == 1 );
-	return new WhileStmt( notZeroExpr( maybeMoveBuild< Expression >(ctl) ), branches.front(), kind );
-}
+} // build_default
+
+Statement * build_while( IfCtl * ctl, StatementNode * stmt ) {
+	std::list< Statement * > branches;
+	buildMoveList< Statement, StatementNode >( stmt, branches );
+	assert( branches.size() == 1 );
+
+	std::list< Statement * > init;
+	Expression * cond = build_if_control( ctl, init );
+	return new WhileStmt( cond, branches.front(), init, false );
+} // build_while
+
+Statement * build_do_while( ExpressionNode * ctl, StatementNode * stmt ) {
+	std::list< Statement * > branches;
+	buildMoveList< Statement, StatementNode >( stmt, branches );
+	assert( branches.size() == 1 );
+
+	std::list< Statement * > init;
+	return new WhileStmt( notZeroExpr( maybeMoveBuild< Expression >(ctl) ), branches.front(), init, true );
+} // build_do_while
 
 Statement * build_for( ForCtl * forctl, StatementNode * stmt ) {
@@ -167,18 +184,20 @@
 	delete forctl;
 	return new ForStmt( init, cond, incr, branches.front() );
-}
+} // build_for
 
 Statement * build_branch( BranchStmt::Type kind ) {
 	Statement * ret = new BranchStmt( "", kind );
 	return ret;
-}
+} // build_branch
+
 Statement * build_branch( std::string * identifier, BranchStmt::Type kind ) {
 	Statement * ret = new BranchStmt( * identifier, kind );
 	delete identifier; 									// allocated by lexer
 	return ret;
-}
+} // build_branch
+
 Statement * build_computedgoto( ExpressionNode * ctl ) {
 	return new BranchStmt( maybeMoveBuild< Expression >(ctl), BranchStmt::Goto );
-}
+} // build_computedgoto
 
 Statement * build_return( ExpressionNode * ctl ) {
@@ -186,5 +205,5 @@
 	buildMoveList( ctl, exps );
 	return new ReturnStmt( exps.size() > 0 ? exps.back() : nullptr );
-}
+} // build_return
 
 Statement * build_throw( ExpressionNode * ctl ) {
@@ -193,5 +212,5 @@
 	assertf( exps.size() < 2, "This means we are leaking memory");
 	return new ThrowStmt( ThrowStmt::Terminate, !exps.empty() ? exps.back() : nullptr );
-}
+} // build_throw
 
 Statement * build_resume( ExpressionNode * ctl ) {
@@ -200,5 +219,5 @@
 	assertf( exps.size() < 2, "This means we are leaking memory");
 	return new ThrowStmt( ThrowStmt::Resume, !exps.empty() ? exps.back() : nullptr );
-}
+} // build_resume
 
 Statement * build_resume_at( ExpressionNode * ctl, ExpressionNode * target ) {
@@ -206,5 +225,5 @@
 	(void)target;
 	assertf( false, "resume at (non-local throw) is not yet supported," );
-}
+} // build_resume_at
 
 Statement * build_try( StatementNode * try_stmt, StatementNode * catch_stmt, StatementNode * finally_stmt ) {
@@ -214,5 +233,6 @@
 	FinallyStmt * finallyBlock = dynamic_cast< FinallyStmt * >(maybeMoveBuild< Statement >(finally_stmt) );
 	return new TryStmt( tryBlock, branches, finallyBlock );
-}
+} // build_try
+
 Statement * build_catch( CatchStmt::Kind kind, DeclarationNode * decl, ExpressionNode * cond, StatementNode * body ) {
 	std::list< Statement * > branches;
@@ -220,5 +240,6 @@
 	assert( branches.size() == 1 );
 	return new CatchStmt( kind, maybeMoveBuild< Declaration >(decl), maybeMoveBuild< Expression >(cond), branches.front() );
-}
+} // build_catch
+
 Statement * build_finally( StatementNode * stmt ) {
 	std::list< Statement * > branches;
@@ -226,5 +247,5 @@
 	assert( branches.size() == 1 );
 	return new FinallyStmt( dynamic_cast< CompoundStmt * >( branches.front() ) );
-}
+} // build_finally
 
 WaitForStmt * build_waitfor( ExpressionNode * targetExpr, StatementNode * stmt, ExpressionNode * when ) {
@@ -247,5 +268,5 @@
 
 	return node;
-}
+} // build_waitfor
 
 WaitForStmt * build_waitfor( ExpressionNode * targetExpr, StatementNode * stmt, ExpressionNode * when, WaitForStmt * node ) {
@@ -266,5 +287,5 @@
 
 	return node;
-}
+} // build_waitfor
 
 WaitForStmt * build_waitfor_timeout( ExpressionNode * timeout, StatementNode * stmt, ExpressionNode * when ) {
@@ -275,12 +296,11 @@
 		node->timeout.statement = maybeMoveBuild<Statement >( stmt    );
 		node->timeout.condition = notZeroExpr( maybeMoveBuild<Expression>( when ) );
-	}
-	else {
+	} else {
 		node->orelse.statement  = maybeMoveBuild<Statement >( stmt );
 		node->orelse.condition  = notZeroExpr( maybeMoveBuild<Expression>( when ) );
-	}
+	} // if
 
 	return node;
-}
+} // build_waitfor_timeout
 
 WaitForStmt * build_waitfor_timeout( ExpressionNode * timeout, StatementNode * stmt, ExpressionNode * when,  StatementNode * else_stmt, ExpressionNode * else_when ) {
@@ -295,5 +315,5 @@
 
 	return node;
-}
+} // build_waitfor_timeout
 
 WithStmt * build_with( ExpressionNode * exprs, StatementNode * stmt ) {
@@ -302,5 +322,5 @@
 	Statement * s = maybeMoveBuild<Statement>( stmt );
 	return new WithStmt( e, s );
-}
+} // build_with
 
 Statement * build_compound( StatementNode * first ) {
@@ -308,5 +328,5 @@
 	buildMoveList( first, cs->get_kids() );
 	return cs;
-}
+} // build_compound
 
 Statement * build_asm( bool voltile, Expression * instruction, ExpressionNode * output, ExpressionNode * input, ExpressionNode * clobber, LabelNode * gotolabels ) {
@@ -318,9 +338,9 @@
 	buildMoveList( clobber, clob );
 	return new AsmStmt( voltile, instruction, out, in, clob, gotolabels ? gotolabels->labels : noLabels );
-}
+} // build_asm
 
 Statement * build_directive( string * directive ) {
 	return new DirectiveStmt( *directive );
-}
+} // build_directive
 
 // Local Variables: //
Index: src/Parser/TypeData.cc
===================================================================
--- src/Parser/TypeData.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/TypeData.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:12:51 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Apr 26 13:46:07 2018
-// Update Count     : 603
+// Last Modified On : Wed Jun  6 17:40:33 2018
+// Update Count     : 604
 //
 
@@ -65,4 +65,5 @@
 	  case Aggregate:
 		// aggregate = new Aggregate_t;
+		aggregate.kind = DeclarationNode::NoAggregate;
 		aggregate.name = nullptr;
 		aggregate.params = nullptr;
@@ -70,4 +71,6 @@
 		aggregate.fields = nullptr;
 		aggregate.body = false;
+		aggregate.tagged = false;
+		aggregate.parent = nullptr;
 		break;
 	  case AggregateInst:
@@ -198,9 +201,9 @@
 		break;
 	  case Aggregate:
+		newtype->aggregate.kind = aggregate.kind;
 		newtype->aggregate.name = aggregate.name ? new string( *aggregate.name ) : nullptr;
 		newtype->aggregate.params = maybeClone( aggregate.params );
 		newtype->aggregate.actuals = maybeClone( aggregate.actuals );
 		newtype->aggregate.fields = maybeClone( aggregate.fields );
-		newtype->aggregate.kind = aggregate.kind;
 		newtype->aggregate.body = aggregate.body;
 		newtype->aggregate.tagged = aggregate.tagged;
@@ -575,5 +578,5 @@
 
 	  case DeclarationNode::Int128:
-		ret = td->signedness == 1 ? BasicType::UnsignedInt128 : BasicType::SignedInt128;
+		ret = td->signedness == DeclarationNode::Unsigned ? BasicType::UnsignedInt128 : BasicType::SignedInt128;
 		if ( td->length != DeclarationNode::NoLength ) {
 			genTSError( DeclarationNode::lengthNames[ td->length ], td->basictype );
@@ -599,5 +602,5 @@
 			genTSError( DeclarationNode::lengthNames[ td->length ], td->basictype );
 		} // if
-		if ( td->basictype == DeclarationNode::Float && td->length == DeclarationNode::Long ) {
+		if ( td->basictype != DeclarationNode::Double && td->length == DeclarationNode::Long ) {
 			genTSError( DeclarationNode::lengthNames[ td->length ], td->basictype );
 		} // if
@@ -605,4 +608,13 @@
 			const_cast<TypeData *>(td)->basictype = DeclarationNode::LongDouble;
 		} // if
+
+		if ( td->basictype == DeclarationNode::Float80 || td->basictype == DeclarationNode::Float128 ) {
+			// if ( td->complextype != DeclarationNode::NoComplexType ) {
+			// 	genTSError( DeclarationNode::complexTypeNames[ td->complextype ], td->basictype );
+			// }
+			if ( td->basictype == DeclarationNode::Float80 ) ret = BasicType::Float80;
+			else ret = BasicType::Float128;
+			break;
+		}
 
 		ret = floattype[ td->complextype ][ td->basictype - DeclarationNode::Float ];
Index: src/Parser/TypedefTable.cc
===================================================================
--- src/Parser/TypedefTable.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/TypedefTable.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:20:13 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue May 22 08:40:01 2018
-// Update Count     : 121
+// Last Modified On : Fri Jun 22 06:14:39 2018
+// Update Count     : 206
 //
 
@@ -17,17 +17,31 @@
 #include "TypedefTable.h"
 #include <cassert>										// for assert
+#include <iostream>
 
 #if 0
-#include <iostream>
-#define debugPrint( x ) cerr << x
+#define debugPrint( code ) code
 #else
-#define debugPrint( x )
+#define debugPrint( code )
 #endif
 
 using namespace std;									// string, iostream
 
+debugPrint(
+static const char *kindName( int kind ) {
+	switch ( kind ) {
+	  case IDENTIFIER: return "identifier";
+	  case TYPEDEFname: return "typedef";
+	  case TYPEGENname: return "typegen";
+	  default:
+		cerr << "Error: cfa-cpp internal error, invalid kind of identifier" << endl;
+		abort();
+	} // switch
+} // kindName
+)
+
 TypedefTable::~TypedefTable() {
 	if ( ! SemanticErrorThrow && kindTable.currentScope() != 0 ) {
-		// std::cerr << "scope failure " << kindTable.currentScope() << endl;
+		cerr << "Error: cfa-cpp internal error, scope failure " << kindTable.currentScope() << endl;
+		abort();
 	} // if
 } // TypedefTable::~TypedefTable
@@ -44,22 +58,32 @@
 } // TypedefTable::isKind
 
-void TypedefTable::changeKind( const string & identifier, int kind ) {
-	KindTable::iterator posn = kindTable.find( identifier );
-	if ( posn != kindTable.end() ) posn->second = kind;	// exists => update
-} // TypedefTable::changeKind
-
 // SKULLDUGGERY: Generate a typedef for the aggregate name so the aggregate does not have to be qualified by
 // "struct". Only generate the typedef, if the name is not in use. The typedef is implicitly (silently) removed if the
 // name is explicitly used.
-void TypedefTable::makeTypedef( const string & name ) {
+void TypedefTable::makeTypedef( const string & name, int kind ) {
+//    Check for existence is necessary to handle:
+//        struct Fred {};
+//        void Fred();
+//        void fred() {
+//           struct Fred act; // do not add as type in this scope
+//           Fred();
+//        }
 	if ( ! typedefTable.exists( name ) ) {
-		typedefTable.addToEnclosingScope( name, TYPEDEFname );
+		typedefTable.addToEnclosingScope( name, kind, "MTD" );
 	} // if
 } // TypedefTable::makeTypedef
 
-void TypedefTable::addToEnclosingScope( const std::string & identifier, int kind ) {
-	assert( kindTable.currentScope() >= 1 );
-	auto scope = kindTable.currentScope() - 1;
-	debugPrint( "Adding " << identifier << " as kind " << kind << " scope " << scope << endl );
+void TypedefTable::addToScope( const string & identifier, int kind, const char * locn __attribute__((unused)) ) {
+	auto scope = kindTable.currentScope();
+	debugPrint( cerr << "Adding current at " << locn << " " << identifier << " as " << kindName( kind ) << " scope " << scope << endl );
+	auto ret = kindTable.insertAt( scope, identifier, kind );
+	//if ( ! ret.second ) ret.first->second = kind;		// exists => update
+	assert( ret.first->second == kind );				// exists
+} // TypedefTable::addToScope
+
+void TypedefTable::addToEnclosingScope( const string & identifier, int kind, const char * locn __attribute__((unused)) ) {
+	assert( kindTable.currentScope() >= 1 + level );
+	auto scope = kindTable.currentScope() - 1 - level;
+	debugPrint( cerr << "Adding enclosing at " << locn << " " << identifier << " as " << kindName( kind ) << " scope " << scope << " level " << level << endl );
 	auto ret = kindTable.insertAt( scope, identifier, kind );
 	if ( ! ret.second ) ret.first->second = kind;		// exists => update
@@ -68,22 +92,28 @@
 void TypedefTable::enterScope() {
 	kindTable.beginScope();
-	debugPrint( "Entering scope " << kindTable.currentScope() << endl );
+	debugPrint( cerr << "Entering scope " << kindTable.currentScope() << endl; print() );
 } // TypedefTable::enterScope
 
 void TypedefTable::leaveScope() {
-	debugPrint( "Leaving scope " << kindTable.currentScope() << endl );
+	debugPrint( cerr << "Leaving scope " << kindTable.currentScope() << endl; print() );
 	kindTable.endScope();
 } // TypedefTable::leaveScope
 
-// void TypedefTable::print( void ) const {
-// 	for ( KindTable::const_iterator i = table.begin(); i != table.end(); i++) {
-// 		debugPrint( (*i ).first << ": " );
-// 		list< Entry > declList = (*i).second;
-// 		for ( list< Entry >::const_iterator j = declList.begin(); j != declList.end(); j++ ) {
-// 			debugPrint( "(" << (*j).scope << " " << (*j).kind << ") " );
-// 		}
-// 		debugPrint( endl );
-// 	} // for
-// }
+void TypedefTable::print( void ) const {
+	KindTable::size_type scope = kindTable.currentScope();
+	debugPrint( cerr << "[" << scope << "]" );
+	for ( KindTable::const_iterator i = kindTable.begin(); i != kindTable.end(); i++ ) {
+		while ( i.get_level() != scope ) {
+			--scope;
+			debugPrint( cerr << endl << "[" << scope << "]" );
+		} // while
+		debugPrint( cerr << " " << (*i).first << ":" << kindName( (*i).second ) );
+	} // for
+	while ( scope > 0 ) {
+		--scope;
+		debugPrint( cerr << endl << "[" << scope << "]" );
+	} // while
+	debugPrint( cerr << endl );
+} // TypedefTable::print
 
 // Local Variables: //
Index: src/Parser/TypedefTable.h
===================================================================
--- src/Parser/TypedefTable.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/TypedefTable.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:24:36 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue May 22 08:39:29 2018
-// Update Count     : 77
+// Last Modified On : Fri Jun 22 05:29:58 2018
+// Update Count     : 86
 //
 
@@ -25,4 +25,5 @@
 	typedef ScopedMap< std::string, int > KindTable;
 	KindTable kindTable;	
+	unsigned int level = 0;
   public:
 	~TypedefTable();
@@ -30,10 +31,15 @@
 	bool exists( const std::string & identifier );
 	int isKind( const std::string & identifier ) const;
-	void changeKind( const std::string & identifier, int kind );
-	void makeTypedef( const std::string & name );
-	void addToEnclosingScope( const std::string & identifier, int kind );
+	void makeTypedef( const std::string & name, int kind = TYPEDEFname );
+	void addToScope( const std::string & identifier, int kind, const char * );
+	void addToEnclosingScope( const std::string & identifier, int kind, const char * );
 
 	void enterScope();
 	void leaveScope();
+
+	void up() { level += 1; }
+	void down() { level -= 1; }
+
+	void print( void ) const;
 }; // TypedefTable
 
Index: src/Parser/lex.ll
===================================================================
--- src/Parser/lex.ll	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/lex.ll	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
  * Created On       : Sat Sep 22 08:58:10 2001
  * Last Modified By : Peter A. Buhr
- * Last Modified On : Thu May  3 13:42:40 2018
- * Update Count     : 676
+ * Last Modified On : Wed Jun 20 09:08:28 2018
+ * Update Count     : 682
  */
 
@@ -25,6 +25,13 @@
 //**************************** Includes and Defines ****************************
 
+// trigger before each matching rule's action
+#define YY_USER_ACTION \
+	yylloc.first_line = yylineno; \
+	yylloc.first_column = column; \
+	column += yyleng; \
+	yylloc.last_column = column; \
+	yylloc.last_line = yylineno; \
+	yylloc.filename = yyfilename ? yyfilename : "";
 unsigned int column = 0;								// position of the end of the last token parsed
-#define YY_USER_ACTION yylloc.first_line = yylineno; yylloc.first_column = column; column += yyleng; yylloc.last_column = column; yylloc.last_line = yylineno; yylloc.filename = yyfilename ? yyfilename : "";				// trigger before each matching rule's action
 
 #include <string>
@@ -49,5 +56,5 @@
 #define NUMERIC_RETURN(x)	rm_underscore(); RETURN_VAL( x ) // numeric constant
 #define KEYWORD_RETURN(x)	RETURN_CHAR( x )			// keyword
-#define QKEYWORD_RETURN(x)	typedefTable.isKind( yytext ); RETURN_VAL(x); // quasi-keyword
+#define QKEYWORD_RETURN(x)	RETURN_VAL(x);				// quasi-keyword
 #define IDENTIFIER_RETURN()	RETURN_VAL( typedefTable.isKind( yytext ) )
 #define ATTRIBUTE_RETURN()	RETURN_VAL( ATTR_IDENTIFIER )
@@ -232,6 +239,12 @@
 finally			{ KEYWORD_RETURN(FINALLY); }			// CFA
 float			{ KEYWORD_RETURN(FLOAT); }
+_Float32		{ KEYWORD_RETURN(FLOAT); }				// GCC
+_Float32x		{ KEYWORD_RETURN(FLOAT); }				// GCC
+_Float64		{ KEYWORD_RETURN(DOUBLE); }				// GCC
+_Float64x		{ KEYWORD_RETURN(DOUBLE); }				// GCC
 __float80		{ KEYWORD_RETURN(FLOAT80); }			// GCC
 float80			{ KEYWORD_RETURN(FLOAT80); }			// GCC
+_Float128		{ KEYWORD_RETURN(FLOAT128); }			// GCC
+_Float128x		{ KEYWORD_RETURN(FLOAT128); }			// GCC
 __float128		{ KEYWORD_RETURN(FLOAT128); }			// GCC
 float128		{ KEYWORD_RETURN(FLOAT128); }			// GCC
@@ -446,7 +459,9 @@
 
 %%
+
 // ----end of lexer----
 
 void yyerror( const char * errmsg ) {
+	SemanticErrorThrow = true;
 	cout << (yyfilename ? yyfilename : "*unknown file*") << ':' << yylineno << ':' << column - yyleng + 1
 		 << ": " << ErrorHelpers::error_str() << errmsg << " at token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << '"' << endl;
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/Parser/parser.yy	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu May 24 18:11:59 2018
-// Update Count     : 3369
+// Last Modified On : Fri Jun 22 13:59:11 2018
+// Update Count     : 3586
 //
 
@@ -136,5 +136,5 @@
 } // build_postfix_name
 
-bool forall = false, xxx = false;						// aggregate have one or more forall qualifiers ?
+bool forall = false, xxx = false, yyy = false;			// aggregate have one or more forall qualifiers ?
 
 // https://www.gnu.org/software/bison/manual/bison.html#Location-Type
@@ -175,4 +175,5 @@
 	bool flag;
 	CatchStmt::Kind catch_kind;
+	GenericExpr * genexpr;
 }
 
@@ -259,9 +260,10 @@
 %type<flag> asm_volatile_opt
 %type<en> handler_predicate_opt
+%type<genexpr> generic_association generic_assoc_list
 
 // statements
 %type<sn> statement						labeled_statement			compound_statement
 %type<sn> statement_decl				statement_decl_list			statement_list_nodecl
-%type<sn> selection_statement
+%type<sn> selection_statement			if_statement
 %type<sn> switch_clause_list_opt		switch_clause_list
 %type<en> case_value
@@ -302,5 +304,7 @@
 %type<en> enumerator_value_opt
 
-%type<decl> exception_declaration external_definition external_definition_list external_definition_list_opt
+%type<decl> external_definition external_definition_list external_definition_list_opt
+
+%type<decl> exception_declaration
 
 %type<decl> field_declaration field_declaration_list_opt field_declarator_opt field_declaring_list
@@ -324,5 +328,5 @@
 %type<decl> cfa_identifier_parameter_declarator_tuple cfa_identifier_parameter_ptr
 
-%type<decl> cfa_parameter_declaration cfa_parameter_list cfa_parameter_type_list_opt
+%type<decl> cfa_parameter_declaration cfa_parameter_list cfa_parameter_ellipsis_list_opt
 
 %type<decl> cfa_typedef_declaration cfa_variable_declaration cfa_variable_specifier
@@ -330,5 +334,5 @@
 %type<decl> c_declaration static_assert
 %type<decl> KR_function_declarator KR_function_no_ptr KR_function_ptr KR_function_array
-%type<decl> KR_declaration_list KR_declaration_list_opt
+%type<decl> KR_parameter_list KR_parameter_list_opt
 
 %type<decl> parameter_declaration parameter_list parameter_type_list_opt
@@ -402,26 +406,30 @@
 //************************* Namespace Management ********************************
 
-// The grammar in the ANSI C standard is not strictly context-free, since it relies upon the distinct terminal symbols
-// "identifier", "TYPEDEFname", and "TYPEGENname" 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" -- parameterized 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 (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, 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 "otype"
-// declarations).
-//
-// The non-terminals "push" and "pop" 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.
+// The C grammar is not context free because it relies on the distinct terminal symbols "identifier" and "TYPEDEFname",
+// which are lexically identical.
+//
+//   typedef int foo; // identifier foo must now be scanned as TYPEDEFname
+//   foo f;           // to allow it to appear in this context
+//
+// While it may be possible to write a purely context-free grammar, such a grammar would obscure the relationship
+// between syntactic and semantic constructs.  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" -- parameterized types.  This latter type name creates a third class of identifiers, "TYPEGENname", which
+// must be distinguished by the lexical scanner.
+//
+// Since the scanner cannot distinguish among the different classes of identifiers without some context information,
+// there is a type table (typedefTable), which holds type names and identifiers that override type names, for each named
+// scope. During parsing, semantic actions update the type table by adding new identifiers in the current scope. For
+// each context that introduces a name scope, a new level is created in the type table and that level is popped on
+// exiting the scope.  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 "otype" declarations).
+//
+// The non-terminals "push" and "pop" denote the opening and closing of named scopes. Every push has a matching pop in
+// the production rule. There are multiple lists of declarations, where each declaration is a named scope, so pop/push
+// around the list separator.
+//
+//  int f( forall(T) T (*f1) T , forall( S ) S (*f2)( S ) );
+//      push               pop   push                   pop
 
 push:
@@ -497,19 +505,36 @@
 		{ $$ = new ExpressionNode( build_func( new ExpressionNode( build_postfix_name( $5 ) ), $2 ) ); }
 	| type_name '.' no_attr_identifier					// CFA, nested type
-		{ SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
+		// { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
+		{ $$ = nullptr; }
 	| type_name '.' '[' field_list ']'					// CFA, nested type / tuple field selector
-		{ SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
+		// { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
+		{ $$ = nullptr; }
 	| GENERIC '(' assignment_expression ',' generic_assoc_list ')' // C11
-		{ SemanticError( yylloc, "_Generic is currently unimplemented." ); $$ = nullptr; }
+		{
+			// add the missing control expression to the GenericExpr and return it
+			$5->control = maybeMoveBuild<Expression>( $3 );
+			$$ = new ExpressionNode( $5 );
+		}
 	;
 
 generic_assoc_list:										// C11
-	| generic_association
+	generic_association
 	| generic_assoc_list ',' generic_association
+		{
+			// steal the association node from the singleton and delete the wrapper
+			$1->associations.splice($1->associations.end(), $3->associations);
+			delete $3;
+			$$ = $1;
+		}
 	;
 
 generic_association:									// C11
 	type_no_function ':' assignment_expression
+		{
+			// create a GenericExpr wrapper with one association pair
+			$$ = new GenericExpr( nullptr, { { maybeMoveBuildType($1), maybeMoveBuild<Expression>($3) } } );
+		}
 	| DEFAULT ':' assignment_expression
+		{ $$ = new GenericExpr( nullptr, { { maybeMoveBuild<Expression>($3) } } ); }
 	;
 
@@ -623,5 +648,4 @@
 		// semantics checks, e.g., ++3, 3--, *3, &&3
 	| constant
-		{ $$ = $1; }
 	| string_literal
 		{ $$ = new ExpressionNode( $1 ); }
@@ -835,10 +859,10 @@
 //	'[' ']'
 //		{ $$ = new ExpressionNode( build_tuple() ); }
-//	'[' push assignment_expression pop ']'
+//	| '[' push assignment_expression pop ']'
 //		{ $$ = new ExpressionNode( build_tuple( $3 ) ); }
-	'[' push ',' tuple_expression_list pop ']'
-		{ $$ = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( $4 ) ) ); }
-	| '[' push assignment_expression ',' tuple_expression_list pop ']'
-		{ $$ = new ExpressionNode( build_tuple( (ExpressionNode *)$3->set_last( $5 ) ) ); }
+	'[' ',' tuple_expression_list ']'
+		{ $$ = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( $3 ) ) ); }
+	| '[' push assignment_expression pop ',' tuple_expression_list ']'
+		{ $$ = new ExpressionNode( build_tuple( (ExpressionNode *)$3->set_last( $6 ) ) ); }
 	;
 
@@ -892,18 +916,15 @@
 	'{' '}'
 		{ $$ = new StatementNode( build_compound( (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
+	| '{' push
 	  local_label_declaration_opt						// GCC, local labels
 	  statement_decl_list								// C99, intermix declarations and statements
 	  pop '}'
-		{ $$ = new StatementNode( build_compound( $5 ) ); }
+		{ $$ = new StatementNode( build_compound( $4 ) ); }
 	;
 
 statement_decl_list:									// C99
 	statement_decl
-	| statement_decl_list push statement_decl
-		{ if ( $1 != 0 ) { $1->set_last( $3 ); $$ = $1; } }
+	| statement_decl_list statement_decl
+		{ if ( $1 != 0 ) { $1->set_last( $2 ); $$ = $1; } }
 	;
 
@@ -923,5 +944,5 @@
 			$$ = new StatementNode( $2 );
 		}
-	| statement pop
+	| statement
 	;
 
@@ -938,12 +959,11 @@
 
 selection_statement:
-	IF '(' push if_control_expression ')' statement		%prec THEN
-		// explicitly deal with the shift/reduce conflict on if/else
-		{ $$ = new StatementNode( build_if( $4, $6, nullptr ) ); }
-	| IF '(' push if_control_expression ')' statement ELSE statement
-		{ $$ = new StatementNode( build_if( $4, $6, $8 ) ); }
+			// pop causes a S/R conflict without separating the IF statement into a non-terminal even after resolving
+			// the inherent S/R conflict with THEN/ELSE.
+	push if_statement pop
+		{ $$ = $2; }
 	| SWITCH '(' comma_expression ')' case_clause
 		{ $$ = new StatementNode( build_switch( true, $3, $5 ) ); }
-	| SWITCH '(' comma_expression ')' '{' push declaration_list_opt switch_clause_list_opt '}' // CFA
+	| SWITCH '(' comma_expression ')' '{' push declaration_list_opt switch_clause_list_opt pop '}' // CFA
 		{
 			StatementNode *sw = new StatementNode( build_switch( true, $3, $8 ) );
@@ -957,5 +977,5 @@
 	| CHOOSE '(' comma_expression ')' case_clause		// CFA
 		{ $$ = new StatementNode( build_switch( false, $3, $5 ) ); }
-	| CHOOSE '(' comma_expression ')' '{' push declaration_list_opt switch_clause_list_opt '}' // CFA
+	| CHOOSE '(' comma_expression ')' '{' push declaration_list_opt switch_clause_list_opt pop '}' // CFA
 		{
 			StatementNode *sw = new StatementNode( build_switch( false, $3, $8 ) );
@@ -964,10 +984,18 @@
 	;
 
+if_statement:
+	IF '(' if_control_expression ')' statement			%prec THEN
+		// explicitly deal with the shift/reduce conflict on if/else
+		{ $$ = new StatementNode( build_if( $3, $5, nullptr ) ); }
+	| IF '(' if_control_expression ')' statement ELSE statement
+		{ $$ = new StatementNode( build_if( $3, $5, $7 ) ); }
+	;
+
 if_control_expression:
-	comma_expression pop
+	comma_expression
 		{ $$ = new IfCtl( nullptr, $1 ); }
-	| c_declaration pop									// no semi-colon
+	| c_declaration										// no semi-colon
 		{ $$ = new IfCtl( $1, nullptr ); }
-	| cfa_declaration pop								// no semi-colon
+	| cfa_declaration									// no semi-colon
 		{ $$ = new IfCtl( $1, nullptr ); }
 	| declaration comma_expression						// semi-colon separated
@@ -1026,15 +1054,15 @@
 
 iteration_statement:
-	WHILE '(' comma_expression ')' statement
-		{ $$ = new StatementNode( build_while( $3, $5 ) ); }
+	WHILE '(' push if_control_expression ')' statement pop
+		{ $$ = new StatementNode( build_while( $4, $6 ) ); }
 	| DO statement WHILE '(' comma_expression ')' ';'
-		{ $$ = new StatementNode( build_while( $5, $2, true ) ); }
-	| FOR '(' push for_control_expression ')' statement
+		{ $$ = new StatementNode( build_do_while( $5, $2 ) ); }
+	| FOR '(' push for_control_expression ')' statement pop
 		{ $$ = new StatementNode( build_for( $4, $6 ) ); }
 	;
 
 for_control_expression:
-	comma_expression_opt pop ';' comma_expression_opt ';' comma_expression_opt
-		{ $$ = new ForCtl( $1, $4, $6 ); }
+	comma_expression_opt ';' comma_expression_opt ';' comma_expression_opt
+		{ $$ = new ForCtl( $1, $3, $5 ); }
 	| declaration comma_expression_opt ';' comma_expression_opt // C99
 		{ $$ = new ForCtl( $1, $2, $4 ); }
@@ -1158,8 +1186,8 @@
 
 handler_clause:
-	handler_key '(' push push exception_declaration pop handler_predicate_opt ')' compound_statement pop
-		{ $$ = new StatementNode( build_catch( $1, $5, $7, $9 ) ); }
-	| handler_clause handler_key '(' push push exception_declaration pop handler_predicate_opt ')' compound_statement pop
-		{ $$ = (StatementNode *)$1->set_last( new StatementNode( build_catch( $2, $6, $8, $10 ) ) ); }
+	handler_key '(' push exception_declaration pop handler_predicate_opt ')' compound_statement pop
+		{ $$ = new StatementNode( build_catch( $1, $4, $6, $8 ) ); }
+	| handler_clause handler_key '(' push exception_declaration pop handler_predicate_opt ')' compound_statement pop
+		{ $$ = (StatementNode *)$1->set_last( new StatementNode( build_catch( $2, $5, $7, $9 ) ) ); }
 	;
 
@@ -1265,5 +1293,5 @@
 
 declaration_list_opt:									// used at beginning of switch statement
-	pop	// empty
+	// empty
 		{ $$ = nullptr; }
 	| declaration_list
@@ -1272,18 +1300,18 @@
 declaration_list:
 	declaration
-	| declaration_list push declaration
-		{ $$ = $1->appendList( $3 ); }
-	;
-
-KR_declaration_list_opt:								// used to declare parameter types in K&R style functions
+	| declaration_list declaration
+		{ $$ = $1->appendList( $2 ); }
+	;
+
+KR_parameter_list_opt:									// used to declare parameter types in K&R style functions
 	// empty
 		{ $$ = nullptr; }
-	| KR_declaration_list
-	;
-
-KR_declaration_list:
+	| KR_parameter_list
+	;
+
+KR_parameter_list:
 	push c_declaration pop ';'
 		{ $$ = $2; }
-	| KR_declaration_list push c_declaration pop ';'
+	| KR_parameter_list push c_declaration pop ';'
 		{ $$ = $1->appendList( $3 ); }
 	;
@@ -1305,7 +1333,7 @@
 
 declaration:											// old & new style declarations
-	c_declaration pop ';'
-	| cfa_declaration pop ';'							// CFA
-	| static_assert
+	c_declaration ';'
+	| cfa_declaration ';'								// CFA
+	| static_assert										// C11
 	;
 
@@ -1313,4 +1341,6 @@
 	STATICASSERT '(' constant_expression ',' string_literal ')' ';' // C11
 		{ $$ = DeclarationNode::newStaticAssert( $3, $5 ); }
+	| STATICASSERT '(' constant_expression ')' ';'		// CFA
+		{ $$ = DeclarationNode::newStaticAssert( $3, build_constantStr( *new string( "\"\"" ) ) ); }
 
 // C declaration syntax is notoriously confusing and error prone. Cforall provides its own type, variable and function
@@ -1357,5 +1387,4 @@
 cfa_function_declaration:								// CFA
 	cfa_function_specifier
-		{ $$ = $1; }
 	| type_qualifier_list cfa_function_specifier
 		{ $$ = $2->addQualifiers( $1 ); }
@@ -1364,24 +1393,24 @@
 	| declaration_qualifier_list type_qualifier_list cfa_function_specifier
 		{ $$ = $3->addQualifiers( $1 )->addQualifiers( $2 ); }
-	| cfa_function_declaration ',' identifier_or_type_name '(' cfa_parameter_type_list_opt ')'
+	| cfa_function_declaration ',' identifier_or_type_name '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		{
 			// Append the return type at the start (left-hand-side) to each identifier in the list.
 			DeclarationNode * ret = new DeclarationNode;
 			ret->type = maybeClone( $1->type->base );
-			$$ = $1->appendList( DeclarationNode::newFunction( $3, ret, $5, nullptr ) );
+			$$ = $1->appendList( DeclarationNode::newFunction( $3, ret, $6, nullptr ) );
 		}
 	;
 
 cfa_function_specifier:									// CFA
-//	'[' ']' identifier_or_type_name '(' push cfa_parameter_type_list_opt pop ')' // S/R conflict
+//	'[' ']' identifier_or_type_name '(' push cfa_parameter_ellipsis_list_opt pop ')' // S/R conflict
 //		{
 //			$$ = DeclarationNode::newFunction( $3, DeclarationNode::newTuple( 0 ), $6, 0, true );
 //		}
-//	'[' ']' identifier '(' push cfa_parameter_type_list_opt pop ')'
+//	'[' ']' identifier '(' push cfa_parameter_ellipsis_list_opt pop ')'
 //		{
 //			typedefTable.setNextIdentifier( *$5 );
 //			$$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true );
 //		}
-//	| '[' ']' TYPEDEFname '(' push cfa_parameter_type_list_opt pop ')'
+//	| '[' ']' TYPEDEFname '(' push cfa_parameter_ellipsis_list_opt pop ')'
 //		{
 //			typedefTable.setNextIdentifier( *$5 );
@@ -1391,13 +1420,13 @@
 		// identifier_or_type_name must be broken apart because of the sequence:
 		//
-		//   '[' ']' identifier_or_type_name '(' cfa_parameter_type_list_opt ')'
+		//   '[' ']' identifier_or_type_name '(' cfa_parameter_ellipsis_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_type_name.
-	cfa_abstract_tuple identifier_or_type_name '(' push cfa_parameter_type_list_opt pop ')'
+	cfa_abstract_tuple identifier_or_type_name '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		// To obtain LR(1 ), this rule must be factored out from function return type (see cfa_abstract_declarator).
 		{ $$ = DeclarationNode::newFunction( $2, $1, $5, 0 ); }
-	| cfa_function_return identifier_or_type_name '(' push cfa_parameter_type_list_opt pop ')'
+	| cfa_function_return identifier_or_type_name '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		{ $$ = DeclarationNode::newFunction( $2, $1, $5, 0 ); }
 	;
@@ -1414,15 +1443,15 @@
 	TYPEDEF cfa_variable_specifier
 		{
-			typedefTable.addToEnclosingScope( *$2->name, TYPEDEFname );
+			typedefTable.addToEnclosingScope( *$2->name, TYPEDEFname, "1" );
 			$$ = $2->addTypedef();
 		}
 	| TYPEDEF cfa_function_specifier
 		{
-			typedefTable.addToEnclosingScope( *$2->name, TYPEDEFname );
+			typedefTable.addToEnclosingScope( *$2->name, TYPEDEFname, "2" );
 			$$ = $2->addTypedef();
 		}
 	| cfa_typedef_declaration pop ',' push no_attr_identifier
 		{
-			typedefTable.addToEnclosingScope( *$5, TYPEDEFname );
+			typedefTable.addToEnclosingScope( *$5, TYPEDEFname, "3" );
 			$$ = $1->appendList( $1->cloneType( $5 ) );
 		}
@@ -1435,25 +1464,25 @@
 	TYPEDEF type_specifier declarator
 		{
-			typedefTable.addToEnclosingScope( *$3->name, TYPEDEFname );
+			typedefTable.addToEnclosingScope( *$3->name, TYPEDEFname, "4" );
 			$$ = $3->addType( $2 )->addTypedef();
 		}
 	| typedef_declaration pop ',' push declarator
 		{
-			typedefTable.addToEnclosingScope( *$5->name, TYPEDEFname );
+			typedefTable.addToEnclosingScope( *$5->name, TYPEDEFname, "5" );
 			$$ = $1->appendList( $1->cloneBaseType( $5 )->addTypedef() );
 		}
 	| type_qualifier_list TYPEDEF type_specifier declarator // remaining OBSOLESCENT (see 2 )
 		{
-			typedefTable.addToEnclosingScope( *$4->name, TYPEDEFname );
+			typedefTable.addToEnclosingScope( *$4->name, TYPEDEFname, "6" );
 			$$ = $4->addType( $3 )->addQualifiers( $1 )->addTypedef();
 		}
 	| type_specifier TYPEDEF declarator
 		{
-			typedefTable.addToEnclosingScope( *$3->name, TYPEDEFname );
+			typedefTable.addToEnclosingScope( *$3->name, TYPEDEFname, "7" );
 			$$ = $3->addType( $1 )->addTypedef();
 		}
 	| type_specifier TYPEDEF type_qualifier_list declarator
 		{
-			typedefTable.addToEnclosingScope( *$4->name, TYPEDEFname );
+			typedefTable.addToEnclosingScope( *$4->name, TYPEDEFname, "8" );
 			$$ = $4->addQualifiers( $1 )->addTypedef()->addType( $1 );
 		}
@@ -1582,6 +1611,6 @@
 
 forall:
-	FORALL '(' push type_parameter_list pop ')'					// CFA
-		{ $$ = DeclarationNode::newForall( $4 ); }
+	FORALL '(' type_parameter_list ')'					// CFA
+		{ $$ = DeclarationNode::newForall( $3 ); }
 	;
 
@@ -1765,12 +1794,12 @@
 		{ $$ = DeclarationNode::newFromTypedef( $1 ); }
 	| '.' TYPEDEFname
-		{ $$ = DeclarationNode::newFromTypedef( $2 ); }	// FIX ME
+		{ SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
 	| type_name '.' TYPEDEFname
-		{ $$ = DeclarationNode::newFromTypedef( $3 ); }	// FIX ME
+		{ SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
 	| typegen_name
 	| '.' typegen_name
-		{ $$ = $2; }									// FIX ME
+		{ SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
 	| type_name '.' typegen_name
-		{ $$ = $3; }									// FIX ME
+		{ SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
 	;
 
@@ -1794,15 +1823,28 @@
 	;
 
+fred:
+	// empty
+		{ yyy = false; }
+	;
+
 aggregate_type:											// struct, union
 	aggregate_key attribute_list_opt '{' field_declaration_list_opt '}'
 		{ $$ = DeclarationNode::newAggregate( $1, new string( DeclarationNode::anonymous.newName() ), nullptr, $4, true )->addQualifiers( $2 ); }
-	| aggregate_key attribute_list_opt no_attr_identifier_or_type_name
-		{
-			typedefTable.makeTypedef( *$3 );			// create typedef
-			if ( forall ) typedefTable.changeKind( *$3, TYPEGENname ); // possibly update
+	| aggregate_key attribute_list_opt no_attr_identifier fred
+		{
+			typedefTable.makeTypedef( *$3, forall ? TYPEGENname : TYPEDEFname ); // create typedef
+			//if ( forall ) typedefTable.changeKind( *$3, TYPEGENname ); // possibly update
 			forall = false;								// reset
 		}
 	  '{' field_declaration_list_opt '}'
-		{ $$ = DeclarationNode::newAggregate( $1, $3, nullptr, $6, true )->addQualifiers( $2 ); }
+		{ $$ = DeclarationNode::newAggregate( $1, $3, nullptr, $7, true )->addQualifiers( $2 ); }
+	| aggregate_key attribute_list_opt type_name fred
+		{
+			typedefTable.makeTypedef( *$3->type->symbolic.name, forall ? TYPEGENname : TYPEDEFname ); // create typedef
+			//if ( forall ) typedefTable.changeKind( *$3->type->symbolic.name, TYPEGENname ); // possibly update
+			forall = false;								// reset
+		}
+	  '{' field_declaration_list_opt '}'
+		{ $$ = DeclarationNode::newAggregate( $1, $3->type->symbolic.name, nullptr, $7, true )->addQualifiers( $2 ); }
 	| aggregate_key attribute_list_opt '(' type_list ')' '{' field_declaration_list_opt '}' // CFA
 		{ $$ = DeclarationNode::newAggregate( $1, new string( DeclarationNode::anonymous.newName() ), $4, $7, false )->addQualifiers( $2 ); }
@@ -1811,17 +1853,12 @@
 
 aggregate_type_nobody:									// struct, union - {...}
-	aggregate_key attribute_list_opt no_attr_identifier
-		{
-			typedefTable.makeTypedef( *$3 );
-			if ( forall ) typedefTable.changeKind( *$3, TYPEGENname ); // possibly update
+	aggregate_key attribute_list_opt no_attr_identifier fred
+		{
+			typedefTable.makeTypedef( *$3, forall ? TYPEGENname : TYPEDEFname );
+			//if ( forall ) typedefTable.changeKind( *$3, TYPEGENname ); // possibly update
 			forall = false;								// reset
 			$$ = DeclarationNode::newAggregate( $1, $3, nullptr, nullptr, false )->addQualifiers( $2 );
 		}
-	| aggregate_key attribute_list_opt TYPEDEFname
-		{
-			typedefTable.makeTypedef( *$3 );
-			$$ = DeclarationNode::newAggregate( $1, $3, nullptr, nullptr, false )->addQualifiers( $2 );
-		}
-	| aggregate_key attribute_list_opt typegen_name		// CFA
+	| aggregate_key attribute_list_opt type_name fred
 		{
 			// Create new generic declaration with same name as previous forward declaration, where the IDENTIFIER is
@@ -1837,15 +1874,15 @@
 aggregate_key:
 	STRUCT
-		{ $$ = DeclarationNode::Struct; }
+		{ yyy = true; $$ = DeclarationNode::Struct; }
 	| UNION
-		{ $$ = DeclarationNode::Union; }
+		{ yyy = true; $$ = DeclarationNode::Union; }
 	| EXCEPTION
-		{ $$ = DeclarationNode::Exception; }
+		{ yyy = true; $$ = DeclarationNode::Exception; }
 	| COROUTINE
-		{ $$ = DeclarationNode::Coroutine; }
+		{ yyy = true; $$ = DeclarationNode::Coroutine; }
 	| MONITOR
-		{ $$ = DeclarationNode::Monitor; }
+		{ yyy = true; $$ = DeclarationNode::Monitor; }
 	| THREAD
-		{ $$ = DeclarationNode::Thread; }
+		{ yyy = true; $$ = DeclarationNode::Thread; }
 	;
 
@@ -1858,19 +1895,16 @@
 
 field_declaration:
-	cfa_field_declaring_list ';'						// CFA, new style field declaration
+	type_specifier field_declaring_list ';'
+		{ $$ = distAttr( $1, $2 ); }
+	| EXTENSION type_specifier field_declaring_list ';'	// GCC
+		{ distExt( $3 ); $$ = distAttr( $2, $3 ); }		// mark all fields in list
+	| typedef_declaration ';'							// CFA
+		{ SemanticError( yylloc, "Typedef in aggregate is currently unimplemented." ); $$ = nullptr; }
+	| cfa_field_declaring_list ';'						// CFA, new style field declaration
 	| EXTENSION cfa_field_declaring_list ';'			// GCC
-		{
-			distExt( $2 );								// mark all fields in list
-			$$ = $2;
-		}
-	| type_specifier field_declaring_list ';'
-		{
-			$$ = distAttr( $1, $2 ); }
-	| EXTENSION type_specifier field_declaring_list ';'	// GCC
-		{
-			distExt( $3 );								// mark all fields in list
-			$$ = distAttr( $2, $3 );
-		}
-	| static_assert
+		{ distExt( $2 ); $$ = $2; }						// mark all fields in list
+	| cfa_typedef_declaration ';'						// CFA
+		{ SemanticError( yylloc, "Typedef in aggregate is currently unimplemented." ); $$ = nullptr; }
+	| static_assert										// C11
 	;
 
@@ -1911,5 +1945,4 @@
 		{ $$ = nullptr; }
 	| bit_subrange_size
-		{ $$ = $1; }
 	;
 
@@ -1922,16 +1955,24 @@
 	ENUM attribute_list_opt '{' enumerator_list comma_opt '}'
 		{ $$ = DeclarationNode::newEnum( new string( DeclarationNode::anonymous.newName() ), $4, true )->addQualifiers( $2 ); }
-	| ENUM attribute_list_opt no_attr_identifier_or_type_name
+	| ENUM attribute_list_opt no_attr_identifier
 		{ typedefTable.makeTypedef( *$3 ); }
 	  '{' enumerator_list comma_opt '}'
 		{ $$ = DeclarationNode::newEnum( $3, $6, true )->addQualifiers( $2 ); }
+	| ENUM attribute_list_opt type_name
+	  '{' enumerator_list comma_opt '}'
+		{ $$ = DeclarationNode::newEnum( $3->type->symbolic.name, $5, true )->addQualifiers( $2 ); }
 	| enum_type_nobody
 	;
 
 enum_type_nobody:										// enum - {...}
-	ENUM attribute_list_opt no_attr_identifier_or_type_name
+	ENUM attribute_list_opt no_attr_identifier
 		{
 			typedefTable.makeTypedef( *$3 );
 			$$ = DeclarationNode::newEnum( $3, 0, false )->addQualifiers( $2 );
+		}
+	| ENUM attribute_list_opt type_name
+		{
+			typedefTable.makeTypedef( *$3->type->symbolic.name );
+			$$ = DeclarationNode::newEnum( $3->type->symbolic.name, 0, false )->addQualifiers( $2 );
 		}
 	;
@@ -1951,5 +1992,5 @@
 	;
 
-cfa_parameter_type_list_opt:							// CFA, abstract + real
+cfa_parameter_ellipsis_list_opt:							// CFA, abstract + real
 	// empty
 		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Void ); }
@@ -2084,5 +2125,5 @@
 		{ $$ = $2; }
 	| '=' VOID
-		{ $$ = nullptr; }
+		{ $$ = new InitializerNode( true ); }
 	| ATassign initializer
 		{ $$ = $2->set_maybeConstructed( false ); }
@@ -2161,5 +2202,4 @@
 type_parameter_list:									// CFA
 	type_parameter
-		{ $$ = $1; }
 	| type_parameter_list ',' type_parameter
 		{ $$ = $1->appendList( $3 ); }
@@ -2175,5 +2215,5 @@
 type_parameter:											// CFA
 	type_class no_attr_identifier_or_type_name
-		{ typedefTable.addToEnclosingScope( *$2, TYPEDEFname ); }
+		{ typedefTable.addToScope( *$2, TYPEDEFname, "9" ); }
 	  type_initializer_opt assertion_list_opt
 		{ $$ = DeclarationNode::newTypeParam( $1, $2 )->addTypeInitializer( $4 )->addAssertions( $5 ); }
@@ -2209,8 +2249,8 @@
 	'|' no_attr_identifier_or_type_name '(' type_list ')'
 		{ $$ = DeclarationNode::newTraitUse( $2, $4 ); }
-	| '|' '{' push trait_declaration_list '}'
+	| '|' '{' push trait_declaration_list pop '}'
 		{ $$ = $4; }
-	| '|' '(' push type_parameter_list pop ')' '{' push trait_declaration_list '}' '(' type_list ')'
-		{ SemanticError( yylloc, "Generic data-type assertion is currently unimplemented." ); $$ = nullptr; }
+	// | '|' '(' push type_parameter_list pop ')' '{' push trait_declaration_list pop '}' '(' type_list ')'
+	// 	{ SemanticError( yylloc, "Generic data-type assertion is currently unimplemented." ); $$ = nullptr; }
 	;
 
@@ -2244,30 +2284,30 @@
 	no_attr_identifier_or_type_name
 		{
-			typedefTable.addToEnclosingScope( *$1, TYPEDEFname );
+			typedefTable.addToEnclosingScope( *$1, TYPEDEFname, "10" );
 			$$ = DeclarationNode::newTypeDecl( $1, 0 );
 		}
-	| no_attr_identifier_or_type_name '(' push type_parameter_list pop ')'
-		{
-			typedefTable.addToEnclosingScope( *$1, TYPEGENname );
-			$$ = DeclarationNode::newTypeDecl( $1, $4 );
+	| no_attr_identifier_or_type_name '(' type_parameter_list ')'
+		{
+			typedefTable.addToEnclosingScope( *$1, TYPEGENname, "11" );
+			$$ = DeclarationNode::newTypeDecl( $1, $3 );
 		}
 	;
 
 trait_specifier:										// CFA
-	TRAIT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' '}'
-		{ $$ = DeclarationNode::newTrait( $2, $5, 0 ); }
-	| TRAIT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' push trait_declaration_list '}'
-		{ $$ = DeclarationNode::newTrait( $2, $5, $10 ); }
+	TRAIT no_attr_identifier_or_type_name '(' type_parameter_list ')' '{' '}'
+		{ $$ = DeclarationNode::newTrait( $2, $4, 0 ); }
+	| TRAIT no_attr_identifier_or_type_name '(' type_parameter_list ')' '{' push trait_declaration_list pop '}'
+		{ $$ = DeclarationNode::newTrait( $2, $4, $8 ); }
 	;
 
 trait_declaration_list:									// CFA
 	trait_declaration
-	| trait_declaration_list push trait_declaration
-		{ $$ = $1->appendList( $3 ); }
+	| trait_declaration_list pop push trait_declaration
+		{ $$ = $1->appendList( $4 ); }
 	;
 
 trait_declaration:										// CFA
-	cfa_trait_declaring_list pop ';'
-	| trait_declaring_list pop ';'
+	cfa_trait_declaring_list ';'
+	| trait_declaring_list ';'
 	;
 
@@ -2289,6 +2329,5 @@
 
 translation_unit:
-	// empty
-		{}												// empty input file
+	// empty, input file
 	| external_definition_list
 		{ parseTree = parseTree ? parseTree->appendList( $1 ) : $1;	}
@@ -2296,8 +2335,9 @@
 
 external_definition_list:
-	external_definition
+	push external_definition pop
+		{ $$ = $2; }
 	| external_definition_list
 		{ forall = xxx; }
-	  push external_definition
+	  push external_definition pop
 		{ $$ = $1 ? $1->appendList( $4 ) : $4; }
 	;
@@ -2309,7 +2349,20 @@
 	;
 
+up:
+		{ typedefTable.up(); }
+	;
+
+down:
+		{ typedefTable.down(); }
+	;
+
 external_definition:
 	declaration
 	| external_function_definition
+	| EXTENSION external_definition						// GCC, multiple __extension__ allowed, meaning unknown
+		{
+			distExt( $2 );								// mark all fields in list
+			$$ = $2;
+		}
 	| ASM '(' string_literal ')' ';'					// GCC, global assembler statement
 		{
@@ -2321,18 +2374,16 @@
 			linkage = LinkageSpec::linkageUpdate( yylloc, linkage, $2 );
 		}
-	  '{' external_definition_list_opt '}'
+	  '{' up external_definition_list_opt down '}'
 		{
 			linkage = linkageStack.top();
 			linkageStack.pop();
-			$$ = $5;
-		}
-	| EXTENSION external_definition						// GCC, multiple __extension__ allowed, meaning unknown
-		{
-			distExt( $2 );								// mark all fields in list
-			$$ = $2;
+			$$ = $6;
 		}
 	| type_qualifier_list
-		{ if ( $1->type->forall ) xxx = forall = true; } // remember generic type
-	  push '{' external_definition_list '}'				// CFA, namespace
+		{
+			if ( $1->type->qualifiers.val ) { SemanticError( yylloc, "CV qualifiers cannot be distributed; only storage-class and forall qualifiers." ); }
+			if ( $1->type->forall ) xxx = forall = true; // remember generic type
+		}
+	  '{' up external_definition_list_opt down '}'		// CFA, namespace
 		{
 			for ( DeclarationNode * iter = $5; iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) {
@@ -2346,6 +2397,9 @@
 		}
 	| declaration_qualifier_list
-		{ if ( $1->type->forall ) xxx = forall = true; } // remember generic type
-	  push '{' external_definition_list '}'				// CFA, namespace
+		{
+			if ( $1->type->qualifiers.val ) { SemanticError( yylloc, "CV qualifiers cannot be distributed; only storage-class and forall qualifiers." ); }
+			if ( $1->type->forall ) xxx = forall = true; // remember generic type
+		}
+	  '{' up external_definition_list_opt down '}'		// CFA, namespace
 		{
 			for ( DeclarationNode * iter = $5; iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) {
@@ -2360,8 +2414,8 @@
 	| declaration_qualifier_list type_qualifier_list
 		{
-			// forall must be in the type_qualifier_list
-			if ( $2->type->forall ) xxx = forall = true; // remember generic type
-		}
-	  push '{' external_definition_list '}'				// CFA, namespace
+			if ( ($1->type && $1->type->qualifiers.val) || $2->type->qualifiers.val ) { SemanticError( yylloc, "CV qualifiers cannot be distributed; only storage-class and forall qualifiers." ); }
+			if ( ($1->type && $1->type->forall) || $2->type->forall ) xxx = forall = true; // remember generic type
+		}
+	  '{' up external_definition_list_opt down '}'		// CFA, namespace
 		{
 			for ( DeclarationNode * iter = $6; iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) {
@@ -2387,5 +2441,5 @@
 	| function_declarator compound_statement
 		{ $$ = $1->addFunctionBody( $2 ); }
-	| KR_function_declarator KR_declaration_list_opt compound_statement
+	| KR_function_declarator KR_parameter_list_opt compound_statement
 		{ $$ = $1->addOldDeclList( $2 )->addFunctionBody( $3 ); }
 	;
@@ -2427,5 +2481,5 @@
 
 		// Old-style K&R function definition, OBSOLESCENT (see 4)
-	| declaration_specifier KR_function_declarator KR_declaration_list_opt with_clause_opt compound_statement
+	| declaration_specifier KR_function_declarator KR_parameter_list_opt with_clause_opt compound_statement
 		{
 			rebindForall( $1, $2 );
@@ -2433,11 +2487,11 @@
 		}
 		// handles default int return type, OBSOLESCENT (see 1)
-	| type_qualifier_list KR_function_declarator KR_declaration_list_opt with_clause_opt compound_statement
+	| type_qualifier_list KR_function_declarator KR_parameter_list_opt with_clause_opt compound_statement
 		{ $$ = $2->addOldDeclList( $3 )->addFunctionBody( $5, $4 )->addQualifiers( $1 ); }
 		// handles default int return type, OBSOLESCENT (see 1)
-	| declaration_qualifier_list KR_function_declarator KR_declaration_list_opt with_clause_opt compound_statement
+	| declaration_qualifier_list KR_function_declarator KR_parameter_list_opt with_clause_opt compound_statement
 		{ $$ = $2->addOldDeclList( $3 )->addFunctionBody( $5, $4 )->addQualifiers( $1 ); }
 		// handles default int return type, OBSOLESCENT (see 1)
-	| declaration_qualifier_list type_qualifier_list KR_function_declarator KR_declaration_list_opt with_clause_opt compound_statement
+	| declaration_qualifier_list type_qualifier_list KR_function_declarator KR_parameter_list_opt with_clause_opt compound_statement
 		{ $$ = $3->addOldDeclList( $4 )->addFunctionBody( $6, $5 )->addQualifiers( $2 )->addQualifiers( $1 ); }
 	;
@@ -2684,5 +2738,5 @@
 	typedef
 		// hide type name in enclosing scope by variable name
-		{ typedefTable.addToEnclosingScope( *$1->name, IDENTIFIER ); }
+		{ typedefTable.addToEnclosingScope( *$1->name, IDENTIFIER, "ID" ); }
 	| '(' paren_type ')'
 		{ $$ = $2; }
@@ -2974,10 +3028,10 @@
 	'[' ']'
 		{ $$ = DeclarationNode::newArray( 0, 0, false ); }
-	// multi_array_dimension handles the '[' '*' ']' case
+		// 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
+		// multi_array_dimension handles the '[' assignment_expression ']' case
 	| '[' push type_qualifier_list assignment_expression pop ']'
 		{ $$ = DeclarationNode::newArray( $4, $3, false ); }
@@ -3115,5 +3169,5 @@
 //
 //		cfa_abstract_tuple identifier_or_type_name
-//		'[' cfa_parameter_list ']' identifier_or_type_name '(' cfa_parameter_type_list_opt ')'
+//		'[' cfa_parameter_list ']' identifier_or_type_name '(' cfa_parameter_ellipsis_list_opt ')'
 //
 // since a function return type can be syntactically identical to a tuple type:
@@ -3174,12 +3228,16 @@
 	'[' push cfa_abstract_parameter_list pop ']'
 		{ $$ = DeclarationNode::newTuple( $3 ); }
+	| '[' push type_specifier_nobody ELLIPSIS pop ']'
+		{ SemanticError( yylloc, "Tuple array currently unimplemented." ); $$ = nullptr; }
+	| '[' push type_specifier_nobody ELLIPSIS constant_expression pop ']'
+		{ SemanticError( yylloc, "Tuple array currently unimplemented." ); $$ = nullptr; }
 	;
 
 cfa_abstract_function:									// CFA
-//	'[' ']' '(' cfa_parameter_type_list_opt ')'
+//	'[' ']' '(' cfa_parameter_ellipsis_list_opt ')'
 //		{ $$ = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), $4, nullptr ); }
-	cfa_abstract_tuple '(' push cfa_parameter_type_list_opt pop ')'
+	cfa_abstract_tuple '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		{ $$ = DeclarationNode::newFunction( nullptr, $1, $4, nullptr ); }
-	| cfa_function_return '(' push cfa_parameter_type_list_opt pop ')'
+	| cfa_function_return '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		{ $$ = DeclarationNode::newFunction( nullptr, $1, $4, nullptr ); }
 	;
@@ -3212,4 +3270,5 @@
 
 %%
+
 // ----end of grammar----
 
Index: src/ResolvExpr/Alternative.cc
===================================================================
--- src/ResolvExpr/Alternative.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/Alternative.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -30,5 +30,5 @@
 
 namespace ResolvExpr {
-	Alternative::Alternative() : cost( Cost::zero ), cvtCost( Cost::zero ), expr( 0 ) {}
+	Alternative::Alternative() : cost( Cost::zero ), cvtCost( Cost::zero ), expr( nullptr ) {}
 
 	Alternative::Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost )
Index: src/ResolvExpr/AlternativeFinder.cc
===================================================================
--- src/ResolvExpr/AlternativeFinder.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/AlternativeFinder.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -100,4 +100,5 @@
 		void postvisit( InitExpr * initExpr );
 		void postvisit( DeletedExpr * delExpr );
+		void postvisit( GenericExpr * genExpr );
 
 		/// Adds alternatives for anonymous members
@@ -177,8 +178,18 @@
 						selected[ mangleName ] = current;
 					} else if ( candidate->cost == mapPlace->second.candidate->cost ) {
-						PRINT(
-							std::cerr << "marking ambiguous" << std::endl;
-						)
-						mapPlace->second.isAmbiguous = true;
+						// if one of the candidates contains a deleted identifier, can pick the other, since
+						// deleted expressions should not be ambiguous if there is another option that is at least as good
+						if ( findDeletedExpr( candidate->expr ) ) {
+							// do nothing
+							PRINT( std::cerr << "candidate is deleted" << std::endl; )
+						} else if ( findDeletedExpr( mapPlace->second.candidate->expr ) ) {
+							PRINT( std::cerr << "current is deleted" << std::endl; )
+							selected[ mangleName ] = current;
+						} else {
+							PRINT(
+								std::cerr << "marking ambiguous" << std::endl;
+							)
+							mapPlace->second.isAmbiguous = true;
+						}
 					} else {
 						PRINT(
@@ -300,6 +311,6 @@
 		// it's okay for the aggregate expression to have reference type -- cast it to the base type to treat the aggregate as the referenced value
 		Expression* aggrExpr = alt.expr->clone();
-		alt.env.apply( aggrExpr->get_result() );
-		Type * aggrType = aggrExpr->get_result();
+		alt.env.apply( aggrExpr->result );
+		Type * aggrType = aggrExpr->result;
 		if ( dynamic_cast< ReferenceType * >( aggrType ) ) {
 			aggrType = aggrType->stripReferences();
@@ -307,7 +318,7 @@
 		}
 
-		if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->get_result() ) ) {
+		if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->result ) ) {
 			addAggMembers( structInst, aggrExpr, alt.cost+Cost::safe, alt.env, "" );
-		} else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->get_result() ) ) {
+		} else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->result ) ) {
 			addAggMembers( unionInst, aggrExpr, alt.cost+Cost::safe, alt.env, "" );
 		} // if
@@ -319,9 +330,12 @@
 		aggInst->lookup( name, members );
 
-		for ( std::list< Declaration* >::const_iterator i = members.begin(); i != members.end(); ++i ) {
-			if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( *i ) ) {
-				alternatives.push_back( Alternative( new MemberExpr( dwt, expr->clone() ), env, newCost ) );
-				renameTypes( alternatives.back().expr );
-				addAnonConversions( alternatives.back() ); // add anonymous member interpretations whenever an aggregate value type is seen as a member expression.
+		for ( Declaration * decl : members ) {
+			if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( decl ) ) {
+				// addAnonAlternatives uses vector::push_back, which invalidates references to existing elements, so
+				// can't construct in place and use vector::back
+				Alternative newAlt( new MemberExpr( dwt, expr->clone() ), env, newCost );
+				renameTypes( newAlt.expr );
+				addAnonConversions( newAlt ); // add anonymous member interpretations whenever an aggregate value type is seen as a member expression.
+				alternatives.push_back( std::move(newAlt) );
 			} else {
 				assert( false );
@@ -333,22 +347,9 @@
 		if ( ConstantExpr * constantExpr = dynamic_cast< ConstantExpr * >( member ) ) {
 			// get the value of the constant expression as an int, must be between 0 and the length of the tuple type to have meaning
-			// xxx - this should be improved by memoizing the value of constant exprs
-			// during parsing and reusing that information here.
-			std::stringstream ss( constantExpr->get_constant()->get_value() );
-			int val = 0;
+			auto val = constantExpr->intValue();
 			std::string tmp;
-			if ( ss >> val && ! (ss >> tmp) ) {
-				if ( val >= 0 && (unsigned int)val < tupleType->size() ) {
-					alternatives.push_back( Alternative( new TupleIndexExpr( expr, val ), env, newCost ) );
-				} // if
+			if ( val >= 0 && (unsigned long long)val < tupleType->size() ) {
+				alternatives.push_back( Alternative( new TupleIndexExpr( expr->clone(), val ), env, newCost ) );
 			} // if
-		} else if ( NameExpr * nameExpr = dynamic_cast< NameExpr * >( member ) ) {
-			// xxx - temporary hack until 0/1 are int constants
-			if ( nameExpr->get_name() == "0" || nameExpr->get_name() == "1" ) {
-				std::stringstream ss( nameExpr->get_name() );
-				int val;
-				ss >> val;
-				alternatives.push_back( Alternative( new TupleIndexExpr( expr, val ), env, newCost ) );
-			}
 		} // if
 	}
@@ -437,4 +438,11 @@
 					return Cost::infinity;
 				}
+			}
+			if ( DefaultArgExpr * def = dynamic_cast< DefaultArgExpr * >( *actualExpr ) ) {
+				// default arguments should be free - don't include conversion cost.
+				// Unwrap them here because they are not relevant to the rest of the system.
+				*actualExpr = def->expr;
+				++formal;
+				continue;
 			}
 			Type * formalType = (*formal)->get_type();
@@ -764,6 +772,8 @@
 	ConstantExpr* getDefaultValue( Initializer* init ) {
 		if ( SingleInit* si = dynamic_cast<SingleInit*>( init ) ) {
-			if ( CastExpr* ce = dynamic_cast<CastExpr*>( si->get_value() ) ) {
-				return dynamic_cast<ConstantExpr*>( ce->get_arg() );
+			if ( CastExpr* ce = dynamic_cast<CastExpr*>( si->value ) ) {
+				return dynamic_cast<ConstantExpr*>( ce->arg );
+			} else {
+				return dynamic_cast<ConstantExpr*>( si->value );
 			}
 		}
@@ -1026,5 +1036,5 @@
 								indexer ) ) {
 							results.emplace_back(
-								i, cnstExpr, move(env), move(need), move(have),
+								i, new DefaultArgExpr( cnstExpr ), move(env), move(need), move(have),
 								move(openVars), nextArg, nTuples );
 						}
@@ -1359,4 +1369,5 @@
 		funcFinder.findWithAdjustment( untypedExpr->function );
 		// if there are no function alternatives, then proceeding is a waste of time.
+		// xxx - findWithAdjustment throws, so this check and others like it shouldn't be necessary.
 		if ( funcFinder.alternatives.empty() ) return;
 
@@ -1386,5 +1397,5 @@
 			argExpansions.emplace_back();
 			auto& argE = argExpansions.back();
-			argE.reserve( arg.alternatives.size() );
+			// argE.reserve( arg.alternatives.size() );
 
 			for ( const Alternative& actual : arg ) {
@@ -1409,6 +1420,6 @@
 							std::back_inserter( candidates ) );
 					}
-				} else if ( TypeInstType *typeInst = dynamic_cast< TypeInstType* >( func->expr->get_result()->stripReferences() ) ) { // handle ftype (e.g. *? on function pointer)
-					if ( ClassRef eqvClass = func->env.lookup( typeInst->get_name() ) ) {
+				} else if ( TypeInstType *typeInst = dynamic_cast< TypeInstType* >( func->expr->result->stripReferences() ) ) { // handle ftype (e.g. *? on function pointer)
+					if ( ClassRef eqvClass = func->env.lookup( typeInst->name ) ) {
 						if ( FunctionType *function = dynamic_cast< FunctionType* >( eqvClass.get_bound().type ) ) {
 							Alternative newFunc( *func );
@@ -1665,5 +1676,8 @@
 			Cost cost = Cost::zero;
 			Expression * newExpr = data.combine( cost );
-			alternatives.push_back( Alternative( newExpr, env, Cost::zero, cost ) );
+
+			// addAnonAlternatives uses vector::push_back, which invalidates references to existing elements, so
+			// can't construct in place and use vector::back
+			Alternative newAlt( newExpr, env, Cost::zero, cost );
 			PRINT(
 				std::cerr << "decl is ";
@@ -1674,6 +1688,7 @@
 				std::cerr << std::endl;
 			)
-			renameTypes( alternatives.back().expr );
-			addAnonConversions( alternatives.back() ); // add anonymous member interpretations whenever an aggregate value type is seen as a name expression.
+			renameTypes( newAlt.expr );
+			addAnonConversions( newAlt ); // add anonymous member interpretations whenever an aggregate value type is seen as a name expression.
+			alternatives.push_back( std::move(newAlt) );
 		} // for
 	}
@@ -2042,4 +2057,8 @@
 		assertf( false, "AlternativeFinder should never see a DeletedExpr." );
 	}
+
+	void AlternativeFinder::Finder::postvisit( GenericExpr * ) {
+		assertf( false, "_Generic is not yet supported." );
+	}
 } // namespace ResolvExpr
 
Index: src/ResolvExpr/CommonType.cc
===================================================================
--- src/ResolvExpr/CommonType.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/CommonType.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -24,5 +24,5 @@
 #include "SynTree/Type.h"                // for BasicType, BasicType::Kind::...
 #include "SynTree/Visitor.h"             // for Visitor
-#include "Unify.h"                       // for unifyExact, bindVar, WidenMode
+#include "Unify.h"                       // for unifyExact, WidenMode
 #include "typeops.h"                     // for isFtype
 
@@ -176,31 +176,37 @@
 	}
 
-	static const BasicType::Kind combinedType[ BasicType::NUMBER_OF_BASIC_TYPES ][ BasicType::NUMBER_OF_BASIC_TYPES ] =
+	static const BasicType::Kind combinedType[][ BasicType::NUMBER_OF_BASIC_TYPES ] =
 	{
-/* 		Bool		Char	SignedChar	UnsignedChar	ShortSignedInt	ShortUnsignedInt	SignedInt	UnsignedInt	LongSignedInt	LongUnsignedInt	LongLongSignedInt	LongLongUnsignedInt	Float	Double	LongDouble	FloatComplex	DoubleComplex	LongDoubleComplex	FloatImaginary	DoubleImaginary	LongDoubleImaginary   SignedInt128   UnsignedInt128 */
-		/* Bool */ 	{ BasicType::Bool,		BasicType::Char,	BasicType::SignedChar,	BasicType::UnsignedChar,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* Char */ 	{ BasicType::Char,		BasicType::Char,	BasicType::UnsignedChar,	BasicType::UnsignedChar,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* SignedChar */ 	{ BasicType::SignedChar,	BasicType::UnsignedChar,	BasicType::SignedChar,	BasicType::UnsignedChar,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* UnsignedChar */ 	{ BasicType::UnsignedChar,	BasicType::UnsignedChar,	BasicType::UnsignedChar,	BasicType::UnsignedChar,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* ShortSignedInt */ 	{ BasicType::ShortSignedInt,	BasicType::ShortSignedInt,	BasicType::ShortSignedInt,	BasicType::ShortSignedInt,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* ShortUnsignedInt */ 	{ BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* SignedInt */ 	{ BasicType::SignedInt,		BasicType::SignedInt,	BasicType::SignedInt,	BasicType::SignedInt,	BasicType::SignedInt,	BasicType::SignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* UnsignedInt */ 	{ BasicType::UnsignedInt,		BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* LongSignedInt */ 	{ BasicType::LongSignedInt,		BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* LongUnsignedInt */ 	{ BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* LongLongSignedInt */ 	{ BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* LongLongUnsignedInt */ 	{ BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* Float */ 	{ BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::Float,	BasicType::Float, },
-		/* Double */ 	{ BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::LongDouble,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::Double,	BasicType::Double, },
-		/* LongDouble */ 	{ BasicType::LongDouble,		BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDouble,	BasicType::LongDouble, },
-		/* FloatComplex */ 	{ BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::FloatComplex, },
-		/* DoubleComplex */ 	{ BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex, },
-		/* LongDoubleComplex */ 	{ BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex, },
-		/* FloatImaginary */ 	{ BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatImaginary,	BasicType::DoubleImaginary,	BasicType::LongDoubleImaginary,	BasicType::FloatImaginary,	BasicType::FloatImaginary, },
-		/* DoubleImaginary */ 	{ BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleImaginary,	BasicType::DoubleImaginary,	BasicType::LongDoubleImaginary,	BasicType::DoubleImaginary,	BasicType::DoubleImaginary, },
-		/* LongDoubleImaginary */ 	{ BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleImaginary,	BasicType::LongDoubleImaginary,	BasicType::LongDoubleImaginary },
-		/* SignedInt128 */ 	{ BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, },
-		/* UnsignedInt128 */ 	{ BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128, },
+/* 		Bool		Char	SignedChar	UnsignedChar	ShortSignedInt	ShortUnsignedInt	SignedInt	UnsignedInt	LongSignedInt	LongUnsignedInt	LongLongSignedInt	LongLongUnsignedInt	Float	Double	LongDouble	FloatComplex	DoubleComplex	LongDoubleComplex	FloatImaginary	DoubleImaginary	LongDoubleImaginary   SignedInt128   UnsignedInt128   Float80   Float128 */
+		/* Bool */ 	{ BasicType::Bool,		BasicType::Char,	BasicType::SignedChar,	BasicType::UnsignedChar,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* Char */ 	{ BasicType::Char,		BasicType::Char,	BasicType::UnsignedChar,	BasicType::UnsignedChar,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* SignedChar */ 	{ BasicType::SignedChar,	BasicType::UnsignedChar,	BasicType::SignedChar,	BasicType::UnsignedChar,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* UnsignedChar */ 	{ BasicType::UnsignedChar,	BasicType::UnsignedChar,	BasicType::UnsignedChar,	BasicType::UnsignedChar,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* ShortSignedInt */ 	{ BasicType::ShortSignedInt,	BasicType::ShortSignedInt,	BasicType::ShortSignedInt,	BasicType::ShortSignedInt,	BasicType::ShortSignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* ShortUnsignedInt */ 	{ BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::ShortUnsignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* SignedInt */ 	{ BasicType::SignedInt,		BasicType::SignedInt,	BasicType::SignedInt,	BasicType::SignedInt,	BasicType::SignedInt,	BasicType::SignedInt,	BasicType::SignedInt,	BasicType::UnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* UnsignedInt */ 	{ BasicType::UnsignedInt,		BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::UnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* LongSignedInt */ 	{ BasicType::LongSignedInt,		BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongSignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* LongUnsignedInt */ 	{ BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongUnsignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* LongLongSignedInt */ 	{ BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongSignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* LongLongUnsignedInt */ 	{ BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::LongLongUnsignedInt,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128 },
+		/* Float */ 	{ BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::Float,	BasicType::Float, BasicType::Float80, BasicType::Float128 },
+		/* Double */ 	{ BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::Double,	BasicType::LongDouble,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::Double,	BasicType::Double, BasicType::Float80, BasicType::Float128 },
+		/* LongDouble */ 	{ BasicType::LongDouble,		BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDouble,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDouble,	BasicType::LongDouble, BasicType::BasicType::LongDouble, BasicType::Float128 },
+		/* FloatComplex */ 	{ BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::FloatComplex, BasicType::LongDoubleComplex, BasicType::LongDoubleComplex, },
+		/* DoubleComplex */ 	{ BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex, BasicType::LongDoubleComplex, BasicType::LongDoubleComplex },
+		/* LongDoubleComplex */ 	{ BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex, BasicType::LongDoubleComplex, BasicType::LongDoubleComplex, },
+		/* FloatImaginary */ 	{ BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatImaginary,	BasicType::DoubleImaginary,	BasicType::LongDoubleImaginary,	BasicType::FloatImaginary,	BasicType::FloatImaginary, BasicType::LongDoubleImaginary, BasicType::LongDoubleImaginary, },
+		/* DoubleImaginary */ 	{ BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::DoubleImaginary,	BasicType::DoubleImaginary,	BasicType::LongDoubleImaginary,	BasicType::DoubleImaginary,	BasicType::DoubleImaginary, BasicType::LongDoubleImaginary, BasicType::LongDoubleImaginary, },
+		/* LongDoubleImaginary */ 	{ BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleImaginary,	BasicType::LongDoubleImaginary,	BasicType::LongDoubleImaginary, BasicType::LongDoubleImaginary, BasicType::LongDoubleImaginary, },
+		/* SignedInt128 */ 	{ BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::SignedInt128,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::SignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128, },
+		/* UnsignedInt128 */ 	{ BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128,	BasicType::Float,	BasicType::Double,	BasicType::LongDouble,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::FloatComplex,	BasicType::DoubleComplex,	BasicType::LongDoubleComplex,	BasicType::UnsignedInt128,	BasicType::UnsignedInt128, BasicType::Float80, BasicType::Float128, },
+		/* Float80 */ 	{ BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::Float80,	BasicType::LongDouble,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::Float80,	BasicType::Float80, BasicType::Float80, BasicType::Float128 },
+		/* Float128 */ 	{ BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::Float128,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::LongDoubleComplex,	BasicType::Float128,	BasicType::Float128, BasicType::Float128, BasicType::Float128 },
 	};
+	static_assert(
+		sizeof(combinedType)/sizeof(combinedType[0][0]) == BasicType::NUMBER_OF_BASIC_TYPES*BasicType::NUMBER_OF_BASIC_TYPES,
+		"Each basic type kind should have a corresponding row in the combined type matrix"
+	);
 
 	CommonType::CommonType( Type *type2, bool widenFirst, bool widenSecond, const SymTab::Indexer &indexer, TypeEnvironment &env, const OpenVarSet &openVars )
@@ -232,5 +238,5 @@
 				AssertionSet need, have;
 				WidenMode widen( widenFirst, widenSecond );
-				if ( entry != openVars.end() && ! bindVar(var, voidPointer->get_base(), entry->second, env, need, have, openVars, widen, indexer ) ) return;
+				if ( entry != openVars.end() && ! env.bindVar(var, voidPointer->get_base(), entry->second, need, have, openVars, widen, indexer ) ) return;
 			}
 		}
Index: src/ResolvExpr/ConversionCost.cc
===================================================================
--- src/ResolvExpr/ConversionCost.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/ConversionCost.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -231,32 +231,40 @@
 */
 
-	static const int costMatrix[ BasicType::NUMBER_OF_BASIC_TYPES ][ BasicType::NUMBER_OF_BASIC_TYPES ] = {
-	/* Src \ Dest:	Bool	Char	SChar	UChar	Short	UShort	Int 	UInt	Long	ULong	LLong	ULLong	Float	Double	LDbl	FCplex	DCplex	LDCplex	FImag	DImag	LDImag	I128,	U128 */
-		/* Bool */ 	{ 0,	1,		1,		2,		3,		4,		5,		6,		6,		7,		8,		9,		12,		13,		14,		12,		13,		14,		-1,		-1,		-1,		10,		11,	},
-		/* Char */ 	{ -1,	0,		-1,		1,		2,		3,		4,		5,		5,		6,		7,		8,		11,		12,		13,		11,		12,		13,		-1,		-1,		-1,		9,		10,	},
-		/* SChar */ { -1,	-1,		0,		1,		2,		3,		4,		5,		5,		6,		7,		8,		11,		12,		13,		11,		12,		13,		-1,		-1,		-1,		9,		10,	},
-		/* UChar */ { -1,	-1,		-1,		0,		1,		2,		3,		4,		4,		5,		6,		7,		10,		11,		12,		10,		11,		12,		-1,		-1,		-1,		8,		9,	},
-		/* Short */ { -1,	-1,		-1,		-1,		0,		1,		2,		3,		3,		4,		5,		6,		9,		10,		11,		9,		10,		11,		-1,		-1,		-1,		7,		8,	},
-		/* UShort */{ -1,	-1,		-1,		-1,		-1,		0,		1,		2,		2,		3,		4,		5,		8,		9,		10,		8,		9,		10,		-1,		-1,		-1,		6,		7,	},
-		/* Int */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		0,		1,		1,		2,		3,		4,		7,		8,		9,		7,		8,		9,		-1,		-1,		-1,		5,		6,	},
-		/* UInt */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		0,		-1,		1,		2,		3,		6,		7,		8,		6,		7,		8,		-1,		-1,		-1,		4,		5,	},
-		/* Long */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		2,		3,		6,		7,		8,		6,		7,		8,		-1,		-1,		-1,		4,		5,	},
-		/* ULong */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		2,		5,		6,		7,		5,		6,		7,		-1,		-1,		-1,		3,		4,	},
-		/* LLong */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		4,		5,		6,		4,		5,		6,		-1,		-1,		-1,		2,		3,	},
-		/* ULLong */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		3,		4,		5,		3,		4,		5,		-1,		-1,		-1,		1,		2,	},
-
-		/* Float */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		2,		1,		2,		3,		-1,		-1,		-1,		-1,		-1,	},
-		/* Double */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		-1,		1,		2,		-1,		-1,		-1,		-1,		-1,	},
-		/* LDbl */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		-1,		-1,		1,		-1,		-1,		-1,		-1,		-1,	},
-		/* FCplex */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		2,		-1,		-1,		-1,		-1,		-1,	},
-		/* DCplex */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		-1,		-1,		-1,		-1,		-1,	},
-		/* LDCplex */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		-1,		-1,		-1,		-1,		-1,	},
-		/* FImag */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		2,		3,		0,		1,		2,		-1,		-1,	},
-		/* DImag */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		2,		-1,		0,		1,		-1,		-1,	},
-		/* LDImag */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		-1,		-1,		0,		-1,		-1,	},
-
-		/* I128 */  { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		2,		3,		4,		3,		4,		5,		-1,		-1,		-1,		0,		1,	},
-		/* U128 */  { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		2,		3,		2,		3,		4,		-1,		-1,		-1,		-1,		0,	},
+	static const int costMatrix[][ BasicType::NUMBER_OF_BASIC_TYPES ] = {
+	/* Src \ Dest:	Bool	Char	SChar	UChar	Short	UShort	Int 	UInt	Long	ULong	LLong	ULLong	Float	Double	LDbl	FCplex	DCplex	LDCplex	FImag	DImag	LDImag	I128,	U128, F80, F128 */
+		/* Bool */ 	{ 0,	1,		1,		2,		3,		4,		5,		6,		6,		7,		8,		9,		12,		13,		14,		12,		13,		14,		-1,		-1,		-1,		10,		11,	  14,   15},
+		/* Char */ 	{ -1,	0,		-1,		1,		2,		3,		4,		5,		5,		6,		7,		8,		11,		12,		13,		11,		12,		13,		-1,		-1,		-1,		9,		10,	  13,   14},
+		/* SChar */ { -1,	-1,		0,		1,		2,		3,		4,		5,		5,		6,		7,		8,		11,		12,		13,		11,		12,		13,		-1,		-1,		-1,		9,		10,	  13,   14},
+		/* UChar */ { -1,	-1,		-1,		0,		1,		2,		3,		4,		4,		5,		6,		7,		10,		11,		12,		10,		11,		12,		-1,		-1,		-1,		8,		9,	  12,   13},
+		/* Short */ { -1,	-1,		-1,		-1,		0,		1,		2,		3,		3,		4,		5,		6,		9,		10,		11,		9,		10,		11,		-1,		-1,		-1,		7,		8,	  11,   12},
+		/* UShort */{ -1,	-1,		-1,		-1,		-1,		0,		1,		2,		2,		3,		4,		5,		8,		9,		10,		8,		9,		10,		-1,		-1,		-1,		6,		7,	  10,   11},
+		/* Int */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		0,		1,		1,		2,		3,		4,		7,		8,		9,		7,		8,		9,		-1,		-1,		-1,		5,		6,	  9,    10},
+		/* UInt */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		0,		-1,		1,		2,		3,		6,		7,		8,		6,		7,		8,		-1,		-1,		-1,		4,		5,	  8,    9},
+		/* Long */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		2,		3,		6,		7,		8,		6,		7,		8,		-1,		-1,		-1,		4,		5,	  8,    9},
+		/* ULong */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		2,		5,		6,		7,		5,		6,		7,		-1,		-1,		-1,		3,		4,	  7,    8},
+		/* LLong */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		4,		5,		6,		4,		5,		6,		-1,		-1,		-1,		2,		3,	  6,    7},
+		/* ULLong */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		3,		4,		5,		3,		4,		5,		-1,		-1,		-1,		1,		2,	  5,    6},
+
+		/* Float */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		2,		1,		2,		3,		-1,		-1,		-1,		-1,		-1,	  2,    3},
+		/* Double */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		-1,		1,		2,		-1,		-1,		-1,		-1,		-1,	  1,    2},
+		/* LDbl */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		-1,		-1,		1,		-1,		-1,		-1,		-1,		-1,	  -1,   1},
+		/* FCplex */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		2,		-1,		-1,		-1,		-1,		-1,	  -1,   -1},
+		/* DCplex */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		1,		-1,		-1,		-1,		-1,		-1,	  -1,   -1},
+		/* LDCplex */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		0,		-1,		-1,		-1,		-1,		-1,	  -1,   -1},
+		/* FImag */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		2,		3,		0,		1,		2,		-1,		-1,	  -1,   -1},
+		/* DImag */ { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		2,		-1,		0,		1,		-1,		-1,	  -1,   -1},
+		/* LDImag */{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		-1,		-1,		0,		-1,		-1,	  -1,   -1},
+
+		/* I128 */  { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		2,		3,		4,		3,		4,		5,		-1,		-1,		-1,		0,		1,	  4,    4},
+		/* U128 */  { -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		2,		3,		2,		3,		4,		-1,		-1,		-1,		-1,		0,	  3,    3},
+
+		/* F80 */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		-1,		-1,		1,		-1,		-1,		-1,		-1,		-1,	  0,    1},
+		/* F128 */ 	{ -1,	-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		-1,		1,		-1,		-1,		-1,		-1,		-1,	  -1,   0},
 	};
+	static_assert(
+		sizeof(costMatrix)/sizeof(costMatrix[0][0]) == BasicType::NUMBER_OF_BASIC_TYPES*BasicType::NUMBER_OF_BASIC_TYPES,
+		"Each basic type kind should have a corresponding row in the cost matrix"
+	);
+
 
 	void ConversionCost::postvisit( VoidType * ) {
Index: src/ResolvExpr/ExplodedActual.h
===================================================================
--- src/ResolvExpr/ExplodedActual.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/ExplodedActual.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -31,6 +31,7 @@
 
 		ExplodedActual() : env(), cost(Cost::zero), exprs() {}
-
 		ExplodedActual( const Alternative& actual, const SymTab::Indexer& indexer );
+		ExplodedActual(ExplodedActual&&) = default;
+		ExplodedActual& operator= (ExplodedActual&&) = default;
 	};
 }
Index: src/ResolvExpr/Resolver.cc
===================================================================
--- src/ResolvExpr/Resolver.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/Resolver.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -217,5 +217,5 @@
 			if ( findDeletedExpr( choice.expr ) ) {
 				trace( choice.expr );
-				SemanticError( choice.expr, "Unique best alternative includes deleted identifier in " );
+				SemanticError( untyped->location, choice.expr, "Unique best alternative includes deleted identifier in " );
 			}
 			alt = std::move( choice );
@@ -252,4 +252,5 @@
 
 		auto untyped = new CastExpr{ expr }; // cast to void
+		untyped->location = expr->location;
 
 		// set up and resolve expression cast to void
@@ -277,5 +278,8 @@
 	void findSingleExpression( Expression *& untyped, Type * type, const SymTab::Indexer & indexer ) {
 		assert( untyped && type );
+		// transfer location to generated cast for error purposes
+		CodeLocation location = untyped->location;
 		untyped = new CastExpr( untyped, type );
+		untyped->location = location;
 		findSingleExpression( untyped, indexer );
 		removeExtraneousCast( untyped, indexer );
@@ -580,8 +584,6 @@
 
 							// Make sure we don't widen any existing bindings
-							for ( auto & i : resultEnv ) {
-								i.allowWidening = false;
-							}
-
+							resultEnv.forbidWidening();
+							
 							// Find any unbound type variables
 							resultEnv.extractOpenVars( openVars );
Index: src/ResolvExpr/Resolver.h
===================================================================
--- src/ResolvExpr/Resolver.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/Resolver.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -36,4 +36,6 @@
 	void resolveCtorInit( ConstructorInit * ctorInit, const SymTab::Indexer & indexer );
 	void resolveStmtExpr( StmtExpr * stmtExpr, const SymTab::Indexer & indexer );
+	/// Searches expr and returns the first DeletedExpr found, otherwise nullptr
+	DeletedExpr * findDeletedExpr( Expression * expr );
 } // namespace ResolvExpr
 
Index: src/ResolvExpr/TypeEnvironment.cc
===================================================================
--- src/ResolvExpr/TypeEnvironment.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/TypeEnvironment.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -7,9 +7,9 @@
 // TypeEnvironment.cc --
 //
-// Author           : Richard C. Bilson
+// Author           : Aaron B. Moss
 // Created On       : Sun May 17 12:19:47 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 17 12:23:36 2015
-// Update Count     : 3
+// Last Modified By : Aaron B. Moss
+// Last Modified On : Fri Jun 29 15:51:00 2018
+// Update Count     : 5
 //
 
@@ -27,4 +27,5 @@
 #include "SynTree/TypeSubstitution.h"  // for TypeSubstitution
 #include "TypeEnvironment.h"
+#include "typeops.h"                   // for occurs
 #include "Unify.h"                     // for unifyInexact
 
@@ -50,18 +51,29 @@
 #if 0
 	void EqvClass::initialize( const EqvClass &src, EqvClass &dest ) {
+		initialize( src, dest, src.type );
+	}
+
+	void EqvClass::initialize( const EqvClass &src, EqvClass &dest, const Type *ty ) {
 		dest.vars = src.vars;
-		dest.type = maybeClone( src.type );
+		dest.type = maybeClone( ty );
 		dest.allowWidening = src.allowWidening;
 		dest.data = src.data;
 	}
 
-	EqvClass::EqvClass() : vars(), type( 0 ), allowWidening( true ), data() {}
-
-	EqvClass::EqvClass( std::vector<interned_string>&& vs, BoundType&& bound )
-		: vars( vs.begin(), vs.end() ), type( maybeClone( bound.type ) ), 
-		  allowWidening( bound.allowWidening ), data( bound.data ) {}
+	EqvClass::EqvClass() : type( nullptr ), allowWidening( true ) {
+	}
 
 	EqvClass::EqvClass( const EqvClass &other ) {
 		initialize( other, *this );
+	}
+
+	EqvClass::EqvClass( const EqvClass &other, const Type *ty ) {
+		initialize( other, *this, ty );
+	}
+
+	EqvClass::EqvClass( EqvClass &&other ) 
+	: vars{std::move(other.vars)}, type{other.type}, 
+	  allowWidening{std::move(other.allowWidening)}, data{std::move(other.data)} {
+		  other.type = nullptr;
 	}
 
@@ -71,4 +83,17 @@
 		return *this;
 	}
+
+	EqvClass &EqvClass::operator=( EqvClass &&other ) {
+		if ( this == &other ) return *this;
+		
+		vars = std::move(other.vars);
+		type = other.type;
+		allowWidening = std::move(other.allowWidening);
+		data = std::move(other.data);
+
+		return *this;
+	}
+
+	void EqvClass::set_type( Type* ty ) { type = ty; }
 
 	void EqvClass::print( std::ostream &os, Indenter indent ) const {
@@ -88,11 +113,5 @@
 	const EqvClass* TypeEnvironment::lookup( const std::string &var ) const {
 		for ( std::list< EqvClass >::const_iterator i = env.begin(); i != env.end(); ++i ) {
-			if ( i->vars.find( var ) != i->vars.end() ) {
-///       std::cout << var << " is in class ";
-///       i->print( std::cout );
-				return &*i;
-			}
-///     std::cout << var << " is not in class ";
-///     i->print( std::cout );
+			if ( i->vars.find( var ) != i->vars.end() ) return &*i;
 		} // for
 		return nullptr;
@@ -118,4 +137,13 @@
 		if ( root ) return { this, root };
 		else return { nullptr, var };
+	}
+
+	bool isFtype( Type *type ) {
+		if ( dynamic_cast< FunctionType* >( type ) ) {
+			return true;
+		} else if ( TypeInstType *typeInst = dynamic_cast< TypeInstType* >( type ) ) {
+			return typeInst->get_isFtype();
+		} // if
+		return false;
 	}
 
@@ -288,9 +316,4 @@
 	}
 
-	void TypeEnvironment::add( const EqvClass &eqvClass ) {
-		filterOverlappingClasses( env, eqvClass );
-		env.push_back( eqvClass );
-	}
-
 	void TypeEnvironment::add( EqvClass &&eqvClass ) {
 		filterOverlappingClasses( env, eqvClass );
@@ -303,5 +326,5 @@
 			newClass.vars.insert( (*i)->get_name() );
 			newClass.data = TypeDecl::Data{ (*i) };
-			env.push_back( newClass );
+			env.push_back( std::move(newClass) );
 		} // for
 	}
@@ -317,5 +340,5 @@
 			// transition to TypeSubstitution
 			newClass.data = TypeDecl::Data{ TypeDecl::Dtype, false };
-			add( newClass );
+			add( std::move(newClass) );
 		}
 	}
@@ -324,27 +347,18 @@
 		for ( std::list< EqvClass >::const_iterator theClass = env.begin(); theClass != env.end(); ++theClass ) {
 			for ( std::set< std::string >::const_iterator theVar = theClass->vars.begin(); theVar != theClass->vars.end(); ++theVar ) {
-///       std::cerr << "adding " << *theVar;
 				if ( theClass->type ) {
-///         std::cerr << " bound to ";
-///         theClass->type->print( std::cerr );
-///         std::cerr << std::endl;
 					sub.add( *theVar, theClass->type );
 				} else if ( theVar != theClass->vars.begin() ) {
 					TypeInstType *newTypeInst = new TypeInstType( Type::Qualifiers(), *theClass->vars.begin(), theClass->data.kind == TypeDecl::Ftype );
-///         std::cerr << " bound to variable " << *theClass->vars.begin() << std::endl;
 					sub.add( *theVar, newTypeInst );
 				} // if
 			} // for
 		} // for
-///   std::cerr << "input env is:" << std::endl;
-///   print( std::cerr, 8 );
-///   std::cerr << "sub is:" << std::endl;
-///   sub.print( std::cerr, 8 );
 		sub.normalize();
 	}
 
 	void TypeEnvironment::print( std::ostream &os, Indenter indent ) const {
-		for ( std::list< EqvClass >::const_iterator i = env.begin(); i != env.end(); ++i ) {
-			i->print( os, indent );
+		for ( const EqvClass & theClass : env ) {
+			theClass.print( os, indent );
 		} // for
 	}
@@ -352,7 +366,5 @@
 	std::list< EqvClass >::iterator TypeEnvironment::internal_lookup( const std::string &var ) {
 		for ( std::list< EqvClass >::iterator i = env.begin(); i != env.end(); ++i ) {
-			if ( i->vars.find( var ) == i->vars.end() ) {
-				return i;
-			} // if
+			if ( i->vars.count( var ) ) return i;
 		} // for
 		return env.end();
Index: src/ResolvExpr/TypeEnvironment.h
===================================================================
--- src/ResolvExpr/TypeEnvironment.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/TypeEnvironment.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Sun May 17 12:24:58 2015
 // Last Modified By : Aaron B. Moss
-// Last Modified On : Wed Jun 13 16:31:00 2018
-// Update Count     : 4
+// Last Modified On : Fri Jun 29 16:00:00 2018
+// Update Count     : 5
 //
 
@@ -24,4 +24,6 @@
 #include <utility>                         // for pair
 #include <vector>                          // for vector
+
+#include "WidenMode.h"                 // for WidenMode
 
 #include "Common/InternedString.h"         // for interned_string
@@ -95,12 +97,18 @@
 
 		void initialize( const EqvClass &src, EqvClass &dest );
+		void initialize( const EqvClass &src, EqvClass &dest, const Type *ty );
 		EqvClass();
-		EqvClass( std::vector<interned_string>&& vars, BoundType&& bound );
 		EqvClass( const EqvClass &other );
+		EqvClass( const EqvClass &other, const Type *ty );
+		EqvClass( EqvClass &&other );
 		EqvClass &operator=( const EqvClass &other );
+		EqvClass &operator=( EqvClass &&other );
 		void print( std::ostream &os, Indenter indent = {} ) const;
-	};
-#endif
-
+
+		/// Takes ownership of `ty`, freeing old `type`
+		void set_type(Type* ty);
+	};
+#endif
+	
 	class TypeEnvironment;
 
@@ -206,6 +214,7 @@
 			WidenMode widenMode, const SymTab::Indexer& indexer );
 #if !1
-		void add( const EqvClass &eqvClass );
-		void add( EqvClass &&eqvClass  );
+	private:
+		void add( EqvClass &&eqvClass );
+	public:
 		void add( const Type::ForallList &tyDecls );
 		void add( const TypeSubstitution & sub );
@@ -226,13 +235,11 @@
 		/// and extracts open variables.
 		void addActual( const TypeEnvironment& actualEnv, OpenVarSet& openVars );
+
+		/// Disallows widening for all bindings in the environment
+		void forbidWidening();
 #endif
 
 		iterator begin() { return { this, bindings->begin() }; }
 		iterator end() { return { this, bindings->end() }; }
-#if 0
-		typedef std::list< EqvClass >::const_iterator const_iterator;
-		const_iterator begin() const { return env.begin(); }
-		const_iterator end() const { return env.end(); }
-#endif
 	};
 
Index: src/ResolvExpr/Unify.cc
===================================================================
--- src/ResolvExpr/Unify.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/Unify.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 12:27:10 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Mar 16 16:22:54 2017
-// Update Count     : 42
+// Last Modified By : Aaron B. Moss
+// Last Modified On : Mon Jun 18 11:58:00 2018
+// Update Count     : 43
 //
 
@@ -122,135 +122,4 @@
 	}
 
-	bool isFtype( Type *type ) {
-		if ( dynamic_cast< FunctionType* >( type ) ) {
-			return true;
-		} else if ( TypeInstType *typeInst = dynamic_cast< TypeInstType* >( type ) ) {
-			return typeInst->get_isFtype();
-		} // if
-		return false;
-	}
-
-	bool bindVar( TypeInstType *typeInst, Type *other, const TypeDecl::Data & data, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, const OpenVarSet &openVars, WidenMode widenMode, const SymTab::Indexer &indexer ) {
-		// remove references from other, so that type variables can only bind to value types
-		other = other->stripReferences();
-		OpenVarSet::const_iterator tyvar = openVars.find( typeInst->get_name() );
-		assert( tyvar != openVars.end() );
-		if ( ! tyVarCompatible( tyvar->second, other ) ) {
-			return false;
-		} // if
-		if ( occurs( other, typeInst->get_name(), env ) ) {
-			return false;
-		} // if
-		if ( const EqvClass *curClass = env.lookup( typeInst->get_name() ) ) {
-			if ( curClass->type ) {
-				Type *common = 0;
-				// attempt to unify equivalence class type (which has qualifiers stripped, so they must be restored) with the type to bind to
-				Type* newType = curClass->type->clone();
-				newType->get_qualifiers() = typeInst->get_qualifiers();
-				if ( unifyInexact( newType, other, env, needAssertions, haveAssertions, openVars, widenMode & WidenMode( curClass->allowWidening, true ), indexer, common ) ) {
-					if ( common ) {
-						common->get_qualifiers() = Type::Qualifiers();
-						EqvClass newClass = *curClass;
-						newClass.type = common;
-						env.add( std::move(newClass) );
-					} // if
-					return true;
-				} else {
-					return false;
-				} // if
-			} else {
-				EqvClass newClass = *curClass;
-				newClass.type = other->clone();
-				newClass.type->get_qualifiers() = Type::Qualifiers();
-				newClass.allowWidening = widenMode.widenFirst && widenMode.widenSecond;
-				env.add( std::move(newClass) );
-			} // if
-		} else {
-			EqvClass newClass;
-			newClass.vars.insert( typeInst->get_name() );
-			newClass.type = other->clone();
-			newClass.type->get_qualifiers() = Type::Qualifiers();
-			newClass.allowWidening = widenMode.widenFirst && widenMode.widenSecond;
-			newClass.data = data;
-			env.add( newClass );
-		} // if
-		return true;
-	}
-
-	bool bindVarToVar( TypeInstType *var1, TypeInstType *var2, const TypeDecl::Data & data, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, const OpenVarSet &openVars, WidenMode widenMode, const SymTab::Indexer &indexer ) {
-		bool result = true;
-		const EqvClass *class1 = env.lookup( var1->get_name() );
-		const EqvClass *class2 = env.lookup( var2->get_name() );
-		bool widen1 = false, widen2 = false;
-		Type *type1 = nullptr, *type2 = nullptr;
-
-		if ( class1 ) {
-			if ( class1->type ) {
-				if ( occurs( class1->type, var2->get_name(), env ) ) {
-					return false;
-				} // if
-				type1 = class1->type->clone();
-			} // if
-			widen1 = widenMode.widenFirst && class1->allowWidening;
-		} // if
-		if ( class2 ) {
-			if ( class2->type ) {
-				if ( occurs( class2->type, var1->get_name(), env ) ) {
-					return false;
-				} // if
-				type2 = class2->type->clone();
-			} // if
-			widen2 = widenMode.widenSecond && class2->allowWidening;
-		} // if
-
-		if ( type1 && type2 ) {
-//    std::cerr << "has type1 && type2" << std::endl;
-			WidenMode newWidenMode ( widen1, widen2 );
-			Type *common = 0;
-			if ( unifyInexact( type1, type2, env, needAssertions, haveAssertions, openVars, newWidenMode, indexer, common ) ) {
-				EqvClass newClass1 = *class1;
-				newClass1.vars.insert( class2->vars.begin(), class2->vars.end() );
-				newClass1.allowWidening = widen1 && widen2;
-				if ( common ) {
-					common->get_qualifiers() = Type::Qualifiers();
-					newClass1.type = common;
-				} // if
-				env.add( std::move(newClass1) );
-			} else {
-				result = false;
-			} // if
-		} else if ( class1 && class2 ) {
-			if ( type1 ) {
-				EqvClass newClass1 = *class1;
-				newClass1.vars.insert( class2->vars.begin(), class2->vars.end() );
-				newClass1.allowWidening = widen1;
-				env.add( std::move(newClass1) );
-			} else {
-				EqvClass newClass2 = *class2;
-				newClass2.vars.insert( class1->vars.begin(), class1->vars.end() );
-				newClass2.allowWidening = widen2;
-				env.add( std::move(newClass2) );
-			} // if
-		} else if ( class1 ) {
-			EqvClass newClass1 = *class1;
-			newClass1.vars.insert( var2->get_name() );
-			newClass1.allowWidening = widen1;
-			env.add( std::move(newClass1) );
-		} else if ( class2 ) {
-			EqvClass newClass2 = *class2;
-			newClass2.vars.insert( var1->get_name() );
-			newClass2.allowWidening = widen2;
-			env.add( std::move(newClass2) );
-		} else {
-			EqvClass newClass;
-			newClass.vars.insert( var1->get_name() );
-			newClass.vars.insert( var2->get_name() );
-			newClass.allowWidening = widen1 && widen2;
-			newClass.data = data;
-			env.add( newClass );
-		} // if
-		return result;
-	}
-
 	bool unify( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, OpenVarSet &openVars, const SymTab::Indexer &indexer ) {
 		OpenVarSet closedVars;
@@ -290,9 +159,9 @@
 
 		if ( isopen1 && isopen2 && entry1->second == entry2->second ) {
-			result = bindVarToVar( var1, var2, entry1->second, env, needAssertions, haveAssertions, openVars, widenMode, indexer );
+			result = env.bindVarToVar( var1, var2, entry1->second, needAssertions, haveAssertions, openVars, widenMode, indexer );
 		} else if ( isopen1 ) {
-			result = bindVar( var1, type2, entry1->second, env, needAssertions, haveAssertions, openVars, widenMode, indexer );
+			result = env.bindVar( var1, type2, entry1->second, needAssertions, haveAssertions, openVars, widenMode, indexer );
 		} else if ( isopen2 ) { // TODO: swap widenMode values in call, since type positions are flipped?
-			result = bindVar( var2, type1, entry2->second, env, needAssertions, haveAssertions, openVars, widenMode, indexer );
+			result = env.bindVar( var2, type1, entry2->second, needAssertions, haveAssertions, openVars, widenMode, indexer );
 		} else {
 			PassVisitor<Unify> comparator( type2, env, needAssertions, haveAssertions, openVars, widenMode, indexer );
Index: src/ResolvExpr/Unify.h
===================================================================
--- src/ResolvExpr/Unify.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/ResolvExpr/Unify.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 13:09:04 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jul 21 23:09:34 2017
-// Update Count     : 3
+// Last Modified By : Aaron B. Moss
+// Last Modified On : Mon Jun 18 11:58:00 2018
+// Update Count     : 4
 //
 
@@ -21,4 +21,5 @@
 #include "SynTree/Declaration.h"  // for TypeDecl, TypeDecl::Data
 #include "TypeEnvironment.h"      // for AssertionSet, OpenVarSet
+#include "WidenMode.h"            // for WidenMode
 
 class Type;
@@ -29,19 +30,8 @@
 
 namespace ResolvExpr {
-	struct WidenMode {
-		WidenMode( bool widenFirst, bool widenSecond ): widenFirst( widenFirst ), widenSecond( widenSecond ) {}
-		WidenMode &operator|=( const WidenMode &other ) { widenFirst |= other.widenFirst; widenSecond |= other.widenSecond; return *this; }
-		WidenMode &operator&=( const WidenMode &other ) { widenFirst &= other.widenFirst; widenSecond &= other.widenSecond; return *this; }
-		WidenMode operator|( const WidenMode &other ) { WidenMode newWM( *this ); newWM |= other; return newWM; }
-		WidenMode operator&( const WidenMode &other ) { WidenMode newWM( *this ); newWM &= other; return newWM; }
-		operator bool() { return widenFirst && widenSecond; }
-
-		bool widenFirst : 1, widenSecond : 1;
-	};
-
-	bool bindVar( TypeInstType *typeInst, Type *other, const TypeDecl::Data & data, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, const OpenVarSet &openVars, WidenMode widenMode, const SymTab::Indexer &indexer );
 	bool unify( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, OpenVarSet &openVars, const SymTab::Indexer &indexer );
 	bool unify( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, OpenVarSet &openVars, const SymTab::Indexer &indexer, Type *&commonType );
 	bool unifyExact( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, OpenVarSet &openVars, const SymTab::Indexer &indexer );
+	bool unifyInexact( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, const OpenVarSet &openVars, WidenMode widenMode, const SymTab::Indexer &indexer, Type *&common );
 
 	template< typename Iterator1, typename Iterator2 >
Index: src/ResolvExpr/WidenMode.h
===================================================================
--- src/ResolvExpr/WidenMode.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/ResolvExpr/WidenMode.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,35 @@
+//
+// 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.
+//
+// WidenMode.h --
+//
+// Author           : Aaron B. Moss
+// Created On       : Mon Jun 18 11:58:00 2018
+// Last Modified By : Aaron B. Moss
+// Last Modified On : Mon Jun 18 11:58:00 2018
+// Update Count     : 1
+//
+
+#pragma once
+
+namespace ResolvExpr {
+	struct WidenMode {
+		WidenMode( bool widenFirst, bool widenSecond ): widenFirst( widenFirst ), widenSecond( widenSecond ) {}
+		WidenMode &operator|=( const WidenMode &other ) { widenFirst |= other.widenFirst; widenSecond |= other.widenSecond; return *this; }
+		WidenMode &operator&=( const WidenMode &other ) { widenFirst &= other.widenFirst; widenSecond &= other.widenSecond; return *this; }
+		WidenMode operator|( const WidenMode &other ) { WidenMode newWM( *this ); newWM |= other; return newWM; }
+		WidenMode operator&( const WidenMode &other ) { WidenMode newWM( *this ); newWM &= other; return newWM; }
+		operator bool() { return widenFirst && widenSecond; }
+
+		bool widenFirst : 1, widenSecond : 1;
+	};
+} // namespace ResolvExpr
+
+// Local Variables: //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: src/SymTab/Indexer.cc
===================================================================
--- src/SymTab/Indexer.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SymTab/Indexer.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -106,19 +106,14 @@
 		if ( ! CodeGen::isCtorDtorAssign( id ) ) return;
 
-		// helpful data structure
+		// helpful data structure to organize properties for a type
 		struct ValueType {
-			struct DeclBall {
+			struct DeclBall { // properties for this particular decl
 				IdData decl;
-				bool isUserDefinedFunc; // properties for this particular decl
-				bool isDefaultCtor;
-				bool isDtor;
+				bool isUserDefinedFunc;
 				bool isCopyFunc;
 			};
 			// properties for this type
-			bool existsUserDefinedFunc = false;    // any user-defined function found
-			bool existsUserDefinedCtor = false;    // any user-defined constructor found
-			bool existsUserDefinedDtor = false;    // any user-defined destructor found
 			bool existsUserDefinedCopyFunc = false;    // user-defined copy ctor found
-			bool existsUserDefinedDefaultCtor = false; // user-defined default ctor found
+			BaseSyntaxNode * deleteStmt = nullptr;     // non-null if a user-defined function is found
 			std::list< DeclBall > decls;
 
@@ -127,14 +122,13 @@
 			ValueType & operator+=( IdData data ) {
 				DeclarationWithType * function = data.id;
-				bool isUserDefinedFunc = ! LinkageSpec::isOverridable( function->get_linkage() );
-				bool isDefaultCtor = InitTweak::isDefaultConstructor( function );
-				bool isDtor = InitTweak::isDestructor( function );
-				bool isCopyFunc = InitTweak::isCopyFunction( function, function->get_name() );
-				decls.push_back( DeclBall{ data, isUserDefinedFunc, isDefaultCtor, isDtor, isCopyFunc } );
-				existsUserDefinedFunc = existsUserDefinedFunc || isUserDefinedFunc;
-				existsUserDefinedCtor = existsUserDefinedCtor || (isUserDefinedFunc && CodeGen::isConstructor( function->get_name() ) );
-				existsUserDefinedDtor = existsUserDefinedDtor || (isUserDefinedFunc && isDtor);
+				bool isUserDefinedFunc = ! LinkageSpec::isOverridable( function->linkage );
+				bool isCopyFunc = InitTweak::isCopyFunction( function, function->name );
+				decls.push_back( DeclBall{ data, isUserDefinedFunc, isCopyFunc } );
 				existsUserDefinedCopyFunc = existsUserDefinedCopyFunc || (isUserDefinedFunc && isCopyFunc);
-				existsUserDefinedDefaultCtor = existsUserDefinedDefaultCtor || (isUserDefinedFunc && isDefaultCtor);
+				if ( isUserDefinedFunc && ! deleteStmt ) {
+					// any user-defined function can act as an implicit delete statement for generated constructors.
+					// a delete stmt should not act as an implicit delete statement.
+					deleteStmt = data.id;
+				}
 				return *this;
 			}
@@ -148,5 +142,5 @@
 		for ( auto decl : copy ) {
 			if ( FunctionDecl * function = dynamic_cast< FunctionDecl * >( decl.id ) ) {
-				std::list< DeclarationWithType * > & params = function->get_functionType()->get_parameters();
+				std::list< DeclarationWithType * > & params = function->type->parameters;
 				assert( ! params.empty() );
 				// use base type of pointer, so that qualifiers on the pointer type aren't considered.
@@ -160,21 +154,33 @@
 
 		// if a type contains user defined ctor/dtor/assign, then special rules trigger, which determine
-		// the set of ctor/dtor/assign that are seen by the requester. In particular, if the user defines
-		// a default ctor, then the generated default ctor should never be seen, likewise for copy ctor
-		// and dtor. If the user defines any ctor/dtor, then no generated field ctors should be seen.
-		// If the user defines any ctor then the generated default ctor should not be seen (intrinsic default
-		// ctor must be overridden exactly).
+		// the set of ctor/dtor/assign that can be used  by the requester. In particular, if the user defines
+		// a default ctor, then the generated default ctor is unavailable, likewise for copy ctor
+		// and dtor. If the user defines any ctor/dtor, then no generated field ctors are available.
+		// If the user defines any ctor then the generated default ctor is unavailable (intrinsic default
+		// ctor must be overridden exactly). If the user defines anything that looks like a copy constructor,
+		// then the generated copy constructor is unavailable, and likewise for the assignment operator.
 		for ( std::pair< const std::string, ValueType > & pair : funcMap ) {
 			ValueType & val = pair.second;
 			for ( ValueType::DeclBall ball : val.decls ) {
-				bool noUserDefinedFunc = ! val.existsUserDefinedFunc;
-				bool isUserDefinedFunc = ball.isUserDefinedFunc;
-				bool isAcceptableDefaultCtor = (! val.existsUserDefinedCtor || (! val.existsUserDefinedDefaultCtor && ball.decl.id->get_linkage() == LinkageSpec::Intrinsic)) && ball.isDefaultCtor; // allow default constructors only when no user-defined constructors exist, except in the case of intrinsics, which require exact overrides
-				bool isAcceptableCopyFunc = ! val.existsUserDefinedCopyFunc && ball.isCopyFunc; // handles copy ctor and assignment operator
-				bool isAcceptableDtor = ! val.existsUserDefinedDtor && ball.isDtor;
-				if ( noUserDefinedFunc || isUserDefinedFunc || isAcceptableDefaultCtor || isAcceptableCopyFunc || isAcceptableDtor ) {
-					// decl conforms to the rules described above, so it should be seen by the requester
-					out.push_back( ball.decl );
+				bool isNotUserDefinedFunc = ! ball.isUserDefinedFunc && ball.decl.id->linkage != LinkageSpec::Intrinsic;
+				bool isCopyFunc = ball.isCopyFunc;
+				bool existsUserDefinedCopyFunc = val.existsUserDefinedCopyFunc;
+
+				// only implicitly delete non-user defined functions that are not intrinsic, and are
+				// not copy functions (assignment or copy constructor). If a  user-defined copy function exists,
+				// do not pass along the non-user-defined copy functions since signatures do not have to match,
+				// and the generated functions will often be cheaper.
+				if ( isNotUserDefinedFunc ) {
+					if ( isCopyFunc ) {
+						// Skip over non-user-defined copy functions when there is a user-defined copy function.
+						// Since their signatures do not have to be exact, deleting them is the wrong choice.
+						if ( existsUserDefinedCopyFunc ) continue;
+					} else {
+						// delete non-user-defined non-copy functions if applicable.
+						// deleteStmt will be non-null only if a user-defined function is found.
+						ball.decl.deleteStmt = val.deleteStmt;
+					}
 				}
+				out.push_back( ball.decl );
 			}
 		}
@@ -471,5 +477,5 @@
 	void Indexer::addId( DeclarationWithType * decl, Expression * baseExpr ) {
 		// default handling of conflicts is to raise an error
-		addId( decl, [decl](IdData &, const std::string & msg) { SemanticError( decl, msg ); return true; }, baseExpr );
+		addId( decl, [decl](IdData &, const std::string & msg) { SemanticError( decl, msg ); return true; }, baseExpr, decl->isDeleted ? decl : nullptr );
 	}
 
Index: src/SymTab/Mangler.cc
===================================================================
--- src/SymTab/Mangler.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SymTab/Mangler.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -171,7 +171,14 @@
 					"w",	// SignedInt128
 					"Uw",	// UnsignedInt128
+					"x",   // Float80
+					"y",   // Float128
 				};
+				static_assert(
+					sizeof(btLetter)/sizeof(btLetter[0]) == BasicType::NUMBER_OF_BASIC_TYPES,
+					"Each basic type kind should have a corresponding mangler letter"
+				);
 
 				printQualifiers( basicType );
+				assert( basicType->get_kind() < sizeof(btLetter)/sizeof(btLetter[0]) );
 				mangleName << btLetter[ basicType->get_kind() ];
 			}
@@ -218,8 +225,8 @@
 				GuardValue( inFunctionType );
 				inFunctionType = true;
-				std::list< Type* > returnTypes = getTypes( functionType->get_returnVals() );
+				std::list< Type* > returnTypes = getTypes( functionType->returnVals );
 				acceptAll( returnTypes, *visitor );
 				mangleName << "_";
-				std::list< Type* > paramTypes = getTypes( functionType->get_parameters() );
+				std::list< Type* > paramTypes = getTypes( functionType->parameters );
 				acceptAll( paramTypes, *visitor );
 				mangleName << "_";
@@ -229,14 +236,14 @@
 				printQualifiers( refType );
 
-				mangleName << ( refType->get_name().length() + prefix.length() ) << prefix << refType->get_name();
+				mangleName << ( refType->name.length() + prefix.length() ) << prefix << refType->name;
 
 				if ( mangleGenericParams ) {
-					std::list< Expression* >& params = refType->get_parameters();
+					std::list< Expression* >& params = refType->parameters;
 					if ( ! params.empty() ) {
 						mangleName << "_";
 						for ( std::list< Expression* >::const_iterator param = params.begin(); param != params.end(); ++param ) {
 							TypeExpr *paramType = dynamic_cast< TypeExpr* >( *param );
-							assertf(paramType, "Aggregate parameters should be type expressions: %s", toString(*param).c_str());
-							maybeAccept( paramType->get_type(), *visitor );
+							assertf(paramType, "Aggregate parameters should be type expressions: %s", toCString(*param));
+							maybeAccept( paramType->type, *visitor );
 						}
 						mangleName << "_";
Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SymTab/Validate.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -49,4 +49,5 @@
 #include "CodeGen/OperatorTable.h"     // for isCtorDtor, isCtorDtorAssign
 #include "Common/GC.h"                 // for new_static_root, register_static_root
+#include "ControlStruct/Mutate.h"      // for ForExprMutator
 #include "Common/PassVisitor.h"        // for PassVisitor, WithDeclsToAdd
 #include "Common/ScopedMap.h"          // for ScopedMap
@@ -77,5 +78,4 @@
 class SwitchStmt;
 
-
 #define debugPrint( x ) if ( doDebug ) { std::cout << x; }
 
@@ -275,4 +275,5 @@
 		Concurrency::applyKeywords( translationUnit );
 		acceptAll( translationUnit, fpd ); // must happen before autogenerateRoutines, after Concurrency::applyKeywords because uniqueIds must be set on declaration before resolution
+		ControlStruct::hoistControlDecls( translationUnit );  // hoist initialization out of for statements; must happen before autogenerateRoutines
 		autogenerateRoutines( translationUnit ); // moved up, used to be below compoundLiteral - currently needs EnumAndPointerDecay
 		Concurrency::implementMutexFuncs( translationUnit );
Index: src/SynTree/BasicType.cc
===================================================================
--- src/SynTree/BasicType.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/BasicType.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -55,4 +55,6 @@
 	  case DoubleImaginary:
 	  case LongDoubleImaginary:
+	  case Float80:
+	  case Float128:
 		return false;
 	  case NUMBER_OF_BASIC_TYPES:
Index: src/SynTree/Declaration.cc
===================================================================
--- src/SynTree/Declaration.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Declaration.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -92,4 +92,5 @@
 }
 
+
 // Local Variables: //
 // tab-width: 4 //
Index: src/SynTree/Declaration.h
===================================================================
--- src/SynTree/Declaration.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Declaration.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -83,4 +83,5 @@
 	Expression *asmName;
 	std::list< Attribute * > attributes;
+	bool isDeleted = false;
 
 	DeclarationWithType( const std::string &name, Type::StorageClasses scs, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes, Type::FuncSpecifiers fs );
Index: src/SynTree/Expression.cc
===================================================================
--- src/SynTree/Expression.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Expression.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -640,4 +640,43 @@
 
 
+DefaultArgExpr::DefaultArgExpr( Expression * expr ) : expr( expr ) {
+	assert( expr->result );
+	result = expr->result->clone();
+}
+DefaultArgExpr::DefaultArgExpr( const DefaultArgExpr & other ) : Expression( other ), expr( maybeClone( other.expr ) ) {}
+
+void DefaultArgExpr::print( std::ostream & os, Indenter indent ) const {
+	os << "Default Argument Expression" << std::endl << indent+1;
+	expr->print( os, indent+1 );
+}
+
+GenericExpr::Association::Association( Type * type, Expression * expr ) : type( type ), expr( expr ), isDefault( false ) {}
+GenericExpr::Association::Association( Expression * expr ) : type( nullptr ), expr( expr ), isDefault( true ) {}
+GenericExpr::Association::Association( const Association & other ) : type( maybeClone( other.type ) ), expr( maybeClone( other.expr ) ), isDefault( other.isDefault ) {}
+
+GenericExpr::GenericExpr( Expression * control, const std::list<Association> & assoc ) : Expression(), control( control ), associations( assoc ) {}
+GenericExpr::GenericExpr( const GenericExpr & other ) : Expression(other), control( maybeClone( other.control ) ), associations( other.associations ) {}
+GenericExpr::~GenericExpr() {}
+
+void GenericExpr::print( std::ostream & os, Indenter indent ) const {
+	os << "C11 _Generic Expression" << std::endl << indent+1;
+	control->print( os, indent+1 );
+	os << std::endl << indent+1 << "... with associations: " << std::endl;
+	for ( const Association & assoc : associations ) {
+		os << indent+1;
+		if (assoc.isDefault) {
+			os << "... default: ";
+			assoc.expr->print( os, indent+1 );
+		} else {
+			os << "... type: ";
+			assoc.type->print( os, indent+1 );
+			os << std::endl << indent+1 << "... expression: ";
+			assoc.expr->print( os, indent+1 );
+			os << std::endl;
+		}
+		os << std::endl;
+	}
+}
+
 // Local Variables: //
 // tab-width: 4 //
Index: src/SynTree/Expression.h
===================================================================
--- src/SynTree/Expression.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Expression.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -833,4 +833,45 @@
 };
 
+/// expression wrapping the use of a default argument - should never make it past the resolver.
+class DefaultArgExpr : public Expression {
+public:
+	Expression * expr;
+
+	DefaultArgExpr( Expression * expr );
+	DefaultArgExpr( const DefaultArgExpr & other );
+
+	virtual DefaultArgExpr * clone() const { return new DefaultArgExpr( * this ); }
+	virtual void accept( Visitor & v ) { v.visit( this ); }
+	virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
+	virtual void print( std::ostream & os, Indenter indent = {} ) const;
+};
+
+/// C11 _Generic expression
+class GenericExpr : public Expression {
+public:
+	struct Association {
+		Type * type = nullptr;
+		Expression * expr = nullptr;
+		bool isDefault = false;
+
+		Association( Type * type, Expression * expr );
+		Association( Expression * expr );
+		Association( const Association & other );
+		Association & operator=( const Association & other ) = delete; // at the moment this isn't used, and I don't want to implement it
+	};
+
+	Expression * control;
+	std::list<Association> associations;
+
+	GenericExpr( Expression * control, const std::list<Association> & assoc );
+	GenericExpr( const GenericExpr & other );
+	~GenericExpr();
+
+	virtual GenericExpr * clone() const { return new GenericExpr( * this ); }
+	virtual void accept( Visitor & v ) { v.visit( this ); }
+	virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
+	virtual void print( std::ostream & os, Indenter indent = {} ) const;
+};
+
 // Local Variables: //
 // tab-width: 4 //
Index: src/SynTree/Mutator.h
===================================================================
--- src/SynTree/Mutator.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Mutator.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -93,4 +93,6 @@
 	virtual Expression * mutate( InitExpr  * initExpr ) = 0;
 	virtual Expression * mutate( DeletedExpr * delExpr ) = 0;
+	virtual Expression * mutate( DefaultArgExpr * argExpr ) = 0;
+	virtual Expression * mutate( GenericExpr * genExpr ) = 0;
 
 	virtual Type * mutate( VoidType * basicType ) = 0;
Index: src/SynTree/ReferenceToType.cc
===================================================================
--- src/SynTree/ReferenceToType.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/ReferenceToType.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -46,8 +46,8 @@
 
 namespace {
-	void doLookup( const std::list< Declaration* > &members, const std::string &name, std::list< Declaration* > &foundDecls ) {
-		for ( std::list< Declaration* >::const_iterator i = members.begin(); i != members.end(); ++i ) {
-			if ( (*i)->get_name() == name ) {
-				foundDecls.push_back( *i );
+	void doLookup( const std::list< Declaration * > & members, const std::string & name, std::list< Declaration* > & foundDecls ) {
+		for ( Declaration * decl : members ) {
+			if ( decl->name == name ) {
+				foundDecls.push_back( decl );
 			} // if
 		} // for
@@ -56,5 +56,5 @@
 
 StructInstType::StructInstType( const Type::Qualifiers & tq, StructDecl * baseStruct, const std::list< Attribute * > & attributes ) :
-		Parent( tq, baseStruct->get_name(), attributes ), baseStruct( baseStruct ) {}
+		Parent( tq, baseStruct->name, attributes ), baseStruct( baseStruct ) {}
 
 std::string StructInstType::typeString() const { return "struct"; }
@@ -80,5 +80,5 @@
 void StructInstType::lookup( const std::string &name, std::list< Declaration* > &foundDecls ) const {
 	assert( baseStruct );
-	doLookup( baseStruct->get_members(), name, foundDecls );
+	doLookup( baseStruct->members, name, foundDecls );
 }
 
@@ -99,5 +99,5 @@
 
 UnionInstType::UnionInstType( const Type::Qualifiers & tq, UnionDecl * baseUnion, const std::list< Attribute * > & attributes ) :
-		Parent( tq, baseUnion->get_name(), attributes ), baseUnion( baseUnion ) {}
+		Parent( tq, baseUnion->name, attributes ), baseUnion( baseUnion ) {}
 
 std::string UnionInstType::typeString() const { return "union"; }
@@ -123,5 +123,5 @@
 void UnionInstType::lookup( const std::string &name, std::list< Declaration* > &foundDecls ) const {
 	assert( baseUnion );
-	doLookup( baseUnion->get_members(), name, foundDecls );
+	doLookup( baseUnion->members, name, foundDecls );
 }
 
Index: src/SynTree/Statement.cc
===================================================================
--- src/SynTree/Statement.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Statement.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -208,6 +208,6 @@
 }
 
-WhileStmt::WhileStmt( Expression *condition, Statement *body, bool isDoWhile ):
-	Statement(), condition( condition), body( body), isDoWhile( isDoWhile) {
+WhileStmt::WhileStmt( Expression *condition, Statement *body, std::list< Statement * > & initialization, bool isDoWhile ):
+	Statement(), condition( condition), body( body), initialization( initialization ), isDoWhile( isDoWhile) {
 }
 
Index: src/SynTree/Statement.h
===================================================================
--- src/SynTree/Statement.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Statement.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -213,8 +213,9 @@
 	Expression *condition;
 	Statement *body;
+	std::list<Statement *> initialization;
 	bool isDoWhile;
 
 	WhileStmt( Expression *condition,
-	       Statement *body, bool isDoWhile = false );
+	       Statement *body, std::list<Statement *> & initialization, bool isDoWhile = false );
 	WhileStmt( const WhileStmt &other );
 
Index: src/SynTree/SynTree.h
===================================================================
--- src/SynTree/SynTree.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/SynTree.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -101,4 +101,6 @@
 class InitExpr;
 class DeletedExpr;
+class DefaultArgExpr;
+class GenericExpr;
 
 class Type;
Index: src/SynTree/Type.cc
===================================================================
--- src/SynTree/Type.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Type.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Sep 25 15:16:32 2017
-// Update Count     : 38
+// Last Modified On : Fri Jun 22 10:17:19 2018
+// Update Count     : 39
 //
 #include "Type.h"
@@ -24,5 +24,5 @@
 using namespace std;
 
-const char *BasicType::typeNames[BasicType::NUMBER_OF_BASIC_TYPES] = {
+const char *BasicType::typeNames[] = {
 	"_Bool",
 	"char",
@@ -48,5 +48,11 @@
 	"__int128",
 	"unsigned __int128",
+	"__float80",
+	"__float128"
 };
+static_assert(
+	sizeof(BasicType::typeNames)/sizeof(BasicType::typeNames[0]) == BasicType::NUMBER_OF_BASIC_TYPES,
+	"Each basic type name should have a corresponding kind enum value"
+);
 
 Type::Type( const Qualifiers &tq, const std::list< Attribute * > & attributes ) : tq( tq ), attributes( attributes ) {}
@@ -58,5 +64,5 @@
 
 // These must remain in the same order as the corresponding bit fields.
-const char * Type::FuncSpecifiersNames[] = { "inline", "fortran", "_Noreturn" };
+const char * Type::FuncSpecifiersNames[] = { "inline", "_Noreturn", "fortran" };
 const char * Type::StorageClassesNames[] = { "extern", "static", "auto", "register", "_Thread_local" };
 const char * Type::QualifiersNames[] = { "const", "restrict", "volatile", "lvalue", "mutex", "_Atomic" };
Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Type.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -230,4 +230,6 @@
 		SignedInt128,
 		UnsignedInt128,
+		Float80,
+		Float128,
 		NUMBER_OF_BASIC_TYPES
 	} kind;
Index: src/SynTree/Visitor.h
===================================================================
--- src/SynTree/Visitor.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/SynTree/Visitor.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -95,4 +95,6 @@
 	virtual void visit( InitExpr *  initExpr ) = 0;
 	virtual void visit( DeletedExpr * delExpr ) = 0;
+	virtual void visit( DefaultArgExpr * argExpr ) = 0;
+	virtual void visit( GenericExpr * genExpr ) = 0;
 
 	virtual void visit( VoidType * basicType ) = 0;
Index: src/benchmark/Makefile.am
===================================================================
--- src/benchmark/Makefile.am	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/benchmark/Makefile.am	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -92,27 +92,52 @@
 
 ## =========================================================================================================
+loop$(EXEEXT):
+	@@BACKEND_CC@ loop.c      -DBENCH_N=5000000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+function$(EXEEXT):
+	@@BACKEND_CC@ function.c  -DBENCH_N=5000000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+fetch_add$(EXEEXT):
+	@@BACKEND_CC@ fetch_add.c -DBENCH_N=500000000  -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+## =========================================================================================================
 ctxswitch$(EXEEXT): \
+	loop.run				\
+	function.run			\
+	fetch_add.run			\
 	ctxswitch-pthread.run		\
 	ctxswitch-cfa_coroutine.run	\
 	ctxswitch-cfa_thread.run	\
+	ctxswitch-cfa_thread2.run	\
 	ctxswitch-upp_coroutine.run	\
 	ctxswitch-upp_thread.run	\
+	-ctxswitch-kos_fibre.run	\
+	-ctxswitch-kos_fibre2.run	\
 	ctxswitch-goroutine.run		\
 	ctxswitch-java_thread.run
 
+ctxswitch-pthread$(EXEEXT):
+	@@BACKEND_CC@ ctxswitch/pthreads.c     -DBENCH_N=50000000  -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
 ctxswitch-cfa_coroutine$(EXEEXT):
-	@${CC}        ctxswitch/cfa_cor.c   -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@${CC}        ctxswitch/cfa_cor.c      -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 ctxswitch-cfa_thread$(EXEEXT):
-	@${CC}        ctxswitch/cfa_thrd.c  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@${CC}        ctxswitch/cfa_thrd.c     -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-cfa_thread2$(EXEEXT):
+	@${CC}        ctxswitch/cfa_thrd2.c    -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 ctxswitch-upp_coroutine$(EXEEXT):
-	@u++          ctxswitch/upp_cor.cc  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@u++          ctxswitch/upp_cor.cc     -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 ctxswitch-upp_thread$(EXEEXT):
-	@u++          ctxswitch/upp_thrd.cc -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-pthread$(EXEEXT):
-	@@BACKEND_CC@ ctxswitch/pthreads.c  -DBENCH_N=50000000  -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@u++          ctxswitch/upp_thrd.cc    -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-kos_fibre$(EXEEXT):
+	@${CXX}       ctxswitch/kos_fibre.cpp  -DBENCH_N=50000000  -I. -I/home/tdelisle/software/KOS/src/ -g -O2 -lfibre -lpthread -lrt
+
+ctxswitch-kos_fibre2$(EXEEXT):
+	@${CXX}       ctxswitch/kos_fibre2.cpp -DBENCH_N=50000000  -I. -I/home/tdelisle/software/KOS/src/ -g -O2 -lfibre -lpthread -lrt
 
 ctxswitch-goroutine$(EXEEXT):
@@ -127,6 +152,7 @@
 ## =========================================================================================================
 mutex$(EXEEXT) :\
-	mutex-function.run	\
-	mutex-fetch_add.run	\
+	loop.run			\
+	function.run		\
+	fetch_add.run		\
 	mutex-pthread_lock.run	\
 	mutex-upp.run		\
@@ -135,10 +161,4 @@
 	mutex-cfa4.run		\
 	mutex-java_thread.run
-
-mutex-function$(EXEEXT):
-	@@BACKEND_CC@ mutex/function.c    -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-fetch_add$(EXEEXT):
-	@@BACKEND_CC@ mutex/fetch_add.c   -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 mutex-pthread_lock$(EXEEXT):
@@ -277,8 +297,8 @@
 
 compile-io$(EXEEXT):
-	@${CC} -quiet -fsyntax-only -w ../tests/io.c					@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@${CC} -quiet -fsyntax-only -w ../tests/io1.c				@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 compile-monitor$(EXEEXT):
-	@${CC} -quiet -fsyntax-only -w ../tests/concurrent/monitor.c		@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@${CC} -quiet -fsyntax-only -w ../tests/concurrent/monitor.c	@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 compile-operators$(EXEEXT):
@@ -289,4 +309,4 @@
 
 compile-typeof$(EXEEXT):
-	@${CC} -quiet -fsyntax-only -w ../tests/typeof.c				@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
+	@${CC} -quiet -fsyntax-only -w ../tests/typeof.c			@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
Index: src/benchmark/Makefile.in
===================================================================
--- src/benchmark/Makefile.in	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/benchmark/Makefile.in	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -505,27 +505,51 @@
 	@echo "}"
 
+loop$(EXEEXT):
+	@@BACKEND_CC@ loop.c      -DBENCH_N=5000000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+function$(EXEEXT):
+	@@BACKEND_CC@ function.c  -DBENCH_N=5000000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+fetch_add$(EXEEXT):
+	@@BACKEND_CC@ fetch_add.c -DBENCH_N=500000000  -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
 ctxswitch$(EXEEXT): \
+	loop.run				\
+	function.run			\
+	fetch_add.run			\
 	ctxswitch-pthread.run		\
 	ctxswitch-cfa_coroutine.run	\
 	ctxswitch-cfa_thread.run	\
+	ctxswitch-cfa_thread2.run	\
 	ctxswitch-upp_coroutine.run	\
 	ctxswitch-upp_thread.run	\
+	-ctxswitch-kos_fibre.run	\
+	-ctxswitch-kos_fibre2.run	\
 	ctxswitch-goroutine.run		\
 	ctxswitch-java_thread.run
 
+ctxswitch-pthread$(EXEEXT):
+	@@BACKEND_CC@ ctxswitch/pthreads.c     -DBENCH_N=50000000  -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
 ctxswitch-cfa_coroutine$(EXEEXT):
-	@${CC}        ctxswitch/cfa_cor.c   -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@${CC}        ctxswitch/cfa_cor.c      -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 ctxswitch-cfa_thread$(EXEEXT):
-	@${CC}        ctxswitch/cfa_thrd.c  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@${CC}        ctxswitch/cfa_thrd.c     -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-cfa_thread2$(EXEEXT):
+	@${CC}        ctxswitch/cfa_thrd2.c    -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 ctxswitch-upp_coroutine$(EXEEXT):
-	@u++          ctxswitch/upp_cor.cc  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@u++          ctxswitch/upp_cor.cc     -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 ctxswitch-upp_thread$(EXEEXT):
-	@u++          ctxswitch/upp_thrd.cc -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-pthread$(EXEEXT):
-	@@BACKEND_CC@ ctxswitch/pthreads.c  -DBENCH_N=50000000  -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@u++          ctxswitch/upp_thrd.cc    -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-kos_fibre$(EXEEXT):
+	@${CXX}       ctxswitch/kos_fibre.cpp  -DBENCH_N=50000000  -I. -I/home/tdelisle/software/KOS/src/ -g -O2 -lfibre -lpthread -lrt
+
+ctxswitch-kos_fibre2$(EXEEXT):
+	@${CXX}       ctxswitch/kos_fibre2.cpp -DBENCH_N=50000000  -I. -I/home/tdelisle/software/KOS/src/ -g -O2 -lfibre -lpthread -lrt
 
 ctxswitch-goroutine$(EXEEXT):
@@ -539,6 +563,7 @@
 
 mutex$(EXEEXT) :\
-	mutex-function.run	\
-	mutex-fetch_add.run	\
+	loop.run			\
+	function.run		\
+	fetch_add.run		\
 	mutex-pthread_lock.run	\
 	mutex-upp.run		\
@@ -547,10 +572,4 @@
 	mutex-cfa4.run		\
 	mutex-java_thread.run
-
-mutex-function$(EXEEXT):
-	@@BACKEND_CC@ mutex/function.c    -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-fetch_add$(EXEEXT):
-	@@BACKEND_CC@ mutex/fetch_add.c   -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 mutex-pthread_lock$(EXEEXT):
@@ -682,8 +701,8 @@
 
 compile-io$(EXEEXT):
-	@${CC} -quiet -fsyntax-only -w ../tests/io.c					@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@${CC} -quiet -fsyntax-only -w ../tests/io1.c				@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 compile-monitor$(EXEEXT):
-	@${CC} -quiet -fsyntax-only -w ../tests/concurrent/monitor.c		@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@${CC} -quiet -fsyntax-only -w ../tests/concurrent/monitor.c	@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 compile-operators$(EXEEXT):
@@ -694,5 +713,5 @@
 
 compile-typeof$(EXEEXT):
-	@${CC} -quiet -fsyntax-only -w ../tests/typeof.c				@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+	@${CC} -quiet -fsyntax-only -w ../tests/typeof.c			@CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: src/benchmark/ctxswitch/cfa_thrd2.c
===================================================================
--- src/benchmark/ctxswitch/cfa_thrd2.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/benchmark/ctxswitch/cfa_thrd2.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <thread>
+
+#include "bench.h"
+
+volatile bool done = false;
+
+thread Fibre {};
+
+void main(Fibre & this) {
+	while(!done) {
+		yield();
+	}
+}
+
+int main(int argc, char* argv[]) {
+	Fibre f1;
+  	BENCH(
+		for (size_t i = 0; i < n; i++) {
+			yield();
+		},
+		result
+	)
+
+	printf("%llu\n", result);
+	done = true;
+	return 0;
+}
Index: src/benchmark/ctxswitch/kos_fibre.cpp
===================================================================
--- src/benchmark/ctxswitch/kos_fibre.cpp	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/benchmark/ctxswitch/kos_fibre.cpp	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,14 @@
+#include <libfibre/fibre.h>
+
+#include "bench.h"
+
+int main(int argc, char* argv[]) {
+	BENCH(
+		for (size_t i = 0; i < n; i++) {
+			Fibre::yield();
+		},
+		result
+	)
+	printf("%llu\n", result);
+	return 0;
+}
Index: src/benchmark/ctxswitch/kos_fibre2.cpp
===================================================================
--- src/benchmark/ctxswitch/kos_fibre2.cpp	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/benchmark/ctxswitch/kos_fibre2.cpp	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,26 @@
+#include <libfibre/fibre.h>
+
+#include "bench.h"
+
+volatile bool done = false;
+
+static void f1main() {
+	while(!done) {
+		Fibre::yield();
+	}
+}
+
+int main(int argc, char* argv[]) {
+	Fibre* f1 = (new Fibre)->run(f1main);
+  	BENCH(
+		for (size_t i = 0; i < n; i++) {
+			Fibre::yield();
+		},
+		result
+	)
+	printf("%llu\n", result);
+	done = true;
+	Fibre::yield();
+	f1->join();
+	return 0;
+}
Index: src/benchmark/fetch_add.c
===================================================================
--- src/benchmark/fetch_add.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/benchmark/fetch_add.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,22 @@
+#include <stdio.h>
+
+#include "bench.h"
+
+volatile int value;
+
+void __attribute__((noinline)) do_call() {
+	__atomic_add_fetch( &value, 1, __ATOMIC_SEQ_CST );
+	asm volatile ("");
+	__atomic_sub_fetch( &value, 1, __ATOMIC_SEQ_CST );
+}
+
+int main(int argc, char* argv[]) {
+	BENCH(
+		for (size_t i = 0; i < n; i++) {
+			do_call();
+		},
+		result
+	)
+
+	printf("%llu\n", result);
+}
Index: src/benchmark/function.c
===================================================================
--- src/benchmark/function.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/benchmark/function.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,18 @@
+#include <stdio.h>
+
+#include "bench.h"
+
+void __attribute__((noinline)) do_call() {
+	asm volatile("" ::: "memory");
+}
+
+int main(int argc, char* argv[]) {
+	BENCH(
+		for (size_t i = 0; i < n; i++) {
+			do_call();
+		},
+		result
+	)
+
+	printf("%llu\n", result);
+}
Index: src/benchmark/loop.c
===================================================================
--- src/benchmark/loop.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/benchmark/loop.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+#include "bench.h"
+
+int main(int argc, char* argv[]) {
+	BENCH(
+		for (size_t i = 0; i < n; i++) {
+			asm volatile("" ::: "memory");
+		},
+		result
+	)
+
+	printf("%llu\n", result);
+}
Index: src/benchmark/mutex/fetch_add.c
===================================================================
--- src/benchmark/mutex/fetch_add.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ 	(revision )
@@ -1,22 +1,0 @@
-#include <stdio.h>
-
-#include "bench.h"
-
-volatile int value;
-
-void __attribute__((noinline)) do_call() {
-	__atomic_add_fetch( &value, 1, __ATOMIC_SEQ_CST );
-	asm volatile ("");
-	__atomic_sub_fetch( &value, 1, __ATOMIC_SEQ_CST );
-}
-
-int main(int argc, char* argv[]) {
-	BENCH(
-		for (size_t i = 0; i < n; i++) {
-			do_call();
-		},
-		result
-	)
-
-	printf("%llu\n", result);
-}
Index: src/benchmark/mutex/function.c
===================================================================
--- src/benchmark/mutex/function.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ 	(revision )
@@ -1,18 +1,0 @@
-#include <stdio.h>
-
-#include "bench.h"
-
-void __attribute__((noinline)) do_call() {
-	asm volatile ("");
-}
-
-int main(int argc, char* argv[]) {
-	BENCH(
-		for (size_t i = 0; i < n; i++) {
-			do_call();
-		},
-		result
-	)
-
-	printf("%llu\n", result);
-}
Index: src/libcfa/Makefile.am
===================================================================
--- src/libcfa/Makefile.am	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/Makefile.am	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -51,5 +51,5 @@
 # not all platforms support concurrency, add option do disable it
 if BUILD_CONCURRENCY
-headers += concurrency/coroutine concurrency/thread concurrency/kernel concurrency/monitor
+headers += concurrency/coroutine concurrency/thread concurrency/kernel concurrency/monitor concurrency/mutex
 endif
 
Index: src/libcfa/Makefile.in
===================================================================
--- src/libcfa/Makefile.in	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/Makefile.in	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -97,5 +97,5 @@
 
 # not all platforms support concurrency, add option do disable it
-@BUILD_CONCURRENCY_TRUE@am__append_3 = concurrency/coroutine concurrency/thread concurrency/kernel concurrency/monitor
+@BUILD_CONCURRENCY_TRUE@am__append_3 = concurrency/coroutine concurrency/thread concurrency/kernel concurrency/monitor concurrency/mutex
 
 # not all platforms support concurrency, add option do disable it
@@ -153,13 +153,14 @@
 	containers/pair.c containers/result.c containers/vector.c \
 	concurrency/coroutine.c concurrency/thread.c \
-	concurrency/kernel.c concurrency/monitor.c assert.c \
-	exception.c virtual.c concurrency/CtxSwitch-@MACHINE_TYPE@.S \
-	concurrency/alarm.c concurrency/invoke.c \
-	concurrency/preemption.c
+	concurrency/kernel.c concurrency/monitor.c concurrency/mutex.c \
+	assert.c exception.c virtual.c \
+	concurrency/CtxSwitch-@MACHINE_TYPE@.S concurrency/alarm.c \
+	concurrency/invoke.c concurrency/preemption.c
 am__dirstamp = $(am__leading_dot)dirstamp
 @BUILD_CONCURRENCY_TRUE@am__objects_1 = concurrency/libcfa_d_a-coroutine.$(OBJEXT) \
 @BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_d_a-thread.$(OBJEXT) \
 @BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_d_a-kernel.$(OBJEXT) \
-@BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_d_a-monitor.$(OBJEXT)
+@BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_d_a-monitor.$(OBJEXT) \
+@BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_d_a-mutex.$(OBJEXT)
 am__objects_2 = libcfa_d_a-fstream.$(OBJEXT) \
 	libcfa_d_a-iostream.$(OBJEXT) libcfa_d_a-iterator.$(OBJEXT) \
@@ -188,12 +189,13 @@
 	containers/result.c containers/vector.c \
 	concurrency/coroutine.c concurrency/thread.c \
-	concurrency/kernel.c concurrency/monitor.c assert.c \
-	exception.c virtual.c concurrency/CtxSwitch-@MACHINE_TYPE@.S \
-	concurrency/alarm.c concurrency/invoke.c \
-	concurrency/preemption.c
+	concurrency/kernel.c concurrency/monitor.c concurrency/mutex.c \
+	assert.c exception.c virtual.c \
+	concurrency/CtxSwitch-@MACHINE_TYPE@.S concurrency/alarm.c \
+	concurrency/invoke.c concurrency/preemption.c
 @BUILD_CONCURRENCY_TRUE@am__objects_5 = concurrency/libcfa_a-coroutine.$(OBJEXT) \
 @BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_a-thread.$(OBJEXT) \
 @BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_a-kernel.$(OBJEXT) \
-@BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_a-monitor.$(OBJEXT)
+@BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_a-monitor.$(OBJEXT) \
+@BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_a-mutex.$(OBJEXT)
 am__objects_6 = libcfa_a-fstream.$(OBJEXT) libcfa_a-iostream.$(OBJEXT) \
 	libcfa_a-iterator.$(OBJEXT) libcfa_a-limits.$(OBJEXT) \
@@ -264,7 +266,7 @@
 	containers/result containers/vector concurrency/coroutine \
 	concurrency/thread concurrency/kernel concurrency/monitor \
-	${shell find stdhdr -type f -printf "%p "} math gmp time_t.h \
-	clock bits/align.h bits/containers.h bits/defs.h bits/debug.h \
-	bits/locks.h concurrency/invoke.h
+	concurrency/mutex ${shell find stdhdr -type f -printf "%p "} \
+	math gmp time_t.h clock bits/align.h bits/containers.h \
+	bits/defs.h bits/debug.h bits/locks.h concurrency/invoke.h
 HEADERS = $(nobase_cfa_include_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
@@ -548,4 +550,6 @@
 concurrency/libcfa_d_a-monitor.$(OBJEXT): concurrency/$(am__dirstamp) \
 	concurrency/$(DEPDIR)/$(am__dirstamp)
+concurrency/libcfa_d_a-mutex.$(OBJEXT): concurrency/$(am__dirstamp) \
+	concurrency/$(DEPDIR)/$(am__dirstamp)
 concurrency/CtxSwitch-@MACHINE_TYPE@.$(OBJEXT):  \
 	concurrency/$(am__dirstamp) \
@@ -580,4 +584,6 @@
 	concurrency/$(DEPDIR)/$(am__dirstamp)
 concurrency/libcfa_a-monitor.$(OBJEXT): concurrency/$(am__dirstamp) \
+	concurrency/$(DEPDIR)/$(am__dirstamp)
+concurrency/libcfa_a-mutex.$(OBJEXT): concurrency/$(am__dirstamp) \
 	concurrency/$(DEPDIR)/$(am__dirstamp)
 concurrency/libcfa_a-alarm.$(OBJEXT): concurrency/$(am__dirstamp) \
@@ -635,4 +641,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_a-kernel.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_a-monitor.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_a-mutex.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_a-preemption.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_a-thread.Po@am__quote@
@@ -642,4 +649,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_d_a-kernel.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_d_a-monitor.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_d_a-mutex.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_d_a-preemption.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_d_a-thread.Po@am__quote@
@@ -930,4 +938,18 @@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
 
+concurrency/libcfa_d_a-mutex.o: concurrency/mutex.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-mutex.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-mutex.Tpo -c -o concurrency/libcfa_d_a-mutex.o `test -f 'concurrency/mutex.c' || echo '$(srcdir)/'`concurrency/mutex.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-mutex.Tpo concurrency/$(DEPDIR)/libcfa_d_a-mutex.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/mutex.c' object='concurrency/libcfa_d_a-mutex.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-mutex.o `test -f 'concurrency/mutex.c' || echo '$(srcdir)/'`concurrency/mutex.c
+
+concurrency/libcfa_d_a-mutex.obj: concurrency/mutex.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-mutex.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-mutex.Tpo -c -o concurrency/libcfa_d_a-mutex.obj `if test -f 'concurrency/mutex.c'; then $(CYGPATH_W) 'concurrency/mutex.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/mutex.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-mutex.Tpo concurrency/$(DEPDIR)/libcfa_d_a-mutex.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/mutex.c' object='concurrency/libcfa_d_a-mutex.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-mutex.obj `if test -f 'concurrency/mutex.c'; then $(CYGPATH_W) 'concurrency/mutex.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/mutex.c'; fi`
+
 libcfa_d_a-assert.o: assert.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-assert.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-assert.Tpo -c -o libcfa_d_a-assert.o `test -f 'assert.c' || echo '$(srcdir)/'`assert.c
@@ -1237,4 +1259,18 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
+
+concurrency/libcfa_a-mutex.o: concurrency/mutex.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-mutex.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-mutex.Tpo -c -o concurrency/libcfa_a-mutex.o `test -f 'concurrency/mutex.c' || echo '$(srcdir)/'`concurrency/mutex.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-mutex.Tpo concurrency/$(DEPDIR)/libcfa_a-mutex.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/mutex.c' object='concurrency/libcfa_a-mutex.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-mutex.o `test -f 'concurrency/mutex.c' || echo '$(srcdir)/'`concurrency/mutex.c
+
+concurrency/libcfa_a-mutex.obj: concurrency/mutex.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-mutex.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-mutex.Tpo -c -o concurrency/libcfa_a-mutex.obj `if test -f 'concurrency/mutex.c'; then $(CYGPATH_W) 'concurrency/mutex.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/mutex.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-mutex.Tpo concurrency/$(DEPDIR)/libcfa_a-mutex.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/mutex.c' object='concurrency/libcfa_a-mutex.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-mutex.obj `if test -f 'concurrency/mutex.c'; then $(CYGPATH_W) 'concurrency/mutex.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/mutex.c'; fi`
 
 libcfa_a-assert.o: assert.c
Index: src/libcfa/bits/containers.h
===================================================================
--- src/libcfa/bits/containers.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/bits/containers.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -183,4 +183,9 @@
 		verify( *tail == NULL );
 		return val;
+	}
+
+	forall(dtype T | is_node(T))
+	static inline bool ?!=?( __queue(T) & this, zero_t zero ) {
+		return this.head != 0;
 	}
 #endif
@@ -261,4 +266,9 @@
 		__get( node ).prev = NULL;
 	}
+
+	forall(dtype T | sized(T))
+	static inline bool ?!=?( __dllist(T) & this, zero_t zero ) {
+		return this.head != 0;
+	}
 	#undef next
 	#undef prev
Index: src/libcfa/bits/locks.h
===================================================================
--- src/libcfa/bits/locks.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/bits/locks.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -18,4 +18,11 @@
 #include "bits/debug.h"
 #include "bits/defs.h"
+#include <assert.h>
+
+#ifdef __cforall
+	extern "C" {
+		#include <pthread.h>
+	}
+#endif
 
 // pause to prevent excess processor bus usage
@@ -112,3 +119,47 @@
 		__atomic_clear( &this.lock, __ATOMIC_RELEASE );
 	}
+
+
+	#ifdef __CFA_WITH_VERIFY__
+		extern bool __cfaabi_dbg_in_kernel();
+	#endif
+
+	struct __bin_sem_t {
+		bool     		signaled;
+		pthread_mutex_t 	lock;
+		pthread_cond_t  	cond;
+	};
+
+	static inline void ?{}(__bin_sem_t & this) with( this ) {
+		signaled = false;
+		pthread_mutex_init(&lock, NULL);
+		pthread_cond_init (&cond, NULL);
+	}
+
+	static inline void ^?{}(__bin_sem_t & this) with( this ) {
+		pthread_mutex_destroy(&lock);
+		pthread_cond_destroy (&cond);
+	}
+
+	static inline void wait(__bin_sem_t & this) with( this ) {
+		verify(__cfaabi_dbg_in_kernel());
+		pthread_mutex_lock(&lock);
+			if(!signaled) {   // this must be a loop, not if!
+				pthread_cond_wait(&cond, &lock);
+			}
+			signaled = false;
+		pthread_mutex_unlock(&lock);
+	}
+
+	static inline void post(__bin_sem_t & this) with( this ) {
+		verify(__cfaabi_dbg_in_kernel());
+
+		pthread_mutex_lock(&lock);
+			bool needs_signal = !signaled;
+			signaled = true;
+		pthread_mutex_unlock(&lock);
+
+		if (needs_signal)
+			pthread_cond_signal(&cond);
+	}
 #endif
Index: src/libcfa/concurrency/invoke.h
===================================================================
--- src/libcfa/concurrency/invoke.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/concurrency/invoke.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Tue Jan 17 12:27:26 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Mar 30 22:33:59 2018
-// Update Count     : 30
+// Last Modified On : Sat May 19 08:23:21 2018
+// Update Count     : 31
 //
 
@@ -18,7 +18,4 @@
 #include "bits/locks.h"
 
-#define TL_GET( member ) kernelTLS.member
-#define TL_SET( member, value ) kernelTLS.member = value;
-
 #ifdef __cforall
 extern "C" {
@@ -28,4 +25,22 @@
 #ifndef _INVOKE_H_
 #define _INVOKE_H_
+
+#ifdef __ARM_ARCH
+	// function prototypes are only really used by these macros on ARM
+	void disable_global_interrupts();
+	void enable_global_interrupts();
+
+	#define TL_GET( member ) ( { __typeof__( kernelTLS.member ) target; \
+                disable_global_interrupts(); \
+                target = kernelTLS.member; \
+                enable_global_interrupts(); \
+                target; } )
+	#define TL_SET( member, value ) disable_global_interrupts(); \
+		kernelTLS.member = value; \
+		enable_global_interrupts();
+#else
+	#define TL_GET( member ) kernelTLS.member
+	#define TL_SET( member, value ) kernelTLS.member = value;
+#endif
 
 	#ifdef __cforall
Index: src/libcfa/concurrency/kernel
===================================================================
--- src/libcfa/concurrency/kernel	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/concurrency/kernel	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -23,4 +23,5 @@
 extern "C" {
 #include <pthread.h>
+#include <semaphore.h>
 }
 
@@ -43,15 +44,45 @@
 extern struct cluster * mainCluster;
 
-enum FinishOpCode { No_Action, Release, Schedule, Release_Schedule, Release_Multi, Release_Multi_Schedule };
+enum FinishOpCode { No_Action, Release, Schedule, Release_Schedule, Release_Multi, Release_Multi_Schedule, Callback };
+
+typedef void (*__finish_callback_fptr_t)(void);
 
 //TODO use union, many of these fields are mutually exclusive (i.e. MULTI vs NOMULTI)
 struct FinishAction {
 	FinishOpCode action_code;
+	/*
+	// Union of possible actions
+	union {
+		// Option 1 : locks and threads
+		struct {
+			// 1 thread or N thread
+			union {
+				thread_desc * thrd;
+				struct {
+					thread_desc ** thrds;
+					unsigned short thrd_count;
+				};
+			};
+			// 1 lock or N lock
+			union {
+				__spinlock_t * lock;
+				struct {
+					__spinlock_t ** locks;
+					unsigned short lock_count;
+				};
+			};
+		};
+		// Option 2 : action pointer
+		__finish_callback_fptr_t callback;
+	};
+	/*/
 	thread_desc * thrd;
+	thread_desc ** thrds;
+	unsigned short thrd_count;
 	__spinlock_t * lock;
 	__spinlock_t ** locks;
 	unsigned short lock_count;
-	thread_desc ** thrds;
-	unsigned short thrd_count;
+	__finish_callback_fptr_t callback;
+	//*/
 };
 static inline void ?{}(FinishAction & this) {
@@ -82,4 +113,18 @@
 	pthread_t kernel_thread;
 
+	// RunThread data
+	// Action to do after a thread is ran
+	struct FinishAction finish;
+
+	// Preemption data
+	// Node which is added in the discrete event simulaiton
+	struct alarm_node_t * preemption_alarm;
+
+	// If true, a preemption was triggered in an unsafe region, the processor must preempt as soon as possible
+	bool pending_preemption;
+
+	// Idle lock
+	__bin_sem_t idleLock;
+
 	// Termination
 	// Set to true to notify the processor should terminate
@@ -89,19 +134,6 @@
 	semaphore terminated;
 
-	// RunThread data
-	// Action to do after a thread is ran
-	struct FinishAction finish;
-
-	// Preemption data
-	// Node which is added in the discrete event simulaiton
-	struct alarm_node_t * preemption_alarm;
-
-	// If true, a preemption was triggered in an unsafe region, the processor must preempt as soon as possible
-	bool pending_preemption;
-
-	// Idle lock
-
 	// Link lists fields
-	struct {
+	struct __dbg_node_proc {
 		struct processor * next;
 		struct processor * prev;
@@ -150,5 +182,5 @@
 
 	// Link lists fields
-	struct {
+	struct __dbg_node_cltr {
 		cluster * next;
 		cluster * prev;
Index: src/libcfa/concurrency/kernel.c
===================================================================
--- src/libcfa/concurrency/kernel.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/concurrency/kernel.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -16,4 +16,6 @@
 //C Includes
 #include <stddef.h>
+#include <errno.h>
+#include <string.h>
 extern "C" {
 #include <stdio.h>
@@ -49,5 +51,7 @@
 thread_desc * mainThread;
 
-struct { __dllist_t(cluster    ) list; __spinlock_t lock; } global_clusters;
+extern "C" {
+struct { __dllist_t(cluster) list; __spinlock_t lock; } __cfa_dbg_global_clusters;
+}
 
 //-----------------------------------------------------------------------------
@@ -143,17 +147,21 @@
 	runner.proc = &this;
 
+	idleLock{};
+
 	start( &this );
 }
 
 void ^?{}(processor & this) with( this ){
-	if( ! do_terminate ) {
+	if( ! __atomic_load_n(&do_terminate, __ATOMIC_ACQUIRE) ) {
 		__cfaabi_dbg_print_safe("Kernel : core %p signaling termination\n", &this);
-		terminate(&this);
-		verify(this.do_terminate);
-		verify( kernelTLS.this_processor != &this);
+
+		__atomic_store_n(&do_terminate, true, __ATOMIC_RELAXED);
+		wake( &this );
+
 		P( terminated );
 		verify( kernelTLS.this_processor != &this);
-		pthread_join( kernel_thread, NULL );
-	}
+	}
+
+	pthread_join( kernel_thread, NULL );
 }
 
@@ -194,5 +202,5 @@
 
 		thread_desc * readyThread = NULL;
-		for( unsigned int spin_count = 0; ! this->do_terminate; spin_count++ )
+		for( unsigned int spin_count = 0; ! __atomic_load_n(&this->do_terminate, __ATOMIC_SEQ_CST); spin_count++ )
 		{
 			readyThread = nextThread( this->cltr );
@@ -213,5 +221,6 @@
 			else
 			{
-				spin(this, &spin_count);
+				// spin(this, &spin_count);
+				halt(this);
 			}
 		}
@@ -257,23 +266,20 @@
 // its final actions must be executed from the kernel
 void finishRunning(processor * this) with( this->finish ) {
-	if( action_code == Release ) {
-		verify( ! kernelTLS.preemption_state.enabled );
+	verify( ! kernelTLS.preemption_state.enabled );
+	choose( action_code ) {
+	case No_Action:
+		break;
+	case Release:
 		unlock( *lock );
-	}
-	else if( action_code == Schedule ) {
+	case Schedule:
 		ScheduleThread( thrd );
-	}
-	else if( action_code == Release_Schedule ) {
-		verify( ! kernelTLS.preemption_state.enabled );
+	case Release_Schedule:
 		unlock( *lock );
 		ScheduleThread( thrd );
-	}
-	else if( action_code == Release_Multi ) {
-		verify( ! kernelTLS.preemption_state.enabled );
+	case Release_Multi:
 		for(int i = 0; i < lock_count; i++) {
 			unlock( *locks[i] );
 		}
-	}
-	else if( action_code == Release_Multi_Schedule ) {
+	case Release_Multi_Schedule:
 		for(int i = 0; i < lock_count; i++) {
 			unlock( *locks[i] );
@@ -282,14 +288,9 @@
 			ScheduleThread( thrds[i] );
 		}
-	}
-	else {
-		assert(action_code == No_Action);
-	}
-}
-
-// Handles spinning logic
-// TODO : find some strategy to put cores to sleep after some time
-void spin(processor * this, unsigned int * spin_count) {
-	(*spin_count)++;
+	case Callback:
+		callback();
+	default:
+		abort("KERNEL ERROR: Unexpected action to run after thread");
+	}
 }
 
@@ -396,6 +397,19 @@
 	with( *thrd->curr_cluster ) {
 		lock  ( ready_queue_lock __cfaabi_dbg_ctx2 );
+		bool was_empty = !(ready_queue != 0);
 		append( ready_queue, thrd );
 		unlock( ready_queue_lock );
+
+		if(was_empty) {
+			lock      (proc_list_lock __cfaabi_dbg_ctx2);
+			if(idles) {
+				wake_fast(idles.head);
+			}
+			unlock    (proc_list_lock);
+		}
+		else if( struct processor * idle = idles.head ) {
+			wake_fast(idle);
+		}
+
 	}
 
@@ -497,4 +511,18 @@
 }
 
+void BlockInternal(__finish_callback_fptr_t callback) {
+	disable_interrupts();
+	with( *kernelTLS.this_processor ) {
+		finish.action_code = Callback;
+		finish.callback    = callback;
+	}
+
+	verify( ! kernelTLS.preemption_state.enabled );
+	returnToKernel();
+	verify( ! kernelTLS.preemption_state.enabled );
+
+	enable_interrupts( __cfaabi_dbg_ctx );
+}
+
 // KERNEL ONLY
 void LeaveThread(__spinlock_t * lock, thread_desc * thrd) {
@@ -518,6 +546,6 @@
 	__cfaabi_dbg_print_safe("Kernel : Starting\n");
 
-	global_clusters.list{ __get };
-	global_clusters.lock{};
+	__cfa_dbg_global_clusters.list{ __get };
+	__cfa_dbg_global_clusters.lock{};
 
 	// Initialize the main cluster
@@ -600,6 +628,7 @@
 	// When its coroutine terminates, it return control to the mainThread
 	// which is currently here
-	mainProcessor->do_terminate = true;
+	__atomic_store_n(&mainProcessor->do_terminate, true, __ATOMIC_RELEASE);
 	returnToKernel();
+	mainThread->self_cor.state = Halted;
 
 	// THE SYSTEM IS NOW COMPLETELY STOPPED
@@ -617,6 +646,6 @@
 	^(mainThread){};
 
-	^(global_clusters.list){};
-	^(global_clusters.lock){};
+	^(__cfa_dbg_global_clusters.list){};
+	^(__cfa_dbg_global_clusters.lock){};
 
 	__cfaabi_dbg_print_safe("Kernel : Shutdown complete\n");
@@ -627,21 +656,27 @@
 //=============================================================================================
 
-// void halt(processor * this) with( this ) {
-// 	pthread_mutex_lock( &idle.lock );
-
-
-
-// 	// SKULLDUGGERY: Even if spurious wake-up is a thing
-// 	// spuriously waking up a kernel thread is not a big deal
-// 	// if it is very rare.
-// 	pthread_cond_wait( &idle.cond, &idle.lock);
-// 	pthread_mutex_unlock( &idle.lock );
-// }
-
-// void wake(processor * this) with( this ) {
-// 	pthread_mutex_lock  (&idle.lock);
-// 	pthread_cond_signal (&idle.cond);
-// 	pthread_mutex_unlock(&idle.lock);
-// }
+void halt(processor * this) with( *this ) {
+	// verify( ! __atomic_load_n(&do_terminate, __ATOMIC_SEQ_CST) );
+
+	with( *cltr ) {
+		lock      (proc_list_lock __cfaabi_dbg_ctx2);
+		remove    (procs, *this);
+		push_front(idles, *this);
+		unlock    (proc_list_lock);
+	}
+
+	__cfaabi_dbg_print_safe("Kernel : Processor %p ready to sleep\n", this);
+
+	wait( idleLock );
+
+	__cfaabi_dbg_print_safe("Kernel : Processor %p woke up and ready to run\n", this);
+
+	with( *cltr ) {
+		lock      (proc_list_lock __cfaabi_dbg_ctx2);
+		remove    (idles, *this);
+		push_front(procs, *this);
+		unlock    (proc_list_lock);
+	}
+}
 
 //=============================================================================================
@@ -758,13 +793,13 @@
 // Global Queues
 void doregister( cluster     & cltr ) {
-	lock      ( global_clusters.lock __cfaabi_dbg_ctx2);
-	push_front( global_clusters.list, cltr );
-	unlock    ( global_clusters.lock );
+	lock      ( __cfa_dbg_global_clusters.lock __cfaabi_dbg_ctx2);
+	push_front( __cfa_dbg_global_clusters.list, cltr );
+	unlock    ( __cfa_dbg_global_clusters.lock );
 }
 
 void unregister( cluster     & cltr ) {
-	lock  ( global_clusters.lock __cfaabi_dbg_ctx2);
-	remove( global_clusters.list, cltr );
-	unlock( global_clusters.lock );
+	lock  ( __cfa_dbg_global_clusters.lock __cfaabi_dbg_ctx2);
+	remove( __cfa_dbg_global_clusters.list, cltr );
+	unlock( __cfa_dbg_global_clusters.lock );
 }
 
Index: src/libcfa/concurrency/kernel_private.h
===================================================================
--- src/libcfa/concurrency/kernel_private.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/concurrency/kernel_private.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -48,4 +48,5 @@
 void BlockInternal(__spinlock_t * locks [], unsigned short count);
 void BlockInternal(__spinlock_t * locks [], unsigned short count, thread_desc * thrds [], unsigned short thrd_count);
+void BlockInternal(__finish_callback_fptr_t callback);
 void LeaveThread(__spinlock_t * lock, thread_desc * thrd);
 
@@ -56,6 +57,16 @@
 void runThread(processor * this, thread_desc * dst);
 void finishRunning(processor * this);
-void terminate(processor * this);
-void spin(processor * this, unsigned int * spin_count);
+void halt(processor * this);
+
+static inline void wake_fast(processor * this) {
+	__cfaabi_dbg_print_safe("Kernel : Waking up processor %p\n", this);
+	post( this->idleLock );
+}
+
+static inline void wake(processor * this) {
+	disable_interrupts();
+	wake_fast(this);
+	enable_interrupts( __cfaabi_dbg_ctx );
+}
 
 struct event_kernel_t {
@@ -65,12 +76,4 @@
 
 extern event_kernel_t * event_kernel;
-
-//extern thread_local coroutine_desc * volatile this_coroutine;
-//extern thread_local thread_desc *    volatile this_thread;
-//extern thread_local processor *      volatile this_processor;
-
-// extern volatile thread_local bool preemption_in_progress;
-// extern volatile thread_local bool preemption_enabled;
-// extern volatile thread_local unsigned short disable_preempt_count;
 
 struct __cfa_kernel_preemption_state_t {
Index: src/libcfa/concurrency/monitor.c
===================================================================
--- src/libcfa/concurrency/monitor.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/concurrency/monitor.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -297,5 +297,5 @@
 	this.count = count;
 
-	// Sort monitors based on address -> TODO use a sort specialized for small numbers
+	// Sort monitors based on address
 	__libcfa_small_sort(this.m, count);
 
Index: src/libcfa/concurrency/mutex
===================================================================
--- src/libcfa/concurrency/mutex	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/libcfa/concurrency/mutex	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,171 @@
+
+//                              -*- Mode: CFA -*-
+//
+// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+//
+// mutex --
+//
+// Author           : Thierry Delisle
+// Created On       : Fri May 25 01:24:09 2018
+// Last Modified By : Thierry Delisle
+// Last Modified On : Fri May 25 01:24:12 2018
+// Update Count     : 0
+//
+
+#pragma once
+
+#include <stdbool.h>
+
+#include "bits/algorithms.h"
+#include "bits/locks.h"
+
+#include "invoke.h"
+#include "time_t.h"
+
+//-----------------------------------------------------------------------------
+// Locks
+
+// Exclusive lock - non-recursive
+// ---
+struct mutex_lock {
+	// Spin lock used for mutual exclusion
+	__spinlock_t lock;
+
+	// List of blocked threads
+	__queue_t(struct thread_desc) blocked_threads;
+
+	// Locked flag
+	bool is_locked;
+};
+
+void ?{}(mutex_lock & this);
+void ^?{}(mutex_lock & this);
+void lock(mutex_lock & this);
+bool try_lock(mutex_lock & this);
+void unlock(mutex_lock & this);
+
+// Exclusive lock - recursive
+// ---
+struct recursive_mutex_lock{
+	// Spin lock used for mutual exclusion
+	__spinlock_t lock;
+
+	// List of blocked threads
+	__queue_t(struct thread_desc) blocked_threads;
+
+	// Current thread owning the lock
+	struct thread_desc * owner;
+
+	// Number of recursion level
+	size_t recursion_count;
+};
+
+void ?{}(recursive_mutex_lock & this);
+void ^?{}(recursive_mutex_lock & this);
+void lock(recursive_mutex_lock & this);
+bool try_lock(recursive_mutex_lock & this);
+void unlock(recursive_mutex_lock & this);
+
+trait is_lock(dtype L | sized(L)) {
+	void lock  (L &);
+	void unlock(L &);
+};
+
+//-----------------------------------------------------------------------------
+// Condition variables
+
+struct condition_variable {
+	// Spin lock used for mutual exclusion
+	__spinlock_t lock;
+
+	// List of blocked threads
+	__queue_t(struct thread_desc) blocked_threads;
+};
+
+void ?{}(condition_variable & this);
+void ^?{}(condition_variable & this);
+
+void notify_one(condition_variable & this);
+void notify_all(condition_variable & this);
+
+void wait(condition_variable & this);
+
+forall(dtype L | is_lock(L))
+void wait(condition_variable & this, L & l);
+
+//-----------------------------------------------------------------------------
+// Scopes
+forall(dtype L | is_lock(L)) {
+	#if !defined( __TUPLE_ARRAYS_EXIST__ )
+	void lock  ( L * locks [], size_t count);
+	void unlock( L * locks [], size_t count);
+
+	struct lock_scope {
+		L **   locks;
+		size_t count;
+	};
+
+	static inline void ?{}(lock_scope(L) & this) {
+		this.locks = NULL;
+		this.count = 0;
+	}
+
+	static inline void ^?{}(lock_scope(L) & this) {
+		if(this.count > 0) {
+			unlock(this.locks, this.count);
+		}
+	}
+
+	static inline lock_scope(L) lock( L * locks [], size_t count, lock_scope(L) & scope) {
+		lock(locks, count);
+		scope.locks = locks;
+		scope.count = count;
+	}
+
+	static inline void unlock( lock_scope(L) & this ) {
+		unlock(this.locks, this.count);
+		this.count = 0;
+	}
+
+	static inline void release( lock_scope(L) & this ) {
+		this.count = 0;
+	}
+	#else
+	void lock( [L &...] locks );
+	void unlock( [L &...] locks );
+
+	forall(size_t N)
+	struct lock_scope {
+		bool released;
+		[L &... N] locks;
+	};
+
+	void ?{}(lock_scope(L) & this) = void;
+	void ?{}(lock_scope(L) & this, lock_scope(L) other) = void;
+	void ?move?(lock_scope(L) & this, lock_scope(L) & other) = default;
+
+	static inline void ^?{}(lock_scope(L) & this) {
+		if( !this.released ) {
+			unlock(this.locks);
+		}
+	}
+
+	forall(size_t N)
+	static inline lock_scope(L, N) lock( [L &...] locks ) {
+		lock(locks);
+		return @{false, locks};
+	}
+
+	static inline void unlock( lock_scope(L) & this ) {
+		unlock(this.locks);
+		this.released = true
+	}
+
+	static inline void release( lock_scope(L) & this ) {
+		this.released = true;
+	}
+	#endif
+}
Index: src/libcfa/concurrency/mutex.c
===================================================================
--- src/libcfa/concurrency/mutex.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/libcfa/concurrency/mutex.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,193 @@
+
+//                              -*- Mode: CFA -*-
+//
+// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+//
+// mutex.c --
+//
+// Author           : Thierry Delisle
+// Created On       : Fri May 25 01:37:11 2018
+// Last Modified By : Thierry Delisle
+// Last Modified On : Fri May 25 01:37:51 2018
+// Update Count     : 0
+//
+
+#include "mutex"
+
+#include "kernel_private.h"
+
+//-----------------------------------------------------------------------------
+// Locks
+
+// Exclusive lock - non-recursive
+// ---
+void ?{}(mutex_lock & this) {
+	this.lock{};
+	this.blocked_threads{};
+}
+
+void ^?{}(mutex_lock & this) {
+	// default
+}
+
+void lock(mutex_lock & this) with(this) {
+	lock( lock __cfaabi_dbg_ctx2 );
+	if( is_locked ) {
+		append( blocked_threads, kernelTLS.this_thread );
+		BlockInternal( &lock );
+	}
+	else {
+		is_locked = true;
+		unlock( lock );
+	}
+}
+
+bool try_lock(mutex_lock & this) with(this) {
+	bool ret = false;
+	lock( lock __cfaabi_dbg_ctx2 );
+	if( !is_locked ) {
+		ret = true;
+		is_locked = true;
+	}
+	unlock( lock );
+	return ret;
+}
+
+void unlock(mutex_lock & this) {
+	lock( this.lock __cfaabi_dbg_ctx2 );
+	this.is_locked = (this.blocked_threads != 0);
+	WakeThread(
+		pop_head( this.blocked_threads )
+	);
+	unlock( this.lock );
+}
+
+// Exclusive lock - non-recursive
+// ---
+void ?{}(recursive_mutex_lock & this) {
+	this.lock{};
+	this.blocked_threads{};
+	this.owner = NULL;
+	this.recursion_count = 0;
+}
+
+void ^?{}(recursive_mutex_lock & this) {
+	// default
+}
+
+void lock(recursive_mutex_lock & this) with(this) {
+	lock( lock __cfaabi_dbg_ctx2 );
+	if( owner == NULL ) {
+		owner = kernelTLS.this_thread;
+		recursion_count = 1;
+		unlock( lock );
+	}
+	else if( owner == kernelTLS.this_thread ) {
+		recursion_count++;
+		unlock( lock );
+	}
+	else {
+		append( blocked_threads, kernelTLS.this_thread );
+		BlockInternal( &lock );
+	}
+}
+
+bool try_lock(recursive_mutex_lock & this) with(this) {
+	bool ret = false;
+	lock( lock __cfaabi_dbg_ctx2 );
+	if( owner == NULL ) {
+		owner = kernelTLS.this_thread;
+		recursion_count = 1;
+		ret = true;
+	}
+	else if( owner == kernelTLS.this_thread ) {
+		recursion_count++;
+		ret = true;
+	}
+	unlock( lock );
+	return ret;
+}
+
+void unlock(recursive_mutex_lock & this) with(this) {
+	lock( lock __cfaabi_dbg_ctx2 );
+	recursion_count--;
+	if( recursion_count == 0 ) {
+		thread_desc * thrd = pop_head( blocked_threads );
+		owner = thrd;
+		recursion_count = (thrd ? 1 : 0);
+		WakeThread( thrd );
+	}
+	unlock( lock );
+}
+
+//-----------------------------------------------------------------------------
+// Conditions
+void ?{}(condition_variable & this) {
+	this.blocked_threads{};
+}
+
+void ^?{}(condition_variable & this) {
+	// default
+}
+
+void notify_one(condition_variable & this) with(this) {
+	lock( lock __cfaabi_dbg_ctx2 );
+	WakeThread(
+		pop_head( this.blocked_threads )
+	);
+	unlock( lock );
+}
+
+void notify_all(condition_variable & this) with(this) {
+	lock( lock __cfaabi_dbg_ctx2 );
+	while(this.blocked_threads) {
+		WakeThread(
+			pop_head( this.blocked_threads )
+		);
+	}
+	unlock( lock );
+}
+
+void wait(condition_variable & this) {
+	lock( this.lock __cfaabi_dbg_ctx2 );
+	append( this.blocked_threads, kernelTLS.this_thread );
+	BlockInternal( &this.lock );
+}
+
+forall(dtype L | is_lock(L))
+void wait(condition_variable & this, L & l) {
+	lock( this.lock __cfaabi_dbg_ctx2 );
+	append( this.blocked_threads, kernelTLS.this_thread );
+	void __unlock(void) {
+		unlock(l);
+		unlock(this.lock);
+	}
+	BlockInternal( __unlock );
+	lock(l);
+}
+
+//-----------------------------------------------------------------------------
+// Scopes
+forall(dtype L | is_lock(L))
+void lock_all  ( L * locks[], size_t count) {
+	// Sort locks based on addresses
+	__libcfa_small_sort(locks, count);
+
+	// Lock all
+	for(size_t i = 0; i < count; i++) {
+		L * l = locks[i];
+		lock( *l );
+	}
+}
+
+forall(dtype L | is_lock(L))
+void unlock_all( L * locks[], size_t count) {
+	// Lock all
+	for(size_t i = 0; i < count; i++) {
+		L * l = locks[i];
+		unlock( *l );
+	}
+}
Index: src/libcfa/concurrency/preemption.c
===================================================================
--- src/libcfa/concurrency/preemption.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/concurrency/preemption.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Mon Jun 5 14:20:42 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Apr  9 13:52:39 2018
-// Update Count     : 36
+// Last Modified On : Tue Jun  5 17:35:49 2018
+// Update Count     : 37
 //
 
@@ -116,5 +116,5 @@
 	// If there are still alarms pending, reset the timer
 	if( alarms->head ) {
-		__cfaabi_dbg_print_buffer_decl( " KERNEL: @%lu(%lu) resetting alarm to %lu.\n", currtime.tv, __kernel_get_time().tv, (alarms->head->alarm - currtime).tv);
+		__cfaabi_dbg_print_buffer_decl( " KERNEL: @%ju(%ju) resetting alarm to %ju.\n", currtime.tv, __kernel_get_time().tv, (alarms->head->alarm - currtime).tv);
 		Duration delta = alarms->head->alarm - currtime;
 		Duration caped = max(delta, 50`us);
@@ -161,5 +161,7 @@
 	void disable_interrupts() {
 		with( kernelTLS.preemption_state ) {
+			#if GCC_VERSION > 50000
 			static_assert(__atomic_always_lock_free(sizeof(enabled), &enabled), "Must be lock-free");
+			#endif
 
 			// Set enabled flag to false
@@ -190,5 +192,7 @@
 			// Check if we need to prempt the thread because an interrupt was missed
 			if( prev == 1 ) {
+				#if GCC_VERSION > 50000
 				static_assert(__atomic_always_lock_free(sizeof(enabled), &enabled), "Must be lock-free");
+				#endif
 
 				// Set enabled flag to true
@@ -217,5 +221,7 @@
 		verifyf( prev != 0u, "Incremented from %u\n", prev );                     // If this triggers someone is enabled already enabled interrupts
 		if( prev == 1 ) {
+			#if GCC_VERSION > 50000
 			static_assert(__atomic_always_lock_free(sizeof(kernelTLS.preemption_state.enabled), &kernelTLS.preemption_state.enabled), "Must be lock-free");
+			#endif
 			// Set enabled flag to true
 			// should be atomic to avoid preemption in the middle of the operation.
@@ -254,11 +260,4 @@
 static void preempt( processor * this ) {
 	sigval_t value = { PREEMPT_NORMAL };
-	pthread_sigqueue( this->kernel_thread, SIGUSR1, value );
-}
-
-// kill wrapper : signal a processor
-void terminate(processor * this) {
-	this->do_terminate = true;
-	sigval_t value = { PREEMPT_TERMINATE };
 	pthread_sigqueue( this->kernel_thread, SIGUSR1, value );
 }
@@ -362,5 +361,5 @@
 	choose(sfp->si_value.sival_int) {
 		case PREEMPT_NORMAL   : ;// Normal case, nothing to do here
-		case PREEMPT_TERMINATE: verify( kernelTLS.this_processor->do_terminate);
+		case PREEMPT_TERMINATE: verify( __atomic_load_n( &kernelTLS.this_processor->do_terminate, __ATOMIC_SEQ_CST ) );
 		default:
 			abort( "internal error, signal value is %d", sfp->si_value.sival_int );
@@ -376,5 +375,7 @@
 
 	// Clear sighandler mask before context switching.
+	#if GCC_VERSION > 50000
 	static_assert( sizeof( sigset_t ) == sizeof( cxt->uc_sigmask ), "Expected cxt->uc_sigmask to be of sigset_t" );
+	#endif
 	if ( pthread_sigmask( SIG_SETMASK, (sigset_t *)&(cxt->uc_sigmask), NULL ) == -1 ) {
 		abort( "internal error, sigprocmask" );
@@ -479,4 +480,10 @@
 }
 
+#ifdef __CFA_WITH_VERIFY__
+bool __cfaabi_dbg_in_kernel() {
+	return !kernelTLS.preemption_state.enabled;
+}
+#endif
+
 // Local Variables: //
 // mode: c //
Index: src/libcfa/fstream
===================================================================
--- src/libcfa/fstream	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/fstream	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Dec  7 15:17:26 2017
-// Update Count     : 130
+// Last Modified On : Tue Jun  5 10:20:25 2018
+// Update Count     : 131
 //
 
@@ -54,5 +54,5 @@
 void open( ofstream &, const char * name );
 void close( ofstream & );
-ofstream & write( ofstream &, const char * data, unsigned long int size );
+ofstream & write( ofstream &, const char * data, size_t size );
 int fmt( ofstream &, const char fmt[], ... );
 
@@ -74,5 +74,5 @@
 void open( ifstream & is, const char * name );
 void close( ifstream & is );
-ifstream & read( ifstream & is, char * data, unsigned long int size );
+ifstream & read( ifstream & is, char * data, size_t size );
 ifstream & ungetc( ifstream & is, char c );
 int fmt( ifstream &, const char fmt[], ... );
Index: src/libcfa/fstream.c
===================================================================
--- src/libcfa/fstream.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/fstream.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Dec  9 09:31:23 2017
-// Update Count     : 275
+// Last Modified On : Tue Jun  5 17:02:56 2018
+// Update Count     : 281
 //
 
@@ -116,5 +116,5 @@
 } // close
 
-ofstream & write( ofstream & os, const char * data, unsigned long int size ) {
+ofstream & write( ofstream & os, const char * data, size_t size ) {
 	if ( fail( os ) ) {
 		fprintf( stderr, "attempt write I/O on failed stream\n" );
@@ -198,5 +198,5 @@
 } // close
 
-ifstream & read( ifstream & is, char * data, unsigned long int size ) {
+ifstream & read( ifstream & is, char * data, size_t size ) {
 	if ( fail( is ) ) {
 		fprintf( stderr, "attempt read I/O on failed stream\n" );
Index: src/libcfa/iostream
===================================================================
--- src/libcfa/iostream	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/iostream	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Apr 28 13:08:24 2018
-// Update Count     : 152
+// Last Modified On : Sat Jun  2 08:07:55 2018
+// Update Count     : 153
 //
 
@@ -56,48 +56,50 @@
 // implement writable for intrinsic types
 
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, _Bool );
+forall( dtype ostype | ostream( ostype ) ) {
+	ostype & ?|?( ostype &, _Bool );
 
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, char );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, signed char );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned char );
+	ostype & ?|?( ostype &, char );
+	ostype & ?|?( ostype &, signed char );
+	ostype & ?|?( ostype &, unsigned char );
 
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, short int );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned short int );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, int );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned int );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, long int );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, long long int );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned long int );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, unsigned long long int );
+	ostype & ?|?( ostype &, short int );
+	ostype & ?|?( ostype &, unsigned short int );
+	ostype & ?|?( ostype &, int );
+	ostype & ?|?( ostype &, unsigned int );
+	ostype & ?|?( ostype &, long int );
+	ostype & ?|?( ostype &, long long int );
+	ostype & ?|?( ostype &, unsigned long int );
+	ostype & ?|?( ostype &, unsigned long long int );
 
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, float ); // FIX ME: should not be required
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, double );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, long double );
+	ostype & ?|?( ostype &, float ); // FIX ME: should not be required
+	ostype & ?|?( ostype &, double );
+	ostype & ?|?( ostype &, long double );
 
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, float _Complex );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, double _Complex );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, long double _Complex );
+	ostype & ?|?( ostype &, float _Complex );
+	ostype & ?|?( ostype &, double _Complex );
+	ostype & ?|?( ostype &, long double _Complex );
 
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char * );
-//forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char16_t * );
+	ostype & ?|?( ostype &, const char * );
+	// ostype & ?|?( ostype &, const char16_t * );
 #if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous
-//forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const char32_t * );
+	// ostype & ?|?( ostype &, const char32_t * );
 #endif // ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 )
-//forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const wchar_t * );
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, const void * );
+	// ostype & ?|?( ostype &, const wchar_t * );
+	ostype & ?|?( ostype &, const void * );
+
+	// manipulators
+	ostype & ?|?( ostype &, ostype & (*)( ostype & ) );
+	ostype & endl( ostype & );
+	ostype & sep( ostype & );
+	ostype & sepTuple( ostype & );
+	ostype & sepOn( ostype & );
+	ostype & sepOff( ostype & );
+	ostype & sepDisable( ostype & );
+	ostype & sepEnable( ostype & );
+} // distribution
 
 // tuples
 forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } )
 ostype & ?|?( ostype & os, T arg, Params rest );
-
-// manipulators
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, ostype & (*)( ostype & ) );
-forall( dtype ostype | ostream( ostype ) ) ostype & endl( ostype & );
-forall( dtype ostype | ostream( ostype ) ) ostype & sep( ostype & );
-forall( dtype ostype | ostream( ostype ) ) ostype & sepTuple( ostype & );
-forall( dtype ostype | ostream( ostype ) ) ostype & sepOn( ostype & );
-forall( dtype ostype | ostream( ostype ) ) ostype & sepOff( ostype & );
-forall( dtype ostype | ostream( ostype ) ) ostype & sepDisable( ostype & );
-forall( dtype ostype | ostream( ostype ) ) ostype & sepEnable( ostype & );
 
 // writes the range [begin, end) to the given stream
@@ -124,30 +126,32 @@
 }; // readable
 
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, _Bool & );
+forall( dtype istype | istream( istype ) ) {
+	istype & ?|?( istype &, _Bool & );
 
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, char & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, signed char & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned char & );
+	istype & ?|?( istype &, char & );
+	istype & ?|?( istype &, signed char & );
+	istype & ?|?( istype &, unsigned char & );
 
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, short int & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned short int & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, int & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned int & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, long int & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, long long int & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned long int & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, unsigned long long int & );
+	istype & ?|?( istype &, short int & );
+	istype & ?|?( istype &, unsigned short int & );
+	istype & ?|?( istype &, int & );
+	istype & ?|?( istype &, unsigned int & );
+	istype & ?|?( istype &, long int & );
+	istype & ?|?( istype &, long long int & );
+	istype & ?|?( istype &, unsigned long int & );
+	istype & ?|?( istype &, unsigned long long int & );
 
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, float & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, double & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, long double & );
+	istype & ?|?( istype &, float & );
+	istype & ?|?( istype &, double & );
+	istype & ?|?( istype &, long double & );
 
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, float _Complex & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, double _Complex & );
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, long double _Complex & );
+	istype & ?|?( istype &, float _Complex & );
+	istype & ?|?( istype &, double _Complex & );
+	istype & ?|?( istype &, long double _Complex & );
 
-// manipulators
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, istype & (*)( istype & ) );
-forall( dtype istype | istream( istype ) ) istype & endl( istype & is );
+	// manipulators
+	istype & ?|?( istype &, istype & (*)( istype & ) );
+	istype & endl( istype & is );
+} // distribution
 
 struct _Istream_cstrUC { char * s; };
Index: src/libcfa/iostream.c
===================================================================
--- src/libcfa/iostream.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/iostream.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Apr 28 13:08:25 2018
-// Update Count     : 469
+// Last Modified On : Sat Jun  2 08:24:56 2018
+// Update Count     : 471
 //
 
@@ -26,200 +26,223 @@
 }
 
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, _Bool b ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%s", b ? "true" : "false" );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, char ch ) {
-	fmt( os, "%c", ch );
-	if ( ch == '\n' ) setNL( os, true );
-	sepOff( os );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, signed char c ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%hhd", c );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, unsigned char c ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%hhu", c );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, short int si ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%hd", si );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, unsigned short int usi ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%hu", usi );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, int i ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%d", i );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, unsigned int ui ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%u", ui );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, long int li ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%ld", li );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, unsigned long int uli ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%lu", uli );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, long long int lli ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%lld", lli );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, unsigned long long int ulli ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%llu", ulli );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, float f ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%g", f );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, double d ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%.*lg", DBL_DIG, d );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, long double ld ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%.*Lg", LDBL_DIG, ld );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, float _Complex fc ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%g%+gi", crealf( fc ), cimagf( fc ) );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, double _Complex dc ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%.*lg%+.*lgi", DBL_DIG, creal( dc ), DBL_DIG, cimag( dc ) );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, long double _Complex ldc ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%.*Lg%+.*Lgi", LDBL_DIG, creall( ldc ), LDBL_DIG, cimagl( ldc ) );
-	return os;
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, const char * str ) {
-	enum { Open = 1, Close, OpenClose };
-	static const unsigned char mask[256] @= {
-		// opening delimiters, no space after
-		['('] : Open, ['['] : Open, ['{'] : Open,
-		['='] : Open, ['$'] : Open, [(unsigned char)'£'] : Open, [(unsigned char)'¥'] : Open,
-		[(unsigned char)'¡'] : Open, [(unsigned char)'¿'] : Open, [(unsigned char)'«'] : Open,
-		// closing delimiters, no space before
-		[','] : Close, ['.'] : Close, [';'] : Close, ['!'] : Close, ['?'] : Close,
-		['%'] : Close, [(unsigned char)'¢'] : Close, [(unsigned char)'»'] : Close,
-		[')'] : Close, [']'] : Close, ['}'] : Close,
-		// opening-closing delimiters, no space before or after
-		['\''] : OpenClose, ['`'] : OpenClose, ['"'] : OpenClose, [':'] : OpenClose,
-		[' '] : OpenClose, ['\f'] : OpenClose, ['\n'] : OpenClose, ['\r'] : OpenClose, ['\t'] : OpenClose, ['\v'] : OpenClose, // isspace
-	}; // mask
-
-  if ( str[0] == '\0' ) { sepOff( os ); return os; }		// null string => no separator
-
-	// first character IS NOT spacing or closing punctuation => add left separator
-	unsigned char ch = str[0];							// must make unsigned
-	if ( sepPrt( os ) && mask[ ch ] != Close && mask[ ch ] != OpenClose ) {
-		fmt( os, "%s", sepGetCur( os ) );
-	} // if
-
-	// if string starts line, must reset to determine open state because separator is off
-	sepReset( os );										// reset separator
-
-	// last character IS spacing or opening punctuation => turn off separator for next item
-	size_t len = strlen( str );
-	ch = str[len - 1];									// must make unsigned
-	if ( sepPrt( os ) && mask[ ch ] != Open && mask[ ch ] != OpenClose ) {
+forall( dtype ostype | ostream( ostype ) ) {
+	ostype & ?|?( ostype & os, _Bool b ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%s", b ? "true" : "false" );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, char ch ) {
+		fmt( os, "%c", ch );
+		if ( ch == '\n' ) setNL( os, true );
+		sepOff( os );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, signed char c ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%hhd", c );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, unsigned char c ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%hhu", c );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, short int si ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%hd", si );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, unsigned short int usi ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%hu", usi );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, int i ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%d", i );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, unsigned int ui ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%u", ui );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, long int li ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%ld", li );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, unsigned long int uli ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%lu", uli );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, long long int lli ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%lld", lli );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, unsigned long long int ulli ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%llu", ulli );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, float f ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%g", f );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, double d ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%.*lg", DBL_DIG, d );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, long double ld ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%.*Lg", LDBL_DIG, ld );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, float _Complex fc ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%g%+gi", crealf( fc ), cimagf( fc ) );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, double _Complex dc ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%.*lg%+.*lgi", DBL_DIG, creal( dc ), DBL_DIG, cimag( dc ) );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, long double _Complex ldc ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%.*Lg%+.*Lgi", LDBL_DIG, creall( ldc ), LDBL_DIG, cimagl( ldc ) );
+		return os;
+	} // ?|?
+
+	ostype & ?|?( ostype & os, const char * str ) {
+		enum { Open = 1, Close, OpenClose };
+		static const unsigned char mask[256] @= {
+			// opening delimiters, no space after
+			['('] : Open, ['['] : Open, ['{'] : Open,
+			['='] : Open, ['$'] : Open, [(unsigned char)'£'] : Open, [(unsigned char)'¥'] : Open,
+			[(unsigned char)'¡'] : Open, [(unsigned char)'¿'] : Open, [(unsigned char)'«'] : Open,
+			// closing delimiters, no space before
+			[','] : Close, ['.'] : Close, [';'] : Close, ['!'] : Close, ['?'] : Close,
+			['%'] : Close, [(unsigned char)'¢'] : Close, [(unsigned char)'»'] : Close,
+			[')'] : Close, [']'] : Close, ['}'] : Close,
+			// opening-closing delimiters, no space before or after
+			['\''] : OpenClose, ['`'] : OpenClose, ['"'] : OpenClose, [':'] : OpenClose,
+			[' '] : OpenClose, ['\f'] : OpenClose, ['\n'] : OpenClose, ['\r'] : OpenClose, ['\t'] : OpenClose, ['\v'] : OpenClose, // isspace
+		}; // mask
+
+	  if ( str[0] == '\0' ) { sepOff( os ); return os; } // null string => no separator
+
+		// first character IS NOT spacing or closing punctuation => add left separator
+		unsigned char ch = str[0];						// must make unsigned
+		if ( sepPrt( os ) && mask[ ch ] != Close && mask[ ch ] != OpenClose ) {
+			fmt( os, "%s", sepGetCur( os ) );
+		} // if
+
+		// if string starts line, must reset to determine open state because separator is off
+		sepReset( os );									// reset separator
+
+		// last character IS spacing or opening punctuation => turn off separator for next item
+		size_t len = strlen( str );
+		ch = str[len - 1];								// must make unsigned
+		if ( sepPrt( os ) && mask[ ch ] != Open && mask[ ch ] != OpenClose ) {
+			sepOn( os );
+		} else {
+			sepOff( os );
+		} // if
+		if ( ch == '\n' ) setNL( os, true );			// check *AFTER* sepPrt call above as it resets NL flag
+		return write( os, str, len );
+	} // ?|?
+
+// 	ostype & ?|?( ostype & os, const char16_t * str ) {
+// 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+// 		fmt( os, "%ls", str );
+// 		return os;
+// 	} // ?|?
+
+// #if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous
+// 	ostype & ?|?( ostype & os, const char32_t * str ) {
+// 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+// 		fmt( os, "%ls", str );
+// 		return os;
+// 	} // ?|?
+// #endif // ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 )
+
+// 	ostype & ?|?( ostype & os, const wchar_t * str ) {
+// 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+// 		fmt( os, "%ls", str );
+// 		return os;
+// 	} // ?|?
+
+	ostype & ?|?( ostype & os, const void * p ) {
+		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+		fmt( os, "%p", p );
+		return os;
+	} // ?|?
+
+
+	// manipulators
+	ostype & ?|?( ostype & os, ostype & (* manip)( ostype & ) ) {
+		return manip( os );
+	} // ?|?
+
+	ostype & sep( ostype & os ) {
+		os | sepGet( os );
+		return os;
+	} // sep
+
+	ostype & sepTuple( ostype & os ) {
+		os | sepGetTuple( os );
+		return os;
+	} // sepTuple
+
+	ostype & endl( ostype & os ) {
+		os | '\n';
+		setNL( os, true );
+		flush( os );
+		sepOff( os );									// prepare for next line
+		return os;
+	} // endl
+
+	ostype & sepOn( ostype & os ) {
 		sepOn( os );
-	} else {
+		return os;
+	} // sepOn
+
+	ostype & sepOff( ostype & os ) {
 		sepOff( os );
-	} // if
-	if ( ch == '\n' ) setNL( os, true );				// check *AFTER* sepPrt call above as it resets NL flag
-	return write( os, str, len );
-} // ?|?
-
-// forall( dtype ostype | ostream( ostype ) )
-// ostype & ?|?( ostype & os, const char16_t * str ) {
-// 	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-// 	fmt( os, "%ls", str );
-// 	return os;
-// } // ?|?
-
-// #if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous
-// forall( dtype ostype | ostream( ostype ) )
-// ostype & ?|?( ostype & os, const char32_t * str ) {
-// 	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-// 	fmt( os, "%ls", str );
-// 	return os;
-// } // ?|?
-// #endif // ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 )
-
-// forall( dtype ostype | ostream( ostype ) )
-// ostype & ?|?( ostype & os, const wchar_t * str ) {
-// 	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-// 	fmt( os, "%ls", str );
-// 	return os;
-// } // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, const void * p ) {
-	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
-	fmt( os, "%p", p );
-	return os;
-} // ?|?
+		return os;
+	} // sepOff
+
+	ostype & sepEnable( ostype & os ) {
+		sepEnable( os );
+		return os;
+	} // sepEnable
+
+	ostype & sepDisable( ostype & os ) {
+		sepDisable( os );
+		return os;
+	} // sepDisable
+} // distribution
 
 
@@ -234,58 +257,7 @@
 } // ?|?
 
-
-// manipulators
-forall( dtype ostype | ostream( ostype ) )
-ostype & ?|?( ostype & os, ostype & (* manip)( ostype & ) ) {
-	return manip( os );
-} // ?|?
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & sep( ostype & os ) {
-	os | sepGet( os );
-	return os;
-} // sep
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & sepTuple( ostype & os ) {
-	os | sepGetTuple( os );
-	return os;
-} // sepTuple
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & endl( ostype & os ) {
-	os | '\n';
-	setNL( os, true );
-	flush( os );
-	sepOff( os );										// prepare for next line
-	return os;
-} // endl
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & sepOn( ostype & os ) {
-	sepOn( os );
-	return os;
-} // sepOn
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & sepOff( ostype & os ) {
-	sepOff( os );
-	return os;
-} // sepOff
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & sepEnable( ostype & os ) {
-	sepEnable( os );
-	return os;
-} // sepEnable
-
-forall( dtype ostype | ostream( ostype ) )
-ostype & sepDisable( ostype & os ) {
-	sepDisable( os );
-	return os;
-} // sepDisable
-
 //---------------------------------------
 
+// writes the range [begin, end) to the given stream
 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) )
 void write( iterator_type begin, iterator_type end, ostype & os ) {
@@ -302,137 +274,121 @@
 //---------------------------------------
 
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, _Bool & b ) {
-	char val[6];
-	fmt( is, "%5s", val );
-	if ( strcmp( val, "true" ) == 0 ) b = true;
-	else if ( strcmp( val, "false" ) == 0 ) b = false;
-	else {
-		fprintf( stderr, "invalid _Bool constant\n" );
-		abort();
-	} // if
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, char & c ) {
-	fmt( is, "%c", &c );								// must pass pointer through varg to fmt
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, signed char & sc ) {
-	fmt( is, "%hhd", &sc );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, unsigned char & usc ) {
-	fmt( is, "%hhu", &usc );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, short int & si ) {
-	fmt( is, "%hd", &si );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, unsigned short int & usi ) {
-	fmt( is, "%hu", &usi );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, int & i ) {
-	fmt( is, "%d", &i );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, unsigned int & ui ) {
-	fmt( is, "%u", &ui );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, long int & li ) {
-	fmt( is, "%ld", &li );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, unsigned long int & ulli ) {
-	fmt( is, "%lu", &ulli );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, long long int & lli ) {
-	fmt( is, "%lld", &lli );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, unsigned long long int & ulli ) {
-	fmt( is, "%llu", &ulli );
-	return is;
-} // ?|?
-
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, float & f ) {
-	fmt( is, "%f", &f );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, double & d ) {
-	fmt( is, "%lf", &d );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, long double & ld ) {
-	fmt( is, "%Lf", &ld );
-	return is;
-} // ?|?
-
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, float _Complex & fc ) {
-	float re, im;
-	fmt( is, "%g%gi", &re, &im );
-	fc = re + im * _Complex_I;
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, double _Complex & dc ) {
-	double re, im;
-	fmt( is, "%lf%lfi", &re, &im );
-	dc = re + im * _Complex_I;
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, long double _Complex & ldc ) {
-	long double re, im;
-	fmt( is, "%Lf%Lfi", &re, &im );
-	ldc = re + im * _Complex_I;
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & ?|?( istype & is, istype & (* manip)( istype & ) ) {
-	return manip( is );
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype & endl( istype & is ) {
-	fmt( is, "%*[ \t\f\n\r\v]" );						// ignore whitespace
-	return is;
-} // endl
+forall( dtype istype | istream( istype ) ) {
+	istype & ?|?( istype & is, _Bool & b ) {
+		char val[6];
+		fmt( is, "%5s", val );
+		if ( strcmp( val, "true" ) == 0 ) b = true;
+		else if ( strcmp( val, "false" ) == 0 ) b = false;
+		else {
+			fprintf( stderr, "invalid _Bool constant\n" );
+			abort();
+		} // if
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, char & c ) {
+		fmt( is, "%c", &c );							// must pass pointer through varg to fmt
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, signed char & sc ) {
+		fmt( is, "%hhd", &sc );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, unsigned char & usc ) {
+		fmt( is, "%hhu", &usc );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, short int & si ) {
+		fmt( is, "%hd", &si );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, unsigned short int & usi ) {
+		fmt( is, "%hu", &usi );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, int & i ) {
+		fmt( is, "%d", &i );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, unsigned int & ui ) {
+		fmt( is, "%u", &ui );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, long int & li ) {
+		fmt( is, "%ld", &li );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, unsigned long int & ulli ) {
+		fmt( is, "%lu", &ulli );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, long long int & lli ) {
+		fmt( is, "%lld", &lli );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, unsigned long long int & ulli ) {
+		fmt( is, "%llu", &ulli );
+		return is;
+	} // ?|?
+
+
+	istype & ?|?( istype & is, float & f ) {
+		fmt( is, "%f", &f );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, double & d ) {
+		fmt( is, "%lf", &d );
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, long double & ld ) {
+		fmt( is, "%Lf", &ld );
+		return is;
+	} // ?|?
+
+
+	istype & ?|?( istype & is, float _Complex & fc ) {
+		float re, im;
+		fmt( is, "%g%gi", &re, &im );
+		fc = re + im * _Complex_I;
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, double _Complex & dc ) {
+		double re, im;
+		fmt( is, "%lf%lfi", &re, &im );
+		dc = re + im * _Complex_I;
+		return is;
+	} // ?|?
+
+	istype & ?|?( istype & is, long double _Complex & ldc ) {
+		long double re, im;
+		fmt( is, "%Lf%Lfi", &re, &im );
+		ldc = re + im * _Complex_I;
+		return is;
+	} // ?|?
+
+
+	// manipulators
+	istype & ?|?( istype & is, istype & (* manip)( istype & ) ) {
+		return manip( is );
+	} // ?|?
+
+	istype & endl( istype & is ) {
+		fmt( is, "%*[ \t\f\n\r\v]" );					// ignore whitespace
+		return is;
+	} // endl
+} // distribution
 
 _Istream_cstrUC cstr( char * str ) { return (_Istream_cstrUC){ str }; }
Index: src/libcfa/rational
===================================================================
--- src/libcfa/rational	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/rational	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -12,6 +12,6 @@
 // Created On       : Wed Apr  6 17:56:25 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec  6 23:12:53 2017
-// Update Count     : 97
+// Last Modified On : Sat Jun  2 09:10:01 2018
+// Update Count     : 105
 //
 
@@ -46,84 +46,53 @@
 // implementation
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-struct Rational {
-	RationalImpl numerator, denominator;				// invariant: denominator > 0
-}; // Rational
+forall( otype RationalImpl | arithmetic( RationalImpl ) ) {
+	struct Rational {
+		RationalImpl numerator, denominator;			// invariant: denominator > 0
+	}; // Rational
 
-// constructors
+	// constructors
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-void ?{}( Rational(RationalImpl) & r );
+	void ?{}( Rational(RationalImpl) & r );
+	void ?{}( Rational(RationalImpl) & r, RationalImpl n );
+	void ?{}( Rational(RationalImpl) & r, RationalImpl n, RationalImpl d );
+	void ?{}( Rational(RationalImpl) & r, zero_t );
+	void ?{}( Rational(RationalImpl) & r, one_t );
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-void ?{}( Rational(RationalImpl) & r, RationalImpl n );
+	// numerator/denominator getter
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-void ?{}( Rational(RationalImpl) & r, RationalImpl n, RationalImpl d );
+	RationalImpl numerator( Rational(RationalImpl) r );
+	RationalImpl denominator( Rational(RationalImpl) r );
+	[ RationalImpl, RationalImpl ] ?=?( & [ RationalImpl, RationalImpl ] dest, Rational(RationalImpl) src );
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-void ?{}( Rational(RationalImpl) & r, zero_t );
+	// numerator/denominator setter
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-void ?{}( Rational(RationalImpl) & r, one_t );
+	RationalImpl numerator( Rational(RationalImpl) r, RationalImpl n );
+	RationalImpl denominator( Rational(RationalImpl) r, RationalImpl d );
 
-// numerator/denominator getter
+	// comparison
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-RationalImpl numerator( Rational(RationalImpl) r );
+	int ?==?( Rational(RationalImpl) l, Rational(RationalImpl) r );
+	int ?!=?( Rational(RationalImpl) l, Rational(RationalImpl) r );
+	int ?<?( Rational(RationalImpl) l, Rational(RationalImpl) r );
+	int ?<=?( Rational(RationalImpl) l, Rational(RationalImpl) r );
+	int ?>?( Rational(RationalImpl) l, Rational(RationalImpl) r );
+	int ?>=?( Rational(RationalImpl) l, Rational(RationalImpl) r );
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-RationalImpl denominator( Rational(RationalImpl) r );
+	// arithmetic
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-[ RationalImpl, RationalImpl ] ?=?( & [ RationalImpl, RationalImpl ] dest, Rational(RationalImpl) src );
+	Rational(RationalImpl) +?( Rational(RationalImpl) r );
+	Rational(RationalImpl) -?( Rational(RationalImpl) r );
+	Rational(RationalImpl) ?+?( Rational(RationalImpl) l, Rational(RationalImpl) r );
+	Rational(RationalImpl) ?-?( Rational(RationalImpl) l, Rational(RationalImpl) r );
+	Rational(RationalImpl) ?*?( Rational(RationalImpl) l, Rational(RationalImpl) r );
+	Rational(RationalImpl) ?/?( Rational(RationalImpl) l, Rational(RationalImpl) r );
 
-// numerator/denominator setter
+	// I/O
+	forall( dtype istype | istream( istype ) | { istype & ?|?( istype &, RationalImpl & ); } )
+	istype & ?|?( istype &, Rational(RationalImpl) & );
 
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-RationalImpl numerator( Rational(RationalImpl) r, RationalImpl n );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-RationalImpl denominator( Rational(RationalImpl) r, RationalImpl d );
-
-// comparison
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?==?( Rational(RationalImpl) l, Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?!=?( Rational(RationalImpl) l, Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?<?( Rational(RationalImpl) l, Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?<=?( Rational(RationalImpl) l, Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?>?( Rational(RationalImpl) l, Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?>=?( Rational(RationalImpl) l, Rational(RationalImpl) r );
-
-// arithmetic
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) +?( Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) -?( Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) ?+?( Rational(RationalImpl) l, Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) ?-?( Rational(RationalImpl) l, Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) ?*?( Rational(RationalImpl) l, Rational(RationalImpl) r );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) ?/?( Rational(RationalImpl) l, Rational(RationalImpl) r );
+	forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } )
+	ostype & ?|?( ostype &, Rational(RationalImpl ) );
+} // distribution
 
 // conversion
@@ -133,13 +102,4 @@
 Rational(RationalImpl) narrow( double f, RationalImpl md );
 
-// I/O
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-forall( dtype istype | istream( istype ) | { istype & ?|?( istype &, RationalImpl & ); } )
-istype & ?|?( istype &, Rational(RationalImpl) & );
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } )
-ostype & ?|?( ostype &, Rational(RationalImpl ) );
-
 // Local Variables: //
 // mode: c //
Index: src/libcfa/rational.c
===================================================================
--- src/libcfa/rational.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/rational.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Wed Apr  6 17:54:28 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec  6 23:13:58 2017
-// Update Count     : 156
+// Last Modified On : Sat Jun  2 09:24:33 2018
+// Update Count     : 162
 //
 
@@ -18,173 +18,166 @@
 #include "stdlib"
 
-// helper routines
-
-// Calculate greatest common denominator of two numbers, the first of which may be negative. Used to reduce rationals.
-// alternative: https://en.wikipedia.org/wiki/Binary_GCD_algorithm
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-static RationalImpl gcd( RationalImpl a, RationalImpl b ) {
-	for ( ;; ) {										// Euclid's algorithm
-		RationalImpl r = a % b;
-	  if ( r == (RationalImpl){0} ) break;
-		a = b;
-		b = r;
-	} // for
-	return b;
-} // gcd
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-static RationalImpl simplify( RationalImpl & n, RationalImpl & d ) {
-	if ( d == (RationalImpl){0} ) {
-		serr | "Invalid rational number construction: denominator cannot be equal to 0." | endl;
-		exit( EXIT_FAILURE );
-	} // exit
-	if ( d < (RationalImpl){0} ) { d = -d; n = -n; }	// move sign to numerator
-	return gcd( abs( n ), d );							// simplify
-} // Rationalnumber::simplify
-
-
-// constructors
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-void ?{}( Rational(RationalImpl) & r ) {
-	r{ (RationalImpl){0}, (RationalImpl){1} };
-} // rational
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-void ?{}( Rational(RationalImpl) & r, RationalImpl n ) {
-	r{ n, (RationalImpl){1} };
-} // rational
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-void ?{}( Rational(RationalImpl) & r, RationalImpl n, RationalImpl d ) {
-	RationalImpl t = simplify( n, d );					// simplify
-	r.numerator = n / t;
-	r.denominator = d / t;
-} // rational
-
-
-// getter for numerator/denominator
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-RationalImpl numerator( Rational(RationalImpl) r ) {
-	return r.numerator;
-} // numerator
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-RationalImpl denominator( Rational(RationalImpl) r ) {
-	return r.denominator;
-} // denominator
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-[ RationalImpl, RationalImpl ] ?=?( & [ RationalImpl, RationalImpl ] dest, Rational(RationalImpl) src ) {
-	return dest = src.[ numerator, denominator ];
-}
-
-// setter for numerator/denominator
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-RationalImpl numerator( Rational(RationalImpl) r, RationalImpl n ) {
-	RationalImpl prev = r.numerator;
-	RationalImpl t = gcd( abs( n ), r.denominator );		// simplify
-	r.numerator = n / t;
-	r.denominator = r.denominator / t;
-	return prev;
-} // numerator
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-RationalImpl denominator( Rational(RationalImpl) r, RationalImpl d ) {
-	RationalImpl prev = r.denominator;
-	RationalImpl t = simplify( r.numerator, d );			// simplify
-	r.numerator = r.numerator / t;
-	r.denominator = d / t;
-	return prev;
-} // denominator
-
-
-// comparison
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?==?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	return l.numerator * r.denominator == l.denominator * r.numerator;
-} // ?==?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?!=?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	return ! ( l == r );
-} // ?!=?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?<?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	return l.numerator * r.denominator < l.denominator * r.numerator;
-} // ?<?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?<=?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	return l.numerator * r.denominator <= l.denominator * r.numerator;
-} // ?<=?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?>?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	return ! ( l <= r );
-} // ?>?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-int ?>=?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	return ! ( l < r );
-} // ?>=?
-
-
-// arithmetic
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) +?( Rational(RationalImpl) r ) {
-	Rational(RationalImpl) t = { r.numerator, r.denominator };
-	return t;
-} // +?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) -?( Rational(RationalImpl) r ) {
-	Rational(RationalImpl) t = { -r.numerator, r.denominator };
-	return t;
-} // -?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) ?+?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	if ( l.denominator == r.denominator ) {				// special case
-		Rational(RationalImpl) t = { l.numerator + r.numerator, l.denominator };
-		return t;
-	} else {
-		Rational(RationalImpl) t = { l.numerator * r.denominator + l.denominator * r.numerator, l.denominator * r.denominator };
-		return t;
-	} // if
-} // ?+?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) ?-?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	if ( l.denominator == r.denominator ) {				// special case
-		Rational(RationalImpl) t = { l.numerator - r.numerator, l.denominator };
-		return t;
-	} else {
-		Rational(RationalImpl) t = { l.numerator * r.denominator - l.denominator * r.numerator, l.denominator * r.denominator };
-		return t;
-	} // if
-} // ?-?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) ?*?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	Rational(RationalImpl) t = { l.numerator * r.numerator, l.denominator * r.denominator };
-	return t;
-} // ?*?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-Rational(RationalImpl) ?/?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
-	if ( r.numerator < (RationalImpl){0} ) {
-		r.numerator = -r.numerator;
-		r.denominator = -r.denominator;
-	} // if
-	Rational(RationalImpl) t = { l.numerator * r.denominator, l.denominator * r.numerator };
-	return t;
-} // ?/?
-
+forall( otype RationalImpl | arithmetic( RationalImpl ) ) {
+	// helper routines
+
+	// Calculate greatest common denominator of two numbers, the first of which may be negative. Used to reduce
+	// rationals.  alternative: https://en.wikipedia.org/wiki/Binary_GCD_algorithm
+	static RationalImpl gcd( RationalImpl a, RationalImpl b ) {
+		for ( ;; ) {									// Euclid's algorithm
+			RationalImpl r = a % b;
+		  if ( r == (RationalImpl){0} ) break;
+			a = b;
+			b = r;
+		} // for
+		return b;
+	} // gcd
+
+	static RationalImpl simplify( RationalImpl & n, RationalImpl & d ) {
+		if ( d == (RationalImpl){0} ) {
+			serr | "Invalid rational number construction: denominator cannot be equal to 0." | endl;
+			exit( EXIT_FAILURE );
+		} // exit
+		if ( d < (RationalImpl){0} ) { d = -d; n = -n; } // move sign to numerator
+		return gcd( abs( n ), d );						// simplify
+	} // Rationalnumber::simplify
+
+	// constructors
+
+	void ?{}( Rational(RationalImpl) & r ) {
+		r{ (RationalImpl){0}, (RationalImpl){1} };
+	} // rational
+
+	void ?{}( Rational(RationalImpl) & r, RationalImpl n ) {
+		r{ n, (RationalImpl){1} };
+	} // rational
+
+	void ?{}( Rational(RationalImpl) & r, RationalImpl n, RationalImpl d ) {
+		RationalImpl t = simplify( n, d );				// simplify
+		r.numerator = n / t;
+		r.denominator = d / t;
+	} // rational
+
+
+	// getter for numerator/denominator
+
+	RationalImpl numerator( Rational(RationalImpl) r ) {
+		return r.numerator;
+	} // numerator
+
+	RationalImpl denominator( Rational(RationalImpl) r ) {
+		return r.denominator;
+	} // denominator
+
+	[ RationalImpl, RationalImpl ] ?=?( & [ RationalImpl, RationalImpl ] dest, Rational(RationalImpl) src ) {
+		return dest = src.[ numerator, denominator ];
+	} // ?=?
+
+	// setter for numerator/denominator
+
+	RationalImpl numerator( Rational(RationalImpl) r, RationalImpl n ) {
+		RationalImpl prev = r.numerator;
+		RationalImpl t = gcd( abs( n ), r.denominator ); // simplify
+		r.numerator = n / t;
+		r.denominator = r.denominator / t;
+		return prev;
+	} // numerator
+
+	RationalImpl denominator( Rational(RationalImpl) r, RationalImpl d ) {
+		RationalImpl prev = r.denominator;
+		RationalImpl t = simplify( r.numerator, d );	// simplify
+		r.numerator = r.numerator / t;
+		r.denominator = d / t;
+		return prev;
+	} // denominator
+
+	// comparison
+
+	int ?==?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		return l.numerator * r.denominator == l.denominator * r.numerator;
+	} // ?==?
+
+	int ?!=?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		return ! ( l == r );
+	} // ?!=?
+
+	int ?<?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		return l.numerator * r.denominator < l.denominator * r.numerator;
+	} // ?<?
+
+	int ?<=?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		return l.numerator * r.denominator <= l.denominator * r.numerator;
+	} // ?<=?
+
+	int ?>?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		return ! ( l <= r );
+	} // ?>?
+
+	int ?>=?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		return ! ( l < r );
+	} // ?>=?
+
+	// arithmetic
+
+	Rational(RationalImpl) +?( Rational(RationalImpl) r ) {
+		Rational(RationalImpl) t = { r.numerator, r.denominator };
+		return t;
+	} // +?
+
+	Rational(RationalImpl) -?( Rational(RationalImpl) r ) {
+		Rational(RationalImpl) t = { -r.numerator, r.denominator };
+		return t;
+	} // -?
+
+	Rational(RationalImpl) ?+?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		if ( l.denominator == r.denominator ) {			// special case
+			Rational(RationalImpl) t = { l.numerator + r.numerator, l.denominator };
+			return t;
+		} else {
+			Rational(RationalImpl) t = { l.numerator * r.denominator + l.denominator * r.numerator, l.denominator * r.denominator };
+			return t;
+		} // if
+	} // ?+?
+
+	Rational(RationalImpl) ?-?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		if ( l.denominator == r.denominator ) {			// special case
+			Rational(RationalImpl) t = { l.numerator - r.numerator, l.denominator };
+			return t;
+		} else {
+			Rational(RationalImpl) t = { l.numerator * r.denominator - l.denominator * r.numerator, l.denominator * r.denominator };
+			return t;
+		} // if
+	} // ?-?
+
+	Rational(RationalImpl) ?*?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		Rational(RationalImpl) t = { l.numerator * r.numerator, l.denominator * r.denominator };
+		return t;
+	} // ?*?
+
+	Rational(RationalImpl) ?/?( Rational(RationalImpl) l, Rational(RationalImpl) r ) {
+		if ( r.numerator < (RationalImpl){0} ) {
+			r.numerator = -r.numerator;
+			r.denominator = -r.denominator;
+		} // if
+		Rational(RationalImpl) t = { l.numerator * r.denominator, l.denominator * r.numerator };
+		return t;
+	} // ?/?
+
+	// I/O
+
+	forall( dtype istype | istream( istype ) | { istype & ?|?( istype &, RationalImpl & ); } )
+	istype & ?|?( istype & is, Rational(RationalImpl) & r ) {
+		RationalImpl t;
+		is | r.numerator | r.denominator;
+		t = simplify( r.numerator, r.denominator );
+		r.numerator /= t;
+		r.denominator /= t;
+		return is;
+	} // ?|?
+
+	forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } )
+	ostype & ?|?( ostype & os, Rational(RationalImpl ) r ) {
+		return os | r.numerator | '/' | r.denominator;
+	} // ?|?
+} // distribution
 
 // conversion
@@ -195,7 +188,7 @@
 } // widen
 
-// http://www.ics.uci.edu/~eppstein/numth/frap.c
 forall( otype RationalImpl | arithmetic( RationalImpl ) | { double convert( RationalImpl ); RationalImpl convert( double ); } )
 Rational(RationalImpl) narrow( double f, RationalImpl md ) {
+	// http://www.ics.uci.edu/~eppstein/numth/frap.c
 	if ( md <= (RationalImpl){1} ) {					// maximum fractional digits too small?
 		return (Rational(RationalImpl)){ convert( f ), (RationalImpl){1}}; // truncate fraction
@@ -224,24 +217,4 @@
 } // narrow
 
-
-// I/O
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-forall( dtype istype | istream( istype ) | { istype & ?|?( istype &, RationalImpl & ); } )
-istype & ?|?( istype & is, Rational(RationalImpl) & r ) {
-	RationalImpl t;
-	is | r.numerator | r.denominator;
-	t = simplify( r.numerator, r.denominator );
-	r.numerator /= t;
-	r.denominator /= t;
-	return is;
-} // ?|?
-
-forall( otype RationalImpl | arithmetic( RationalImpl ) )
-forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } )
-ostype & ?|?( ostype & os, Rational(RationalImpl ) r ) {
-	return os | r.numerator | '/' | r.denominator;
-} // ?|?
-
 // Local Variables: //
 // tab-width: 4 //
Index: src/libcfa/stdhdr/assert.h
===================================================================
--- src/libcfa/stdhdr/assert.h	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/stdhdr/assert.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -33,4 +33,5 @@
 	#define verify(x) assert(x)
 	#define verifyf(x, ...) assertf(x, __VA_ARGS__)
+	#define __CFA_WITH_VERIFY__
 #else
 	#define verify(x)
Index: src/libcfa/stdlib
===================================================================
--- src/libcfa/stdlib	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/stdlib	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,11 +10,16 @@
 // Created On       : Thu Jan 28 17:12:35 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 16 07:53:10 2018
-// Update Count     : 300
+// Last Modified On : Sat Jun  2 08:46:35 2018
+// Update Count     : 306
 //
 
 #pragma once
 
-#include <stdlib.h>										// strto*, *abs
+#include <stdlib.h>										// allocation, strto*, *abs
+extern "C" {
+	void * memalign( size_t align, size_t size );
+	void * aligned_alloc( size_t align, size_t size );
+	void * memset( void * dest, int c, size_t size );
+} // extern "C"
 
 //---------------------------------------
@@ -27,6 +32,7 @@
 //---------------------------------------
 
-// C dynamic allocation
 static inline forall( dtype T | sized(T) ) {
+	// C dynamic allocation
+
 	T * malloc( void ) {
 		// printf( "* malloc\n" );
@@ -51,5 +57,4 @@
 	} // realloc
 
-	extern "C" { void * memalign( size_t align, size_t size ); } // use default C routine for void *
 	T * memalign( size_t align ) {
 		//printf( "X4\n" );
@@ -57,5 +62,4 @@
 	} // memalign
 
-	extern "C" { void * aligned_alloc( size_t align, size_t size ); } // use default C routine for void *
 	T * aligned_alloc( size_t align ) {
 		//printf( "X5\n" );
@@ -70,5 +74,4 @@
 
 	// Cforall dynamic allocation
-	extern "C" { void * memset( void * dest, int c, size_t size ); } // use default C routine for void *
 
 	T * alloc( void ) {
@@ -103,45 +106,59 @@
 forall( dtype T | sized(T) ) T * alloc( T ptr[], size_t dim, char fill );
 
-static inline forall( dtype T | sized(T) ) T * align_alloc( size_t align ) {
-	//printf( "X13\n" );
-	return (T *)memalign( align, sizeof(T) );
-} // align_alloc
-static inline forall( dtype T | sized(T) ) T * align_alloc( size_t align, char fill ) {
-	//printf( "X14\n" );
-    T * ptr = (T *)memalign( align, sizeof(T) );
-    return (T *)memset( ptr, (int)fill, sizeof(T) );
-} // align_alloc
-
-static inline forall( dtype T | sized(T) ) T * align_alloc( size_t align, size_t dim ) {
-	//printf( "X15\n" );
-	return (T *)memalign( align, dim * sizeof(T) );
-} // align_alloc
-static inline forall( dtype T | sized(T) ) T * align_alloc( size_t align, size_t dim, char fill ) {
-	//printf( "X16\n" );
-    T * ptr = (T *)memalign( align, dim * sizeof(T) );
-    return (T *)memset( ptr, (int)fill, dim * sizeof(T) );
-} // align_alloc
-
-
-// data, non-array types
-static inline forall( dtype T | sized(T) ) T * memset( T * dest, char c ) {
-	//printf( "X17\n" );
-	return (T *)memset( dest, c, sizeof(T) );
-} // memset
-extern "C" { void * memcpy( void * dest, const void * src, size_t size ); } // use default C routine for void *
-static inline forall( dtype T | sized(T) ) T * memcpy( T * dest, const T * src ) {
-	//printf( "X18\n" );
-	return (T *)memcpy( dest, src, sizeof(T) );
-} // memcpy
-
-// data, array types
-static inline forall( dtype T | sized(T) ) T * memset( T dest[], size_t dim, char c ) {
-	//printf( "X19\n" );
-	return (T *)(void *)memset( dest, c, dim * sizeof(T) );	// C memset
-} // memset
-static inline forall( dtype T | sized(T) ) T * memcpy( T dest[], const T src[], size_t dim ) {
-	//printf( "X20\n" );
-	return (T *)(void *)memcpy( dest, src, dim * sizeof(T) ); // C memcpy
-} // memcpy
+
+static inline forall( dtype T | sized(T) ) {
+	T * align_alloc( size_t align ) {
+		//printf( "X13\n" );
+		return (T *)memalign( align, sizeof(T) );
+	} // align_alloc
+
+	T * align_alloc( size_t align, char fill ) {
+		//printf( "X14\n" );
+		T * ptr = (T *)memalign( align, sizeof(T) );
+		return (T *)memset( ptr, (int)fill, sizeof(T) );
+	} // align_alloc
+
+	T * align_alloc( size_t align, size_t dim ) {
+		//printf( "X15\n" );
+		return (T *)memalign( align, dim * sizeof(T) );
+	} // align_alloc
+
+	T * align_alloc( size_t align, size_t dim, char fill ) {
+		//printf( "X16\n" );
+		T * ptr = (T *)memalign( align, dim * sizeof(T) );
+		return (T *)memset( ptr, (int)fill, dim * sizeof(T) );
+	} // align_alloc
+} // distribution
+
+
+static inline forall( dtype T | sized(T) ) {
+	// data, non-array types
+
+	T * memset( T * dest, char c ) {
+		//printf( "X17\n" );
+		return (T *)memset( dest, c, sizeof(T) );
+	} // memset
+
+	extern "C" { void * memcpy( void * dest, const void * src, size_t size ); } // use default C routine for void *
+
+	T * memcpy( T * dest, const T * src ) {
+		//printf( "X18\n" );
+		return (T *)memcpy( dest, src, sizeof(T) );
+	} // memcpy
+} // distribution
+
+static inline forall( dtype T | sized(T) ) {
+	// data, array types
+
+	T * memset( T dest[], size_t dim, char c ) {
+		//printf( "X19\n" );
+		return (T *)(void *)memset( dest, c, dim * sizeof(T) );	// C memset
+	} // memset
+
+	T * memcpy( T dest[], const T src[], size_t dim ) {
+		//printf( "X20\n" );
+		return (T *)(void *)memcpy( dest, src, dim * sizeof(T) ); // C memcpy
+	} // memcpy
+} // distribution
 
 // allocation/deallocation and constructor/destructor, non-array types
@@ -189,45 +206,23 @@
 //---------------------------------------
 
-forall( otype E | { int ?<?( E, E ); } )
-E * bsearch( E key, const E * vals, size_t dim );
-
-forall( otype E | { int ?<?( E, E ); } )
-size_t bsearch( E key, const E * vals, size_t dim );
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-E * bsearch( K key, const E * vals, size_t dim );
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-size_t bsearch( K key, const E * vals, size_t dim );
-
-
-forall( otype E | { int ?<?( E, E ); } )
-E * bsearchl( E key, const E * vals, size_t dim );
-
-forall( otype E | { int ?<?( E, E ); } )
-size_t bsearchl( E key, const E * vals, size_t dim );
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-E * bsearchl( K key, const E * vals, size_t dim );
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-size_t bsearchl( K key, const E * vals, size_t dim );
-
-
-forall( otype E | { int ?<?( E, E ); } )
-E * bsearchu( E key, const E * vals, size_t dim );
-
-forall( otype E | { int ?<?( E, E ); } )
-size_t bsearchu( E key, const E * vals, size_t dim );
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-E * bsearchu( K key, const E * vals, size_t dim );
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-size_t bsearchu( K key, const E * vals, size_t dim );
-
-
-forall( otype E | { int ?<?( E, E ); } )
-void qsort( E * vals, size_t dim );
+forall( otype E | { int ?<?( E, E ); } ) {
+	E * bsearch( E key, const E * vals, size_t dim );
+	size_t bsearch( E key, const E * vals, size_t dim );
+	E * bsearchl( E key, const E * vals, size_t dim );
+	size_t bsearchl( E key, const E * vals, size_t dim );
+	E * bsearchu( E key, const E * vals, size_t dim );
+	size_t bsearchu( E key, const E * vals, size_t dim );
+
+	void qsort( E * vals, size_t dim );
+} // distribution
+
+forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } ) {
+	E * bsearch( K key, const E * vals, size_t dim );
+	size_t bsearch( K key, const E * vals, size_t dim );
+	E * bsearchl( K key, const E * vals, size_t dim );
+	size_t bsearchl( K key, const E * vals, size_t dim );
+	E * bsearchu( K key, const E * vals, size_t dim );
+	size_t bsearchu( K key, const E * vals, size_t dim );
+} // distribution
 
 //---------------------------------------
Index: src/libcfa/stdlib.c
===================================================================
--- src/libcfa/stdlib.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/libcfa/stdlib.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:10:29 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Jan  3 08:29:29 2018
-// Update Count     : 444
+// Last Modified On : Sat Jun  2 06:15:05 2018
+// Update Count     : 448
 //
 
@@ -130,122 +130,112 @@
 //---------------------------------------
 
-forall( otype E | { int ?<?( E, E ); } )
-E * bsearch( E key, const E * vals, size_t dim ) {
-	int cmp( const void * t1, const void * t2 ) {
-		return *(E *)t1 < *(E *)t2 ? -1 : *(E *)t2 < *(E *)t1 ? 1 : 0;
-	} // cmp
-	return (E *)bsearch( &key, vals, dim, sizeof(E), cmp );
-} // bsearch
-
-forall( otype E | { int ?<?( E, E ); } )
-size_t bsearch( E key, const E * vals, size_t dim ) {
-	E * result = bsearch( key, vals, dim );
-	return result ? result - vals : dim;				// pointer subtraction includes sizeof(E)
-} // bsearch
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-E * bsearch( K key, const E * vals, size_t dim ) {
-	int cmp( const void * t1, const void * t2 ) {
-		return *(K *)t1 < getKey( *(E *)t2 ) ? -1 : getKey( *(E *)t2 ) < *(K *)t1 ? 1 : 0;
-	} // cmp
-	return (E *)bsearch( &key, vals, dim, sizeof(E), cmp );
-} // bsearch
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-size_t bsearch( K key, const E * vals, size_t dim ) {
-	E * result = bsearch( key, vals, dim );
-	return result ? result - vals : dim;				// pointer subtraction includes sizeof(E)
-} // bsearch
-
-
-forall( otype E | { int ?<?( E, E ); } )
-size_t bsearchl( E key, const E * vals, size_t dim ) {
-	size_t l = 0, m, h = dim;
-	while ( l < h ) {
-		m = (l + h) / 2;
-		if ( (E &)(vals[m]) < key ) {					// cast away const
-			l = m + 1;
-		} else {
-			h = m;
-		} // if
-	} // while
-	return l;
-} // bsearchl
-
-forall( otype E | { int ?<?( E, E ); } )
-E * bsearchl( E key, const E * vals, size_t dim ) {
-	size_t posn = bsearchl( key, vals, dim );
-	return (E *)(&vals[posn]);							// cast away const
-} // bsearchl
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-size_t bsearchl( K key, const E * vals, size_t dim ) {
-	size_t l = 0, m, h = dim;
-	while ( l < h ) {
-		m = (l + h) / 2;
-		if ( getKey( vals[m] ) < key ) {
-			l = m + 1;
-		} else {
-			h = m;
-		} // if
-	} // while
-	return l;
-} // bsearchl
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-E * bsearchl( K key, const E * vals, size_t dim ) {
-	size_t posn = bsearchl( key, vals, dim );
-	return (E *)(&vals[posn]);							// cast away const
-} // bsearchl
-
-
-forall( otype E | { int ?<?( E, E ); } )
-size_t bsearchu( E key, const E * vals, size_t dim ) {
-	size_t l = 0, m, h = dim;
-	while ( l < h ) {
-		m = (l + h) / 2;
-		if ( ! ( key < (E &)(vals[m]) ) ) {				// cast away const
-			l = m + 1;
-		} else {
-			h = m;
-		} // if
-	} // while
-	return l;
-} // bsearchu
-
-forall( otype E | { int ?<?( E, E ); } )
-E * bsearchu( E key, const E * vals, size_t dim ) {
-	size_t posn = bsearchu( key, vals, dim );
-	return (E *)(&vals[posn]);
-} // bsearchu
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-size_t bsearchu( K key, const E * vals, size_t dim ) {
-	size_t l = 0, m, h = dim;
-	while ( l < h ) {
-		m = (l + h) / 2;
-		if ( ! ( key < getKey( vals[m] ) ) ) {
-			l = m + 1;
-		} else {
-			h = m;
-		} // if
-	} // while
-	return l;
-} // bsearchu
-
-forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } )
-E * bsearchu( K key, const E * vals, size_t dim ) {
-	size_t posn = bsearchu( key, vals, dim );
-	return (E *)(&vals[posn]);
-} // bsearchu
-
-
-forall( otype E | { int ?<?( E, E ); } )
-void qsort( E * vals, size_t dim ) {
-	int cmp( const void * t1, const void * t2 ) {
-		return *(E *)t1 < *(E *)t2 ? -1 : *(E *)t2 < *(E *)t1 ? 1 : 0;
-	} // cmp
-	qsort( vals, dim, sizeof(E), cmp );
-} // qsort
+forall( otype E | { int ?<?( E, E ); } ) {
+	E * bsearch( E key, const E * vals, size_t dim ) {
+		int cmp( const void * t1, const void * t2 ) {
+			return *(E *)t1 < *(E *)t2 ? -1 : *(E *)t2 < *(E *)t1 ? 1 : 0;
+		} // cmp
+		return (E *)bsearch( &key, vals, dim, sizeof(E), cmp );
+	} // bsearch
+
+	size_t bsearch( E key, const E * vals, size_t dim ) {
+		E * result = bsearch( key, vals, dim );
+		return result ? result - vals : dim;			// pointer subtraction includes sizeof(E)
+	} // bsearch
+
+	size_t bsearchl( E key, const E * vals, size_t dim ) {
+		size_t l = 0, m, h = dim;
+		while ( l < h ) {
+			m = (l + h) / 2;
+			if ( (E &)(vals[m]) < key ) {				// cast away const
+				l = m + 1;
+			} else {
+				h = m;
+			} // if
+		} // while
+		return l;
+	} // bsearchl
+
+	E * bsearchl( E key, const E * vals, size_t dim ) {
+		size_t posn = bsearchl( key, vals, dim );
+		return (E *)(&vals[posn]);						// cast away const
+	} // bsearchl
+
+	size_t bsearchu( E key, const E * vals, size_t dim ) {
+		size_t l = 0, m, h = dim;
+		while ( l < h ) {
+			m = (l + h) / 2;
+			if ( ! ( key < (E &)(vals[m]) ) ) {			// cast away const
+				l = m + 1;
+			} else {
+				h = m;
+			} // if
+		} // while
+		return l;
+	} // bsearchu
+
+	E * bsearchu( E key, const E * vals, size_t dim ) {
+		size_t posn = bsearchu( key, vals, dim );
+		return (E *)(&vals[posn]);
+	} // bsearchu
+
+
+	void qsort( E * vals, size_t dim ) {
+		int cmp( const void * t1, const void * t2 ) {
+			return *(E *)t1 < *(E *)t2 ? -1 : *(E *)t2 < *(E *)t1 ? 1 : 0;
+		} // cmp
+		qsort( vals, dim, sizeof(E), cmp );
+	} // qsort
+} // distribution
+
+
+forall( otype K, otype E | { int ?<?( K, K ); K getKey( const E & ); } ) {
+	E * bsearch( K key, const E * vals, size_t dim ) {
+		int cmp( const void * t1, const void * t2 ) {
+			return *(K *)t1 < getKey( *(E *)t2 ) ? -1 : getKey( *(E *)t2 ) < *(K *)t1 ? 1 : 0;
+		} // cmp
+		return (E *)bsearch( &key, vals, dim, sizeof(E), cmp );
+	} // bsearch
+
+	size_t bsearch( K key, const E * vals, size_t dim ) {
+		E * result = bsearch( key, vals, dim );
+		return result ? result - vals : dim;			// pointer subtraction includes sizeof(E)
+	} // bsearch
+
+	size_t bsearchl( K key, const E * vals, size_t dim ) {
+		size_t l = 0, m, h = dim;
+		while ( l < h ) {
+			m = (l + h) / 2;
+			if ( getKey( vals[m] ) < key ) {
+				l = m + 1;
+			} else {
+				h = m;
+			} // if
+		} // while
+		return l;
+	} // bsearchl
+
+	E * bsearchl( K key, const E * vals, size_t dim ) {
+		size_t posn = bsearchl( key, vals, dim );
+		return (E *)(&vals[posn]);						// cast away const
+	} // bsearchl
+
+	size_t bsearchu( K key, const E * vals, size_t dim ) {
+		size_t l = 0, m, h = dim;
+		while ( l < h ) {
+			m = (l + h) / 2;
+			if ( ! ( key < getKey( vals[m] ) ) ) {
+				l = m + 1;
+			} else {
+				h = m;
+			} // if
+		} // while
+		return l;
+	} // bsearchu
+
+	E * bsearchu( K key, const E * vals, size_t dim ) {
+		size_t posn = bsearchu( key, vals, dim );
+		return (E *)(&vals[posn]);
+	} // bsearchu
+} // distribution
 
 //---------------------------------------
Index: src/main.cc
===================================================================
--- src/main.cc	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/main.cc	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -11,6 +11,6 @@
 // Created On       : Fri May 15 23:12:02 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon May  7 14:35:57 2018
-// Update Count     : 492
+// Last Modified On : Wed Jun  6 15:51:47 2018
+// Update Count     : 498
 //
 
@@ -160,5 +160,6 @@
 		 << "." << endl;
 	backtrace( 2 );										// skip first 2 stack frames
-	exit( EXIT_FAILURE );
+	//_exit( EXIT_FAILURE );
+	abort();
 } // sigSegvBusHandler
 
@@ -261,5 +262,5 @@
 		} // if
 
-		PASS( "mutate", ControlStruct::mutate( translationUnit ) );
+		PASS( "fixLabels", ControlStruct::fixLabels( translationUnit ) );
 		PASS( "fixNames", CodeGen::fixNames( translationUnit ) );
 		PASS( "genInit", InitTweak::genInit( translationUnit ) );
@@ -571,5 +572,4 @@
 	yyin = input;
 	yylineno = 1;
-	typedefTable.enterScope();
 	int parseStatus = yyparse();
 
Index: src/prelude/Makefile.am
===================================================================
--- src/prelude/Makefile.am	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/prelude/Makefile.am	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -37,8 +37,8 @@
 # create forward declarations for gcc builtins
 gcc-builtins.cf : gcc-builtins.c prototypes.sed
-	${AM_V_GEN}@BACKEND_CC@ -E -P $< | sed -r -f prototypes.sed > $@
+	${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E -P $< | sed -r -f prototypes.sed > $@
 
 gcc-builtins.c : builtins.def prototypes.awk sync-builtins.cf
-	${AM_V_GEN}@BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@
+	${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E prototypes.c | awk -f prototypes.awk > $@
 
 builtins.def :
Index: src/prelude/Makefile.in
===================================================================
--- src/prelude/Makefile.in	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/prelude/Makefile.in	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -506,8 +506,8 @@
 # create forward declarations for gcc builtins
 gcc-builtins.cf : gcc-builtins.c prototypes.sed
-	${AM_V_GEN}@BACKEND_CC@ -E -P $< | sed -r -f prototypes.sed > $@
+	${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E -P $< | sed -r -f prototypes.sed > $@
 
 gcc-builtins.c : builtins.def prototypes.awk sync-builtins.cf
-	${AM_V_GEN}@BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@
+	${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E prototypes.c | awk -f prototypes.awk > $@
 
 builtins.def :
Index: src/prelude/extras.regx
===================================================================
--- src/prelude/extras.regx	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/prelude/extras.regx	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -1,4 +1,12 @@
 typedef.* size_t;
 typedef.* ptrdiff_t;
+typedef.* __int8_t;
+typedef.* __int16_t;
+typedef.* __int32_t;
+typedef.* __int64_t;
+typedef.* __uint8_t;
+typedef.* __uint16_t;
+typedef.* __uint32_t;
+typedef.* __uint64_t;
 typedef.* int8_t;
 typedef.* int16_t;
Index: src/prelude/prelude.cf
===================================================================
--- src/prelude/prelude.cf	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/prelude/prelude.cf	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -458,5 +458,4 @@
 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 );
-__int128	?=?( __int128 &, __int128 ),	?=?( volatile __int128 &, __int128 );
 zero_t			?=?( zero_t &, zero_t );
 one_t			?=?( one_t &, one_t );
Index: src/prelude/sync-builtins.cf
===================================================================
--- src/prelude/sync-builtins.cf	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/prelude/sync-builtins.cf	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -7,6 +7,8 @@
 long long int __sync_fetch_and_add(volatile long long int *, long long int,...);
 long long int __sync_fetch_and_add_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_fetch_and_add(volatile __int128 *, __int128,...);
 __int128 __sync_fetch_and_add_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_fetch_and_sub(volatile char *, char,...);
@@ -18,6 +20,8 @@
 long long int __sync_fetch_and_sub(volatile long long int *, long long int,...);
 long long int __sync_fetch_and_sub_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_fetch_and_sub(volatile __int128 *, __int128,...);
 __int128 __sync_fetch_and_sub_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_fetch_and_or(volatile char *, char,...);
@@ -29,6 +33,8 @@
 long long int __sync_fetch_and_or(volatile long long int *, long long int,...);
 long long int __sync_fetch_and_or_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_fetch_and_or(volatile __int128 *, __int128,...);
 __int128 __sync_fetch_and_or_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_fetch_and_and(volatile char *, char,...);
@@ -40,6 +46,8 @@
 long long int __sync_fetch_and_and(volatile long long int *, long long int,...);
 long long int __sync_fetch_and_and_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_fetch_and_and(volatile __int128 *, __int128,...);
 __int128 __sync_fetch_and_and_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_fetch_and_xor(volatile char *, char,...);
@@ -51,6 +59,8 @@
 long long int __sync_fetch_and_xor(volatile long long int *, long long int,...);
 long long int __sync_fetch_and_xor_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_fetch_and_xor(volatile __int128 *, __int128,...);
 __int128 __sync_fetch_and_xor_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_fetch_and_nand(volatile char *, char,...);
@@ -62,6 +72,8 @@
 long long int __sync_fetch_and_nand(volatile long long int *, long long int,...);
 long long int __sync_fetch_and_nand_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_fetch_and_nand(volatile __int128 *, __int128,...);
 __int128 __sync_fetch_and_nand_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_add_and_fetch(volatile char *, char,...);
@@ -73,6 +85,8 @@
 long long int __sync_add_and_fetch(volatile long long int *, long long int,...);
 long long int __sync_add_and_fetch_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_add_and_fetch(volatile __int128 *, __int128,...);
 __int128 __sync_add_and_fetch_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_sub_and_fetch(volatile char *, char,...);
@@ -84,6 +98,8 @@
 long long int __sync_sub_and_fetch(volatile long long int *, long long int,...);
 long long int __sync_sub_and_fetch_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_sub_and_fetch(volatile __int128 *, __int128,...);
 __int128 __sync_sub_and_fetch_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_or_and_fetch(volatile char *, char,...);
@@ -95,6 +111,8 @@
 long long int __sync_or_and_fetch(volatile long long int *, long long int,...);
 long long int __sync_or_and_fetch_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_or_and_fetch(volatile __int128 *, __int128,...);
 __int128 __sync_or_and_fetch_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_and_and_fetch(volatile char *, char,...);
@@ -106,6 +124,8 @@
 long long int __sync_and_and_fetch(volatile long long int *, long long int,...);
 long long int __sync_and_and_fetch_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_and_and_fetch(volatile __int128 *, __int128,...);
 __int128 __sync_and_and_fetch_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_xor_and_fetch(volatile char *, char,...);
@@ -117,6 +137,8 @@
 long long int __sync_xor_and_fetch(volatile long long int *, long long int,...);
 long long int __sync_xor_and_fetch_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_xor_and_fetch(volatile __int128 *, __int128,...);
 __int128 __sync_xor_and_fetch_16(volatile __int128 *, __int128,...);
+#endif
 
 char __sync_nand_and_fetch(volatile char *, char,...);
@@ -128,6 +150,8 @@
 long long int __sync_nand_and_fetch(volatile long long int *, long long int,...);
 long long int __sync_nand_and_fetch_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_nand_and_fetch(volatile __int128 *, __int128,...);
 __int128 __sync_nand_and_fetch_16(volatile __int128 *, __int128,...);
+#endif
 
 _Bool __sync_bool_compare_and_swap(volatile char *, char, char,...);
@@ -139,6 +163,8 @@
 _Bool __sync_bool_compare_and_swap(volatile long long int *, long long int, long long int,...);
 _Bool __sync_bool_compare_and_swap_8(volatile long long int *, long long int, long long int,...);
+#if defined(__SIZEOF_INT128__)
 _Bool __sync_bool_compare_and_swap(volatile __int128 *, __int128, __int128,...);
 _Bool __sync_bool_compare_and_swap_16(volatile __int128 *, __int128, __int128,...);
+#endif
 
 char __sync_val_compare_and_swap(volatile char *, char, char,...);
@@ -150,6 +176,8 @@
 long long int __sync_val_compare_and_swap(volatile long long int *, long long int, long long int,...);
 long long int __sync_val_compare_and_swap_8(volatile long long int *, long long int, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_val_compare_and_swap(volatile __int128 *, __int128, __int128,...);
 __int128 __sync_val_compare_and_swap_16(volatile __int128 *, __int128, __int128,...);
+#endif
 
 char __sync_lock_test_and_set(volatile char *, char,...);
@@ -161,6 +189,8 @@
 long long int __sync_lock_test_and_set(volatile long long int *, long long int,...);
 long long int __sync_lock_test_and_set_8(volatile long long int *, long long int,...);
+#if defined(__SIZEOF_INT128__)
 __int128 __sync_lock_test_and_set(volatile __int128 *, __int128,...);
 __int128 __sync_lock_test_and_set_16(volatile __int128 *, __int128,...);
+#endif
 
 void __sync_lock_release(volatile char *,...);
@@ -172,6 +202,8 @@
 void __sync_lock_release(volatile long long int *,...);
 void __sync_lock_release_8(volatile long long int *,...);
+#if defined(__SIZEOF_INT128__)
 void __sync_lock_release(volatile __int128 *,...);
 void __sync_lock_release_16(volatile __int128 *,...);
+#endif
 
 void __sync_synchronize();
@@ -185,5 +217,8 @@
 _Bool __atomic_test_and_set(volatile int *, int);
 _Bool __atomic_test_and_set(volatile long long int *, int);
+#if defined(__SIZEOF_INT128__)
 _Bool __atomic_test_and_set(volatile __int128 *, int);
+#endif
+
 void __atomic_clear(volatile _Bool *, int);
 void __atomic_clear(volatile char *, int);
@@ -191,5 +226,7 @@
 void __atomic_clear(volatile int *, int);
 void __atomic_clear(volatile long long int *, int);
+#if defined(__SIZEOF_INT128__)
 void __atomic_clear(volatile __int128 *, int);
+#endif
 
 char __atomic_exchange_n(volatile char *, volatile char *, int);
@@ -205,8 +242,12 @@
 long long int __atomic_exchange_8(volatile long long int *, long long int, int);
 void __atomic_exchange(volatile long long int *, volatile long long int *, volatile long long int *, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_exchange_n(volatile __int128 *, volatile __int128 *, int);
 __int128 __atomic_exchange_16(volatile __int128 *, __int128, int);
 void __atomic_exchange(volatile __int128 *, volatile __int128 *, volatile __int128 *, int);
-
+#endif
+
+_Bool __atomic_load_n(const volatile _Bool *, int);
+void __atomic_load(const volatile _Bool *, volatile _Bool *, int);
 char __atomic_load_n(const volatile char *, int);
 char __atomic_load_1(const volatile char *, int);
@@ -221,7 +262,9 @@
 long long int __atomic_load_8(const volatile long long int *, int);
 void __atomic_load(const volatile long long int *, volatile long long int *, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_load_n(const volatile __int128 *, int);
 __int128 __atomic_load_16(const volatile __int128 *, int);
 void __atomic_load(const volatile __int128 *, volatile __int128 *, int);
+#endif
 
 _Bool __atomic_compare_exchange_n(volatile char *, char *, char, _Bool, int, int);
@@ -237,10 +280,11 @@
 _Bool __atomic_compare_exchange_8(volatile long long int *, long long int *, long long int, _Bool, int, int);
 _Bool __atomic_compare_exchange  (volatile long long int *, long long int *, long long int *, _Bool, int, int);
+#if defined(__SIZEOF_INT128__)
 _Bool __atomic_compare_exchange_n (volatile __int128 *, __int128 *, __int128, _Bool, int, int);
 _Bool __atomic_compare_exchange_16(volatile __int128 *, __int128 *, __int128, _Bool, int, int);
 _Bool __atomic_compare_exchange   (volatile __int128 *, __int128 *, __int128 *, _Bool, int, int);
+#endif
 
 void __atomic_store_n(volatile _Bool *, _Bool, int);
-void __atomic_store_1(volatile _Bool *, _Bool, int);
 void __atomic_store(volatile _Bool *, _Bool *, int);
 void __atomic_store_n(volatile char *, char, int);
@@ -256,7 +300,9 @@
 void __atomic_store_8(volatile long long int *, long long int, int);
 void __atomic_store(volatile long long int *, long long int *, int);
+#if defined(__SIZEOF_INT128__)
 void __atomic_store_n(volatile __int128 *, __int128, int);
 void __atomic_store_16(volatile __int128 *, __int128, int);
 void __atomic_store(volatile __int128 *, __int128 *, int);
+#endif
 
 char __atomic_add_fetch  (volatile char *, char, int);
@@ -268,6 +314,8 @@
 long long int __atomic_add_fetch  (volatile long long int *, long long int, int);
 long long int __atomic_add_fetch_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_add_fetch   (volatile __int128 *, __int128, int);
 __int128 __atomic_add_fetch_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_sub_fetch  (volatile char *, char, int);
@@ -279,6 +327,8 @@
 long long int __atomic_sub_fetch  (volatile long long int *, long long int, int);
 long long int __atomic_sub_fetch_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_sub_fetch   (volatile __int128 *, __int128, int);
 __int128 __atomic_sub_fetch_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_and_fetch  (volatile char *, char, int);
@@ -290,6 +340,8 @@
 long long int __atomic_and_fetch  (volatile long long int *, long long int, int);
 long long int __atomic_and_fetch_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_and_fetch   (volatile __int128 *, __int128, int);
 __int128 __atomic_and_fetch_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_nand_fetch  (volatile char *, char, int);
@@ -301,6 +353,8 @@
 long long int __atomic_nand_fetch  (volatile long long int *, long long int, int);
 long long int __atomic_nand_fetch_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_nand_fetch   (volatile __int128 *, __int128, int);
 __int128 __atomic_nand_fetch_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_xor_fetch  (volatile char *, char, int);
@@ -312,6 +366,8 @@
 long long int __atomic_xor_fetch  (volatile long long int *, long long int, int);
 long long int __atomic_xor_fetch_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_xor_fetch   (volatile __int128 *, __int128, int);
 __int128 __atomic_xor_fetch_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_or_fetch  (volatile char *, char, int);
@@ -323,6 +379,8 @@
 long long int __atomic_or_fetch  (volatile long long int *, long long int, int);
 long long int __atomic_or_fetch_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_or_fetch   (volatile __int128 *, __int128, int);
 __int128 __atomic_or_fetch_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_fetch_add  (volatile char *, char, int);
@@ -334,6 +392,8 @@
 long long int __atomic_fetch_add  (volatile long long int *, long long int, int);
 long long int __atomic_fetch_add_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_fetch_add   (volatile __int128 *, __int128, int);
 __int128 __atomic_fetch_add_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_fetch_sub  (volatile char *, char, int);
@@ -345,6 +405,8 @@
 long long int __atomic_fetch_sub  (volatile long long int *, long long int, int);
 long long int __atomic_fetch_sub_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_fetch_sub   (volatile __int128 *, __int128, int);
 __int128 __atomic_fetch_sub_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_fetch_and  (volatile char *, char, int);
@@ -356,6 +418,8 @@
 long long int __atomic_fetch_and  (volatile long long int *, long long int, int);
 long long int __atomic_fetch_and_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_fetch_and   (volatile __int128 *, __int128, int);
 __int128 __atomic_fetch_and_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_fetch_nand  (volatile char *, char, int);
@@ -367,6 +431,8 @@
 long long int __atomic_fetch_nand  (volatile long long int *, long long int, int);
 long long int __atomic_fetch_nand_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_fetch_nand   (volatile __int128 *, __int128, int);
 __int128 __atomic_fetch_nand_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_fetch_xor  (volatile char *, char, int);
@@ -378,6 +444,8 @@
 long long int __atomic_fetch_xor  (volatile long long int *, long long int, int);
 long long int __atomic_fetch_xor_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_fetch_xor   (volatile __int128 *, __int128, int);
 __int128 __atomic_fetch_xor_16(volatile __int128 *, __int128, int);
+#endif
 
 char __atomic_fetch_or  (volatile char *, char, int);
@@ -389,6 +457,8 @@
 long long int __atomic_fetch_or  (volatile long long int *, long long int, int);
 long long int __atomic_fetch_or_8(volatile long long int *, long long int, int);
+#if defined(__SIZEOF_INT128__)
 __int128 __atomic_fetch_or   (volatile __int128 *, __int128, int);
 __int128 __atomic_fetch_or_16(volatile __int128 *, __int128, int);
+#endif
 
 _Bool __atomic_always_lock_free(unsigned long, const volatile void *);
Index: src/tests/.expect/ifcond.txt
===================================================================
--- src/tests/.expect/ifcond.txt	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ 	(revision )
@@ -1,3 +1,0 @@
-x != 0 correct
-x != 0 && y != 0 correct
-x == y correct
Index: src/tests/.expect/ifwhileCtl.txt
===================================================================
--- src/tests/.expect/ifwhileCtl.txt	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/tests/.expect/ifwhileCtl.txt	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,7 @@
+x != 0 correct
+x != 0 && y != 0 correct
+x == y correct
+s.i < 4 correct
+x != 0 correct
+x == y correct
+s.i < 4 correct
Index: src/tests/.expect/literals.txt
===================================================================
--- src/tests/.expect/literals.txt	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/tests/.expect/literals.txt	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,6 @@
+char a
+signed char 20
+unsigned char 21
+signed short int 22
+unsigned short int 23
+size_t 24
Index: src/tests/.expect/literals.x64.txt
===================================================================
--- src/tests/.expect/literals.x64.txt	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ 	(revision )
@@ -1,1494 +1,0 @@
-void __for_each__A0_2_0_0____operator_assign__Fd0_d0d0____constructor__F_d0____constructor__F_d0d0____destructor__F_d0____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_preincr__Fd0_d0____operator_predecr__Fd0_d0____operator_equal__Fi_d0d0____operator_notequal__Fi_d0d0____operator_deref__Fd1_d0__F_d0d0F_d1___1(__attribute__ ((unused)) void (*_adapterF_9telt_type__P)(void (*__anonymous_object0)(), void *__anonymous_object1), __attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object2)(), void *__anonymous_object3), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object4)(), void *__anonymous_object5, void *__anonymous_object6), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object7)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object8), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object9)(), void *__anonymous_object10, void *__anonymous_object11), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object12)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object13, void *__anonymous_object14), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object15)(), void *__anonymous_object16, void *__anonymous_object17), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object18)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object19, void *__anonymous_object20), __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) void *(*___operator_assign__F14titerator_type_14titerator_type14titerator_type__1)(void *__anonymous_object21, void *__anonymous_object22), __attribute__ ((unused)) void (*___constructor__F_14titerator_type__1)(void *__anonymous_object23), __attribute__ ((unused)) void (*___constructor__F_14titerator_type14titerator_type__1)(void *__anonymous_object24, void *__anonymous_object25), __attribute__ ((unused)) void (*___destructor__F_14titerator_type__1)(void *__anonymous_object26), __attribute__ ((unused)) void *(*___operator_assign__F9telt_type_9telt_type9telt_type__1)(void *__anonymous_object27, void *__anonymous_object28), __attribute__ ((unused)) void (*___constructor__F_9telt_type__1)(void *__anonymous_object29), __attribute__ ((unused)) void (*___constructor__F_9telt_type9telt_type__1)(void *__anonymous_object30, void *__anonymous_object31), __attribute__ ((unused)) void (*___destructor__F_9telt_type__1)(void *__anonymous_object32), __attribute__ ((unused)) void *(*___operator_preincr__F14titerator_type_14titerator_type__1)(void *__anonymous_object33), __attribute__ ((unused)) void *(*___operator_predecr__F14titerator_type_14titerator_type__1)(void *__anonymous_object34), __attribute__ ((unused)) signed int (*___operator_equal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object35, void *__anonymous_object36), __attribute__ ((unused)) signed int (*___operator_notequal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object37, void *__anonymous_object38), __attribute__ ((unused)) void *(*___operator_deref__F9telt_type_14titerator_type__1)(void *__anonymous_object39), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void (*__func__F_9telt_type__1)(void *__anonymous_object40));
-void __for_each_reverse__A0_2_0_0____operator_assign__Fd0_d0d0____constructor__F_d0____constructor__F_d0d0____destructor__F_d0____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_preincr__Fd0_d0____operator_predecr__Fd0_d0____operator_equal__Fi_d0d0____operator_notequal__Fi_d0d0____operator_deref__Fd1_d0__F_d0d0F_d1___1(__attribute__ ((unused)) void (*_adapterF_9telt_type__P)(void (*__anonymous_object41)(), void *__anonymous_object42), __attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object43)(), void *__anonymous_object44), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object45)(), void *__anonymous_object46, void *__anonymous_object47), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object48)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object49), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object50)(), void *__anonymous_object51, void *__anonymous_object52), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object53)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object54, void *__anonymous_object55), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object56)(), void *__anonymous_object57, void *__anonymous_object58), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object59)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object60, void *__anonymous_object61), __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) void *(*___operator_assign__F14titerator_type_14titerator_type14titerator_type__1)(void *__anonymous_object62, void *__anonymous_object63), __attribute__ ((unused)) void (*___constructor__F_14titerator_type__1)(void *__anonymous_object64), __attribute__ ((unused)) void (*___constructor__F_14titerator_type14titerator_type__1)(void *__anonymous_object65, void *__anonymous_object66), __attribute__ ((unused)) void (*___destructor__F_14titerator_type__1)(void *__anonymous_object67), __attribute__ ((unused)) void *(*___operator_assign__F9telt_type_9telt_type9telt_type__1)(void *__anonymous_object68, void *__anonymous_object69), __attribute__ ((unused)) void (*___constructor__F_9telt_type__1)(void *__anonymous_object70), __attribute__ ((unused)) void (*___constructor__F_9telt_type9telt_type__1)(void *__anonymous_object71, void *__anonymous_object72), __attribute__ ((unused)) void (*___destructor__F_9telt_type__1)(void *__anonymous_object73), __attribute__ ((unused)) void *(*___operator_preincr__F14titerator_type_14titerator_type__1)(void *__anonymous_object74), __attribute__ ((unused)) void *(*___operator_predecr__F14titerator_type_14titerator_type__1)(void *__anonymous_object75), __attribute__ ((unused)) signed int (*___operator_equal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object76, void *__anonymous_object77), __attribute__ ((unused)) signed int (*___operator_notequal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object78, void *__anonymous_object79), __attribute__ ((unused)) void *(*___operator_deref__F9telt_type_14titerator_type__1)(void *__anonymous_object80), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void (*__func__F_9telt_type__1)(void *__anonymous_object81));
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0b__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object82), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object83), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object84, _Bool __anonymous_object85), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object86), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object87, const char *__anonymous_object88), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object89), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object90, _Bool __anonymous_object91), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object92), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object93), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object94), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object95), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object96), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object97, const char *__anonymous_object98), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object99), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object100, const char *__anonymous_object101), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object102), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object103), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object104, const char *__anonymous_object105, unsigned long int __anonymous_object106), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object107, const char *__fmt__PCc_1, ...), void *__anonymous_object108, _Bool __anonymous_object109);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0c__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object110), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object111), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object112, _Bool __anonymous_object113), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object114), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object115, const char *__anonymous_object116), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object117), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object118, _Bool __anonymous_object119), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object120), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object121), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object122), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object123), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object124), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object125, const char *__anonymous_object126), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object127), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object128, const char *__anonymous_object129), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object130), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object131), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object132, const char *__anonymous_object133, unsigned long int __anonymous_object134), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object135, const char *__fmt__PCc_1, ...), void *__anonymous_object136, char __anonymous_object137);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Sc__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object138), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object139), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object140, _Bool __anonymous_object141), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object142), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object143, const char *__anonymous_object144), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object145), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object146, _Bool __anonymous_object147), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object148), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object149), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object150), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object151), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object152), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object153, const char *__anonymous_object154), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object155), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object156, const char *__anonymous_object157), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object158), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object159), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object160, const char *__anonymous_object161, unsigned long int __anonymous_object162), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object163, const char *__fmt__PCc_1, ...), void *__anonymous_object164, signed char __anonymous_object165);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Uc__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object166), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object167), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object168, _Bool __anonymous_object169), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object170), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object171, const char *__anonymous_object172), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object173), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object174, _Bool __anonymous_object175), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object176), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object177), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object178), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object179), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object180), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object181, const char *__anonymous_object182), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object183), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object184, const char *__anonymous_object185), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object186), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object187), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object188, const char *__anonymous_object189, unsigned long int __anonymous_object190), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object191, const char *__fmt__PCc_1, ...), void *__anonymous_object192, unsigned char __anonymous_object193);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0s__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object194), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object195), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object196, _Bool __anonymous_object197), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object198), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object199, const char *__anonymous_object200), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object201), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object202, _Bool __anonymous_object203), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object204), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object205), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object206), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object207), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object208), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object209, const char *__anonymous_object210), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object211), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object212, const char *__anonymous_object213), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object214), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object215), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object216, const char *__anonymous_object217, unsigned long int __anonymous_object218), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object219, const char *__fmt__PCc_1, ...), void *__anonymous_object220, signed short int __anonymous_object221);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Us__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object222), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object223), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object224, _Bool __anonymous_object225), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object226), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object227, const char *__anonymous_object228), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object229), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object230, _Bool __anonymous_object231), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object232), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object233), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object234), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object235), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object236), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object237, const char *__anonymous_object238), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object239), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object240, const char *__anonymous_object241), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object242), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object243), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object244, const char *__anonymous_object245, unsigned long int __anonymous_object246), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object247, const char *__fmt__PCc_1, ...), void *__anonymous_object248, unsigned short int __anonymous_object249);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0i__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object250), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object251), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object252, _Bool __anonymous_object253), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object254), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object255, const char *__anonymous_object256), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object257), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object258, _Bool __anonymous_object259), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object260), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object261), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object262), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object263), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object264), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object265, const char *__anonymous_object266), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object267), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object268, const char *__anonymous_object269), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object270), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object271), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object272, const char *__anonymous_object273, unsigned long int __anonymous_object274), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object275, const char *__fmt__PCc_1, ...), void *__anonymous_object276, signed int __anonymous_object277);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Ui__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object278), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object279), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object280, _Bool __anonymous_object281), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object282), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object283, const char *__anonymous_object284), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object285), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object286, _Bool __anonymous_object287), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object288), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object289), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object290), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object291), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object292), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object293, const char *__anonymous_object294), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object295), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object296, const char *__anonymous_object297), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object298), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object299), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object300, const char *__anonymous_object301, unsigned long int __anonymous_object302), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object303, const char *__fmt__PCc_1, ...), void *__anonymous_object304, unsigned int __anonymous_object305);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0l__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object306), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object307), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object308, _Bool __anonymous_object309), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object310), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object311, const char *__anonymous_object312), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object313), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object314, _Bool __anonymous_object315), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object316), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object317), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object318), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object319), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object320), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object321, const char *__anonymous_object322), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object323), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object324, const char *__anonymous_object325), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object326), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object327), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object328, const char *__anonymous_object329, unsigned long int __anonymous_object330), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object331, const char *__fmt__PCc_1, ...), void *__anonymous_object332, signed long int __anonymous_object333);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0q__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object334), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object335), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object336, _Bool __anonymous_object337), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object338), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object339, const char *__anonymous_object340), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object341), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object342, _Bool __anonymous_object343), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object344), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object345), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object346), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object347), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object348), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object349, const char *__anonymous_object350), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object351), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object352, const char *__anonymous_object353), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object354), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object355), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object356, const char *__anonymous_object357, unsigned long int __anonymous_object358), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object359, const char *__fmt__PCc_1, ...), void *__anonymous_object360, signed long long int __anonymous_object361);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Ul__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object362), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object363), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object364, _Bool __anonymous_object365), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object366), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object367, const char *__anonymous_object368), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object369), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object370, _Bool __anonymous_object371), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object372), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object373), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object374), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object375), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object376), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object377, const char *__anonymous_object378), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object379), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object380, const char *__anonymous_object381), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object382), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object383), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object384, const char *__anonymous_object385, unsigned long int __anonymous_object386), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object387, const char *__fmt__PCc_1, ...), void *__anonymous_object388, unsigned long int __anonymous_object389);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Uq__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object390), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object391), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object392, _Bool __anonymous_object393), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object394), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object395, const char *__anonymous_object396), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object397), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object398, _Bool __anonymous_object399), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object400), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object401), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object402), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object403), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object404), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object405, const char *__anonymous_object406), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object407), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object408, const char *__anonymous_object409), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object410), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object411), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object412, const char *__anonymous_object413, unsigned long int __anonymous_object414), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object415, const char *__fmt__PCc_1, ...), void *__anonymous_object416, unsigned long long int __anonymous_object417);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0f__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object418), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object419), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object420, _Bool __anonymous_object421), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object422), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object423, const char *__anonymous_object424), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object425), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object426, _Bool __anonymous_object427), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object428), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object429), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object430), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object431), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object432), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object433, const char *__anonymous_object434), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object435), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object436, const char *__anonymous_object437), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object438), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object439), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object440, const char *__anonymous_object441, unsigned long int __anonymous_object442), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object443, const char *__fmt__PCc_1, ...), void *__anonymous_object444, float __anonymous_object445);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0d__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object446), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object447), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object448, _Bool __anonymous_object449), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object450), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object451, const char *__anonymous_object452), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object453), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object454, _Bool __anonymous_object455), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object456), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object457), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object458), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object459), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object460), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object461, const char *__anonymous_object462), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object463), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object464, const char *__anonymous_object465), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object466), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object467), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object468, const char *__anonymous_object469, unsigned long int __anonymous_object470), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object471, const char *__fmt__PCc_1, ...), void *__anonymous_object472, double __anonymous_object473);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0r__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object474), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object475), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object476, _Bool __anonymous_object477), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object478), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object479, const char *__anonymous_object480), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object481), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object482, _Bool __anonymous_object483), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object484), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object485), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object486), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object487), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object488), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object489, const char *__anonymous_object490), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object491), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object492, const char *__anonymous_object493), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object494), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object495), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object496, const char *__anonymous_object497, unsigned long int __anonymous_object498), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object499, const char *__fmt__PCc_1, ...), void *__anonymous_object500, long double __anonymous_object501);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Xf__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object502), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object503), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object504, _Bool __anonymous_object505), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object506), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object507, const char *__anonymous_object508), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object509), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object510, _Bool __anonymous_object511), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object512), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object513), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object514), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object515), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object516), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object517, const char *__anonymous_object518), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object519), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object520, const char *__anonymous_object521), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object522), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object523), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object524, const char *__anonymous_object525, unsigned long int __anonymous_object526), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object527, const char *__fmt__PCc_1, ...), void *__anonymous_object528, float _Complex __anonymous_object529);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Xd__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object530), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object531), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object532, _Bool __anonymous_object533), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object534), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object535, const char *__anonymous_object536), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object537), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object538, _Bool __anonymous_object539), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object540), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object541), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object542), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object543), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object544), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object545, const char *__anonymous_object546), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object547), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object548, const char *__anonymous_object549), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object550), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object551), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object552, const char *__anonymous_object553, unsigned long int __anonymous_object554), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object555, const char *__fmt__PCc_1, ...), void *__anonymous_object556, double _Complex __anonymous_object557);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Xr__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object558), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object559), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object560, _Bool __anonymous_object561), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object562), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object563, const char *__anonymous_object564), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object565), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object566, _Bool __anonymous_object567), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object568), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object569), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object570), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object571), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object572), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object573, const char *__anonymous_object574), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object575), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object576, const char *__anonymous_object577), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object578), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object579), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object580, const char *__anonymous_object581, unsigned long int __anonymous_object582), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object583, const char *__fmt__PCc_1, ...), void *__anonymous_object584, long double _Complex __anonymous_object585);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object586), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object587), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object588, _Bool __anonymous_object589), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object590), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object591, const char *__anonymous_object592), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object593), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object594, _Bool __anonymous_object595), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object596), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object597), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object598), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object599), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object600), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object601, const char *__anonymous_object602), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object603), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object604, const char *__anonymous_object605), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object606), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object607), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object608, const char *__anonymous_object609, unsigned long int __anonymous_object610), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object611, const char *__fmt__PCc_1, ...), void *__anonymous_object612, const char *__anonymous_object613);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCv__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object614), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object615), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object616, _Bool __anonymous_object617), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object618), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object619, const char *__anonymous_object620), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object621), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object622, _Bool __anonymous_object623), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object624), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object625), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object626), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object627), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object628), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object629, const char *__anonymous_object630), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object631), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object632, const char *__anonymous_object633), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object634), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object635), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object636, const char *__anonymous_object637, unsigned long int __anonymous_object638), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object639, const char *__fmt__PCc_1, ...), void *__anonymous_object640, const void *__anonymous_object641);
-void *___operator_bitor__A0_2_0_1____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_bitor__Fd0_d0d1___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc____operator_bitor__Fd0_d0tVARGS2__Fd0_d0d1tVARGS2__1(__attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype7tParams_M_MP)(void (*__anonymous_object642)(), void *__anonymous_object643, void *__anonymous_object644), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype2tT_M_MP)(void (*__anonymous_object645)(), void *__anonymous_object646, void *__anonymous_object647), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object648)(), void *__anonymous_object649, void *__anonymous_object650), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object651)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object652, void *__anonymous_object653), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void *(*___operator_assign__F2tT_2tT2tT__1)(void *__anonymous_object654, void *__anonymous_object655), __attribute__ ((unused)) void (*___constructor__F_2tT__1)(void *__anonymous_object656), __attribute__ ((unused)) void (*___constructor__F_2tT2tT__1)(void *__anonymous_object657, void *__anonymous_object658), __attribute__ ((unused)) void (*___destructor__F_2tT__1)(void *__anonymous_object659), __attribute__ ((unused)) void *(*___operator_bitor__F7tostype_7tostype2tT__1)(void *__anonymous_object660, void *__anonymous_object661), __attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object662), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object663), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object664, _Bool __anonymous_object665), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object666), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object667, const char *__anonymous_object668), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object669), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object670, _Bool __anonymous_object671), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object672), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object673), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object674), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object675), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object676), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object677, const char *__anonymous_object678), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object679), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object680, const char *__anonymous_object681), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object682), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object683), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object684, const char *__anonymous_object685, unsigned long int __anonymous_object686), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object687, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_bitor__F7tostype_7tostype7tParams__1)(void *__anonymous_object688, void *__anonymous_object689), void *__os__7tostype_1, void *__arg__2tT_1, void *__rest__7tParams_1);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object690), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object691), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object692, _Bool __anonymous_object693), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object694), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object695, const char *__anonymous_object696), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object697), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object698, _Bool __anonymous_object699), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object700), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object701), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object702), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object703), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object704), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object705, const char *__anonymous_object706), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object707), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object708, const char *__anonymous_object709), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object710), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object711), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object712, const char *__anonymous_object713, unsigned long int __anonymous_object714), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object715, const char *__fmt__PCc_1, ...), void *__anonymous_object716, void *(*__anonymous_object717)(void *__anonymous_object718));
-void *__endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object719), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object720), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object721, _Bool __anonymous_object722), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object723), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object724, const char *__anonymous_object725), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object726), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object727, _Bool __anonymous_object728), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object729), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object730), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object731), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object732), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object733), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object734, const char *__anonymous_object735), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object736), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object737, const char *__anonymous_object738), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object739), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object740), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object741, const char *__anonymous_object742, unsigned long int __anonymous_object743), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object744, const char *__fmt__PCc_1, ...), void *__anonymous_object745);
-void *__sep__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object746), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object747), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object748, _Bool __anonymous_object749), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object750), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object751, const char *__anonymous_object752), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object753), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object754, _Bool __anonymous_object755), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object756), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object757), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object758), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object759), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object760), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object761, const char *__anonymous_object762), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object763), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object764, const char *__anonymous_object765), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object766), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object767), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object768, const char *__anonymous_object769, unsigned long int __anonymous_object770), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object771, const char *__fmt__PCc_1, ...), void *__anonymous_object772);
-void *__sepTuple__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object773), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object774), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object775, _Bool __anonymous_object776), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object777), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object778, const char *__anonymous_object779), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object780), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object781, _Bool __anonymous_object782), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object783), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object784), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object785), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object786), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object787), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object788, const char *__anonymous_object789), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object790), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object791, const char *__anonymous_object792), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object793), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object794), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object795, const char *__anonymous_object796, unsigned long int __anonymous_object797), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object798, const char *__fmt__PCc_1, ...), void *__anonymous_object799);
-void *__sepOn__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object800), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object801), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object802, _Bool __anonymous_object803), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object804), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object805, const char *__anonymous_object806), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object807), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object808, _Bool __anonymous_object809), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object810), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object811), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object812), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object813), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object814), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object815, const char *__anonymous_object816), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object817), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object818, const char *__anonymous_object819), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object820), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object821), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object822, const char *__anonymous_object823, unsigned long int __anonymous_object824), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object825, const char *__fmt__PCc_1, ...), void *__anonymous_object826);
-void *__sepOff__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object827), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object828), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object829, _Bool __anonymous_object830), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object831), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object832, const char *__anonymous_object833), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object834), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object835, _Bool __anonymous_object836), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object837), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object838), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object839), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object840), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object841), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object842, const char *__anonymous_object843), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object844), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object845, const char *__anonymous_object846), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object847), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object848), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object849, const char *__anonymous_object850, unsigned long int __anonymous_object851), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object852, const char *__fmt__PCc_1, ...), void *__anonymous_object853);
-void *__sepDisable__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object854), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object855), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object856, _Bool __anonymous_object857), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object858), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object859, const char *__anonymous_object860), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object861), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object862, _Bool __anonymous_object863), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object864), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object865), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object866), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object867), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object868), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object869, const char *__anonymous_object870), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object871), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object872, const char *__anonymous_object873), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object874), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object875), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object876, const char *__anonymous_object877, unsigned long int __anonymous_object878), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object879, const char *__fmt__PCc_1, ...), void *__anonymous_object880);
-void *__sepEnable__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object881), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object882), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object883, _Bool __anonymous_object884), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object885), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object886, const char *__anonymous_object887), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object888), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object889, _Bool __anonymous_object890), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object891), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object892), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object893), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object894), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object895), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object896, const char *__anonymous_object897), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object898), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object899, const char *__anonymous_object900), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object901), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object902), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object903, const char *__anonymous_object904, unsigned long int __anonymous_object905), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object906, const char *__fmt__PCc_1, ...), void *__anonymous_object907);
-void __write__A0_3_0_0____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_bitor__Fd0_d0d1___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc____operator_assign__Fd2_d2d2____constructor__F_d2____constructor__F_d2d2____destructor__F_d2____operator_preincr__Fd2_d2____operator_predecr__Fd2_d2____operator_equal__Fi_d2d2____operator_notequal__Fi_d2d2____operator_deref__Fd1_d2__F_d2d2d0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object908)(), void *__anonymous_object909), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object910)(), void *__anonymous_object911, void *__anonymous_object912), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object913)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object914), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object915)(), void *__anonymous_object916, void *__anonymous_object917), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object918)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object919, void *__anonymous_object920), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object921)(), void *__anonymous_object922, void *__anonymous_object923), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object924)(), void *__anonymous_object925, void *__anonymous_object926), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object927)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object928, void *__anonymous_object929), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__F9telt_type_9telt_type9telt_type__1)(void *__anonymous_object930, void *__anonymous_object931), __attribute__ ((unused)) void (*___constructor__F_9telt_type__1)(void *__anonymous_object932), __attribute__ ((unused)) void (*___constructor__F_9telt_type9telt_type__1)(void *__anonymous_object933, void *__anonymous_object934), __attribute__ ((unused)) void (*___destructor__F_9telt_type__1)(void *__anonymous_object935), __attribute__ ((unused)) void *(*___operator_bitor__F7tostype_7tostype9telt_type__1)(void *__anonymous_object936, void *__anonymous_object937), __attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object938), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object939), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object940, _Bool __anonymous_object941), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object942), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object943, const char *__anonymous_object944), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object945), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object946, _Bool __anonymous_object947), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object948), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object949), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object950), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object951), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object952), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object953, const char *__anonymous_object954), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object955), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object956, const char *__anonymous_object957), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object958), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object959), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object960, const char *__anonymous_object961, unsigned long int __anonymous_object962), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object963, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__F14titerator_type_14titerator_type14titerator_type__1)(void *__anonymous_object964, void *__anonymous_object965), __attribute__ ((unused)) void (*___constructor__F_14titerator_type__1)(void *__anonymous_object966), __attribute__ ((unused)) void (*___constructor__F_14titerator_type14titerator_type__1)(void *__anonymous_object967, void *__anonymous_object968), __attribute__ ((unused)) void (*___destructor__F_14titerator_type__1)(void *__anonymous_object969), __attribute__ ((unused)) void *(*___operator_preincr__F14titerator_type_14titerator_type__1)(void *__anonymous_object970), __attribute__ ((unused)) void *(*___operator_predecr__F14titerator_type_14titerator_type__1)(void *__anonymous_object971), __attribute__ ((unused)) signed int (*___operator_equal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object972, void *__anonymous_object973), __attribute__ ((unused)) signed int (*___operator_notequal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object974, void *__anonymous_object975), __attribute__ ((unused)) void *(*___operator_deref__F9telt_type_14titerator_type__1)(void *__anonymous_object976), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__7tostype_1);
-void __write_reverse__A0_3_0_0____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_bitor__Fd0_d0d1___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc____operator_assign__Fd2_d2d2____constructor__F_d2____constructor__F_d2d2____destructor__F_d2____operator_preincr__Fd2_d2____operator_predecr__Fd2_d2____operator_equal__Fi_d2d2____operator_notequal__Fi_d2d2____operator_deref__Fd1_d2__F_d2d2d0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object977)(), void *__anonymous_object978), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object979)(), void *__anonymous_object980, void *__anonymous_object981), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object982)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object983), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object984)(), void *__anonymous_object985, void *__anonymous_object986), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object987)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object988, void *__anonymous_object989), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object990)(), void *__anonymous_object991, void *__anonymous_object992), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object993)(), void *__anonymous_object994, void *__anonymous_object995), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object996)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object997, void *__anonymous_object998), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__F9telt_type_9telt_type9telt_type__1)(void *__anonymous_object999, void *__anonymous_object1000), __attribute__ ((unused)) void (*___constructor__F_9telt_type__1)(void *__anonymous_object1001), __attribute__ ((unused)) void (*___constructor__F_9telt_type9telt_type__1)(void *__anonymous_object1002, void *__anonymous_object1003), __attribute__ ((unused)) void (*___destructor__F_9telt_type__1)(void *__anonymous_object1004), __attribute__ ((unused)) void *(*___operator_bitor__F7tostype_7tostype9telt_type__1)(void *__anonymous_object1005, void *__anonymous_object1006), __attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object1007), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object1008), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object1009, _Bool __anonymous_object1010), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object1011), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object1012, const char *__anonymous_object1013), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object1014), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object1015, _Bool __anonymous_object1016), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object1017), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object1018), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object1019), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object1020), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object1021), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object1022, const char *__anonymous_object1023), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object1024), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object1025, const char *__anonymous_object1026), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object1027), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object1028), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object1029, const char *__anonymous_object1030, unsigned long int __anonymous_object1031), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object1032, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__F14titerator_type_14titerator_type14titerator_type__1)(void *__anonymous_object1033, void *__anonymous_object1034), __attribute__ ((unused)) void (*___constructor__F_14titerator_type__1)(void *__anonymous_object1035), __attribute__ ((unused)) void (*___constructor__F_14titerator_type14titerator_type__1)(void *__anonymous_object1036, void *__anonymous_object1037), __attribute__ ((unused)) void (*___destructor__F_14titerator_type__1)(void *__anonymous_object1038), __attribute__ ((unused)) void *(*___operator_preincr__F14titerator_type_14titerator_type__1)(void *__anonymous_object1039), __attribute__ ((unused)) void *(*___operator_predecr__F14titerator_type_14titerator_type__1)(void *__anonymous_object1040), __attribute__ ((unused)) signed int (*___operator_equal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object1041, void *__anonymous_object1042), __attribute__ ((unused)) signed int (*___operator_notequal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object1043, void *__anonymous_object1044), __attribute__ ((unused)) void *(*___operator_deref__F9telt_type_14titerator_type__1)(void *__anonymous_object1045), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__7tostype_1);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0b__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1046), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1047), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1048, char *__anonymous_object1049, unsigned long int __anonymous_object1050), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1051, char __anonymous_object1052), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1053, const char *__fmt__PCc_1, ...), void *__anonymous_object1054, _Bool *__anonymous_object1055);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0c__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1056), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1057), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1058, char *__anonymous_object1059, unsigned long int __anonymous_object1060), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1061, char __anonymous_object1062), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1063, const char *__fmt__PCc_1, ...), void *__anonymous_object1064, char *__anonymous_object1065);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Sc__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1066), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1067), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1068, char *__anonymous_object1069, unsigned long int __anonymous_object1070), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1071, char __anonymous_object1072), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1073, const char *__fmt__PCc_1, ...), void *__anonymous_object1074, signed char *__anonymous_object1075);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Uc__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1076), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1077), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1078, char *__anonymous_object1079, unsigned long int __anonymous_object1080), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1081, char __anonymous_object1082), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1083, const char *__fmt__PCc_1, ...), void *__anonymous_object1084, unsigned char *__anonymous_object1085);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0s__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1086), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1087), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1088, char *__anonymous_object1089, unsigned long int __anonymous_object1090), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1091, char __anonymous_object1092), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1093, const char *__fmt__PCc_1, ...), void *__anonymous_object1094, signed short int *__anonymous_object1095);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Us__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1096), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1097), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1098, char *__anonymous_object1099, unsigned long int __anonymous_object1100), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1101, char __anonymous_object1102), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1103, const char *__fmt__PCc_1, ...), void *__anonymous_object1104, unsigned short int *__anonymous_object1105);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0i__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1106), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1107), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1108, char *__anonymous_object1109, unsigned long int __anonymous_object1110), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1111, char __anonymous_object1112), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1113, const char *__fmt__PCc_1, ...), void *__anonymous_object1114, signed int *__anonymous_object1115);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Ui__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1116), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1117), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1118, char *__anonymous_object1119, unsigned long int __anonymous_object1120), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1121, char __anonymous_object1122), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1123, const char *__fmt__PCc_1, ...), void *__anonymous_object1124, unsigned int *__anonymous_object1125);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0l__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1126), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1127), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1128, char *__anonymous_object1129, unsigned long int __anonymous_object1130), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1131, char __anonymous_object1132), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1133, const char *__fmt__PCc_1, ...), void *__anonymous_object1134, signed long int *__anonymous_object1135);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0q__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1136), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1137), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1138, char *__anonymous_object1139, unsigned long int __anonymous_object1140), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1141, char __anonymous_object1142), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1143, const char *__fmt__PCc_1, ...), void *__anonymous_object1144, signed long long int *__anonymous_object1145);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Ul__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1146), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1147), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1148, char *__anonymous_object1149, unsigned long int __anonymous_object1150), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1151, char __anonymous_object1152), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1153, const char *__fmt__PCc_1, ...), void *__anonymous_object1154, unsigned long int *__anonymous_object1155);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Uq__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1156), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1157), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1158, char *__anonymous_object1159, unsigned long int __anonymous_object1160), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1161, char __anonymous_object1162), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1163, const char *__fmt__PCc_1, ...), void *__anonymous_object1164, unsigned long long int *__anonymous_object1165);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0f__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1166), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1167), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1168, char *__anonymous_object1169, unsigned long int __anonymous_object1170), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1171, char __anonymous_object1172), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1173, const char *__fmt__PCc_1, ...), void *__anonymous_object1174, float *__anonymous_object1175);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0d__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1176), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1177), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1178, char *__anonymous_object1179, unsigned long int __anonymous_object1180), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1181, char __anonymous_object1182), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1183, const char *__fmt__PCc_1, ...), void *__anonymous_object1184, double *__anonymous_object1185);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0r__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1186), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1187), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1188, char *__anonymous_object1189, unsigned long int __anonymous_object1190), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1191, char __anonymous_object1192), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1193, const char *__fmt__PCc_1, ...), void *__anonymous_object1194, long double *__anonymous_object1195);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Xf__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1196), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1197), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1198, char *__anonymous_object1199, unsigned long int __anonymous_object1200), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1201, char __anonymous_object1202), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1203, const char *__fmt__PCc_1, ...), void *__anonymous_object1204, float _Complex *__anonymous_object1205);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Xd__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1206), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1207), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1208, char *__anonymous_object1209, unsigned long int __anonymous_object1210), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1211, char __anonymous_object1212), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1213, const char *__fmt__PCc_1, ...), void *__anonymous_object1214, double _Complex *__anonymous_object1215);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Xr__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1216), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1217), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1218, char *__anonymous_object1219, unsigned long int __anonymous_object1220), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1221, char __anonymous_object1222), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1223, const char *__fmt__PCc_1, ...), void *__anonymous_object1224, long double _Complex *__anonymous_object1225);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1226), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1227), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1228, char *__anonymous_object1229, unsigned long int __anonymous_object1230), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1231, char __anonymous_object1232), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1233, const char *__fmt__PCc_1, ...), void *__anonymous_object1234, void *(*__anonymous_object1235)(void *__anonymous_object1236));
-void *__endl__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1237), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1238), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1239, char *__anonymous_object1240, unsigned long int __anonymous_object1241), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1242, char __anonymous_object1243), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1244, const char *__fmt__PCc_1, ...), void *__is__7tistype_1);
-struct _Istream_cstrUC {
-    char *__s__Pc_1;
-};
-static inline void ___constructor__F_16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1);
-static inline void ___constructor__F_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, struct _Istream_cstrUC ___src__16s_Istream_cstrUC_1);
-static inline void ___destructor__F_16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1);
-static inline struct _Istream_cstrUC ___operator_assign__F16s_Istream_cstrUC_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, struct _Istream_cstrUC ___src__16s_Istream_cstrUC_1);
-static inline void ___constructor__F_16s_Istream_cstrUCPc_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, char *__s__Pc_1);
-static inline void ___constructor__F_16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1){
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1) /* ?{} */);
-}
-static inline void ___constructor__F_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, struct _Istream_cstrUC ___src__16s_Istream_cstrUC_1){
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1=___src__16s_Istream_cstrUC_1.__s__Pc_1) /* ?{} */);
-}
-static inline void ___destructor__F_16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1){
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1) /* ^?{} */);
-}
-static inline struct _Istream_cstrUC ___operator_assign__F16s_Istream_cstrUC_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, struct _Istream_cstrUC ___src__16s_Istream_cstrUC_1){
-    struct _Istream_cstrUC ___ret__16s_Istream_cstrUC_1;
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1=___src__16s_Istream_cstrUC_1.__s__Pc_1));
-    ((void)___constructor__F_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1((&___ret__16s_Istream_cstrUC_1), (*___dst__16s_Istream_cstrUC_1)));
-    return ___ret__16s_Istream_cstrUC_1;
-}
-static inline void ___constructor__F_16s_Istream_cstrUCPc_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, char *__s__Pc_1){
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1=__s__Pc_1) /* ?{} */);
-}
-struct _Istream_cstrUC __cstr__F16s_Istream_cstrUC_Pc__1(char *__anonymous_object1245);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d016s_Istream_cstrUC__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1246), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1247), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1248, char *__anonymous_object1249, unsigned long int __anonymous_object1250), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1251, char __anonymous_object1252), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1253, const char *__fmt__PCc_1, ...), void *__anonymous_object1254, struct _Istream_cstrUC __anonymous_object1255);
-struct _Istream_cstrC {
-    char *__s__Pc_1;
-    signed int __size__i_1;
-};
-static inline void ___constructor__F_15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1);
-static inline void ___constructor__F_15s_Istream_cstrC15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, struct _Istream_cstrC ___src__15s_Istream_cstrC_1);
-static inline void ___destructor__F_15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1);
-static inline struct _Istream_cstrC ___operator_assign__F15s_Istream_cstrC_15s_Istream_cstrC15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, struct _Istream_cstrC ___src__15s_Istream_cstrC_1);
-static inline void ___constructor__F_15s_Istream_cstrCPc_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, char *__s__Pc_1);
-static inline void ___constructor__F_15s_Istream_cstrCPci_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, char *__s__Pc_1, signed int __size__i_1);
-static inline void ___constructor__F_15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1) /* ?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1) /* ?{} */);
-}
-static inline void ___constructor__F_15s_Istream_cstrC15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, struct _Istream_cstrC ___src__15s_Istream_cstrC_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1=___src__15s_Istream_cstrC_1.__s__Pc_1) /* ?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1=___src__15s_Istream_cstrC_1.__size__i_1) /* ?{} */);
-}
-static inline void ___destructor__F_15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1) /* ^?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1) /* ^?{} */);
-}
-static inline struct _Istream_cstrC ___operator_assign__F15s_Istream_cstrC_15s_Istream_cstrC15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, struct _Istream_cstrC ___src__15s_Istream_cstrC_1){
-    struct _Istream_cstrC ___ret__15s_Istream_cstrC_1;
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1=___src__15s_Istream_cstrC_1.__s__Pc_1));
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1=___src__15s_Istream_cstrC_1.__size__i_1));
-    ((void)___constructor__F_15s_Istream_cstrC15s_Istream_cstrC_autogen___1((&___ret__15s_Istream_cstrC_1), (*___dst__15s_Istream_cstrC_1)));
-    return ___ret__15s_Istream_cstrC_1;
-}
-static inline void ___constructor__F_15s_Istream_cstrCPc_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, char *__s__Pc_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1=__s__Pc_1) /* ?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1) /* ?{} */);
-}
-static inline void ___constructor__F_15s_Istream_cstrCPci_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, char *__s__Pc_1, signed int __size__i_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1=__s__Pc_1) /* ?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1=__size__i_1) /* ?{} */);
-}
-struct _Istream_cstrC __cstr__F15s_Istream_cstrC_Pci__1(char *__anonymous_object1256, signed int __size__i_1);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d015s_Istream_cstrC__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1257), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1258), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1259, char *__anonymous_object1260, unsigned long int __anonymous_object1261), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1262, char __anonymous_object1263), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1264, const char *__fmt__PCc_1, ...), void *__anonymous_object1265, struct _Istream_cstrC __anonymous_object1266);
-struct Duration {
-    signed long int __tv__l_1;
-};
-static inline void ___constructor__F_9sDuration_autogen___1(struct Duration *___dst__9sDuration_1);
-static inline void ___constructor__F_9sDuration9sDuration_autogen___1(struct Duration *___dst__9sDuration_1, struct Duration ___src__9sDuration_1);
-static inline void ___destructor__F_9sDuration_autogen___1(struct Duration *___dst__9sDuration_1);
-static inline struct Duration ___operator_assign__F9sDuration_9sDuration9sDuration_autogen___1(struct Duration *___dst__9sDuration_1, struct Duration ___src__9sDuration_1);
-static inline void ___constructor__F_9sDurationl_autogen___1(struct Duration *___dst__9sDuration_1, signed long int __tv__l_1);
-static inline void ___constructor__F_9sDuration_autogen___1(struct Duration *___dst__9sDuration_1){
-    ((void)((*___dst__9sDuration_1).__tv__l_1) /* ?{} */);
-}
-static inline void ___constructor__F_9sDuration9sDuration_autogen___1(struct Duration *___dst__9sDuration_1, struct Duration ___src__9sDuration_1){
-    ((void)((*___dst__9sDuration_1).__tv__l_1=___src__9sDuration_1.__tv__l_1) /* ?{} */);
-}
-static inline void ___destructor__F_9sDuration_autogen___1(struct Duration *___dst__9sDuration_1){
-    ((void)((*___dst__9sDuration_1).__tv__l_1) /* ^?{} */);
-}
-static inline struct Duration ___operator_assign__F9sDuration_9sDuration9sDuration_autogen___1(struct Duration *___dst__9sDuration_1, struct Duration ___src__9sDuration_1){
-    struct Duration ___ret__9sDuration_1;
-    ((void)((*___dst__9sDuration_1).__tv__l_1=___src__9sDuration_1.__tv__l_1));
-    ((void)___constructor__F_9sDuration9sDuration_autogen___1((&___ret__9sDuration_1), (*___dst__9sDuration_1)));
-    return ___ret__9sDuration_1;
-}
-static inline void ___constructor__F_9sDurationl_autogen___1(struct Duration *___dst__9sDuration_1, signed long int __tv__l_1){
-    ((void)((*___dst__9sDuration_1).__tv__l_1=__tv__l_1) /* ?{} */);
-}
-static inline void ___constructor__F_9sDuration__1(struct Duration *__dur__9sDuration_1){
-    ((void)((*__dur__9sDuration_1).__tv__l_1) /* ?{} */);
-    ((void)((*__dur__9sDuration_1).__tv__l_1=((signed long int )0)));
-}
-static inline void ___constructor__F_9sDurationZ__1(struct Duration *__dur__9sDuration_1, long int __anonymous_object1267){
-    ((void)((*__dur__9sDuration_1).__tv__l_1) /* ?{} */);
-    ((void)((*__dur__9sDuration_1).__tv__l_1=((signed long int )0)));
-}
-struct Time {
-    unsigned long int __tv__Ul_1;
-};
-static inline void ___constructor__F_5sTime_autogen___1(struct Time *___dst__5sTime_1);
-static inline void ___constructor__F_5sTime5sTime_autogen___1(struct Time *___dst__5sTime_1, struct Time ___src__5sTime_1);
-static inline void ___destructor__F_5sTime_autogen___1(struct Time *___dst__5sTime_1);
-static inline struct Time ___operator_assign__F5sTime_5sTime5sTime_autogen___1(struct Time *___dst__5sTime_1, struct Time ___src__5sTime_1);
-static inline void ___constructor__F_5sTimeUl_autogen___1(struct Time *___dst__5sTime_1, unsigned long int __tv__Ul_1);
-static inline void ___constructor__F_5sTime_autogen___1(struct Time *___dst__5sTime_1){
-    ((void)((*___dst__5sTime_1).__tv__Ul_1) /* ?{} */);
-}
-static inline void ___constructor__F_5sTime5sTime_autogen___1(struct Time *___dst__5sTime_1, struct Time ___src__5sTime_1){
-    ((void)((*___dst__5sTime_1).__tv__Ul_1=___src__5sTime_1.__tv__Ul_1) /* ?{} */);
-}
-static inline void ___destructor__F_5sTime_autogen___1(struct Time *___dst__5sTime_1){
-    ((void)((*___dst__5sTime_1).__tv__Ul_1) /* ^?{} */);
-}
-static inline struct Time ___operator_assign__F5sTime_5sTime5sTime_autogen___1(struct Time *___dst__5sTime_1, struct Time ___src__5sTime_1){
-    struct Time ___ret__5sTime_1;
-    ((void)((*___dst__5sTime_1).__tv__Ul_1=___src__5sTime_1.__tv__Ul_1));
-    ((void)___constructor__F_5sTime5sTime_autogen___1((&___ret__5sTime_1), (*___dst__5sTime_1)));
-    return ___ret__5sTime_1;
-}
-static inline void ___constructor__F_5sTimeUl_autogen___1(struct Time *___dst__5sTime_1, unsigned long int __tv__Ul_1){
-    ((void)((*___dst__5sTime_1).__tv__Ul_1=__tv__Ul_1) /* ?{} */);
-}
-static inline void ___constructor__F_5sTime__1(struct Time *__time__5sTime_1){
-    ((void)((*__time__5sTime_1).__tv__Ul_1) /* ?{} */);
-    ((void)((*__time__5sTime_1).__tv__Ul_1=((unsigned long int )0)));
-}
-static inline void ___constructor__F_5sTimeZ__1(struct Time *__time__5sTime_1, long int __anonymous_object1268){
-    ((void)((*__time__5sTime_1).__tv__Ul_1) /* ?{} */);
-    ((void)((*__time__5sTime_1).__tv__Ul_1=((unsigned long int )0)));
-}
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d09sDuration__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object1269), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object1270), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object1271, _Bool __anonymous_object1272), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object1273), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object1274, const char *__anonymous_object1275), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object1276), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object1277, _Bool __anonymous_object1278), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object1279), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object1280), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object1281), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object1282), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object1283), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object1284, const char *__anonymous_object1285), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object1286), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object1287, const char *__anonymous_object1288), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object1289), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object1290), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object1291, const char *__anonymous_object1292, unsigned long int __anonymous_object1293), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object1294, const char *__fmt__PCc_1, ...), void *__os__7tostype_1, struct Duration __dur__9sDuration_1);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d05sTime__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object1295), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object1296), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object1297, _Bool __anonymous_object1298), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object1299), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object1300, const char *__anonymous_object1301), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object1302), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object1303, _Bool __anonymous_object1304), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object1305), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object1306), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object1307), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object1308), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object1309), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object1310, const char *__anonymous_object1311), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object1312), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object1313, const char *__anonymous_object1314), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object1315), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object1316), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object1317, const char *__anonymous_object1318, unsigned long int __anonymous_object1319), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object1320, const char *__fmt__PCc_1, ...), void *__os__7tostype_1, struct Time __time__5sTime_1);
-enum __anonymous0 {
-    __sepSize__C13e__anonymous0_1 = 16,
-};
-struct ofstream {
-    void *__file__Pv_1;
-    _Bool __sepDefault__b_1;
-    _Bool __sepOnOff__b_1;
-    _Bool __sawNL__b_1;
-    const char *__sepCur__PCc_1;
-    char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)];
-    char __tupleSeparator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)];
-};
-static inline void ___constructor__F_9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1);
-static inline void ___constructor__F_9sofstream9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1, struct ofstream ___src__9sofstream_1);
-static inline void ___destructor__F_9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1);
-static inline struct ofstream ___operator_assign__F9sofstream_9sofstream9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1, struct ofstream ___src__9sofstream_1);
-static inline void ___constructor__F_9sofstreamPv_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1);
-static inline void ___constructor__F_9sofstreamPvb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1);
-static inline void ___constructor__F_9sofstreamPvbb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1);
-static inline void ___constructor__F_9sofstreamPvbbb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1);
-static inline void ___constructor__F_9sofstreamPvbbbPCc_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1);
-static inline void ___constructor__F_9sofstreamPvbbbPCcA0c_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)]);
-static inline void ___constructor__F_9sofstreamPvbbbPCcA0cA0c_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)], char __tupleSeparator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)]);
-static inline void ___constructor__F_9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index0 = 0;
-        for (;(_index0<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index0))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index0)]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index1 = 0;
-        for (;(_index1<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index1))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index1)]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstream9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1, struct ofstream ___src__9sofstream_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=___src__9sofstream_1.__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=___src__9sofstream_1.__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=___src__9sofstream_1.__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=___src__9sofstream_1.__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=___src__9sofstream_1.__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index2 = 0;
-        for (;(_index2<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index2))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index2)]=___src__9sofstream_1.__separator__A0c_1[((signed long int )_index2)]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index3 = 0;
-        for (;(_index3<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index3))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index3)]=___src__9sofstream_1.__tupleSeparator__A0c_1[((signed long int )_index3)]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___destructor__F_9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1){
-    {
-        signed int _index4 = (((signed int )__sepSize__C13e__anonymous0_1)-1);
-        for (;(_index4>=0);((void)(--_index4))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index4)]) /* ^?{} */);
-        }
-
-    }
-
-    {
-        signed int _index5 = (((signed int )__sepSize__C13e__anonymous0_1)-1);
-        for (;(_index5>=0);((void)(--_index5))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index5)]) /* ^?{} */);
-        }
-
-    }
-
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ^?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ^?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1) /* ^?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1) /* ^?{} */);
-    ((void)((*___dst__9sofstream_1).__file__Pv_1) /* ^?{} */);
-}
-static inline struct ofstream ___operator_assign__F9sofstream_9sofstream9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1, struct ofstream ___src__9sofstream_1){
-    struct ofstream ___ret__9sofstream_1;
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=___src__9sofstream_1.__file__Pv_1));
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=___src__9sofstream_1.__sepDefault__b_1));
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=___src__9sofstream_1.__sepOnOff__b_1));
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=___src__9sofstream_1.__sawNL__b_1));
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=___src__9sofstream_1.__sepCur__PCc_1));
-    {
-        signed int _index6 = 0;
-        for (;(_index6<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index6))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index6)]=___src__9sofstream_1.__separator__A0c_1[((signed long int )_index6)]));
-        }
-
-    }
-
-    {
-        signed int _index7 = 0;
-        for (;(_index7<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index7))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index7)]=___src__9sofstream_1.__tupleSeparator__A0c_1[((signed long int )_index7)]));
-        }
-
-    }
-
-    ((void)___constructor__F_9sofstream9sofstream_autogen___1((&___ret__9sofstream_1), (*___dst__9sofstream_1)));
-    return ___ret__9sofstream_1;
-}
-static inline void ___constructor__F_9sofstreamPv_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index8 = 0;
-        for (;(_index8<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index8))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index8)]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index9 = 0;
-        for (;(_index9<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index9))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index9)]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index10 = 0;
-        for (;(_index10<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index10))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index10)]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index11 = 0;
-        for (;(_index11<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index11))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index11)]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index12 = 0;
-        for (;(_index12<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index12))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index12)]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index13 = 0;
-        for (;(_index13<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index13))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index13)]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbbb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index14 = 0;
-        for (;(_index14<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index14))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index14)]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index15 = 0;
-        for (;(_index15<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index15))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index15)]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbbbPCc_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index16 = 0;
-        for (;(_index16<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index16))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index16)]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index17 = 0;
-        for (;(_index17<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index17))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index17)]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbbbPCcA0c_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)]){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index18 = 0;
-        for (;(_index18<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index18))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index18)]=__separator__A0c_1[((signed long int )_index18)]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index19 = 0;
-        for (;(_index19<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index19))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index19)]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbbbPCcA0cA0c_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)], char __tupleSeparator__A0c_1[((unsigned long int )__sepSize__C13e__anonymous0_1)]){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index20 = 0;
-        for (;(_index20<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index20))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[((signed long int )_index20)]=__separator__A0c_1[((signed long int )_index20)]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index21 = 0;
-        for (;(_index21<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index21))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[((signed long int )_index21)]=__tupleSeparator__A0c_1[((signed long int )_index21)]) /* ?{} */);
-        }
-
-    }
-
-}
-_Bool __sepPrt__Fb_9sofstream__1(struct ofstream *__anonymous_object1321);
-void __sepReset__F_9sofstream__1(struct ofstream *__anonymous_object1322);
-void __sepReset__F_9sofstreamb__1(struct ofstream *__anonymous_object1323, _Bool __anonymous_object1324);
-const char *__sepGetCur__FPCc_9sofstream__1(struct ofstream *__anonymous_object1325);
-void __sepSetCur__F_9sofstreamPCc__1(struct ofstream *__anonymous_object1326, const char *__anonymous_object1327);
-_Bool __getNL__Fb_9sofstream__1(struct ofstream *__anonymous_object1328);
-void __setNL__F_9sofstreamb__1(struct ofstream *__anonymous_object1329, _Bool __anonymous_object1330);
-void __sepOn__F_9sofstream__1(struct ofstream *__anonymous_object1331);
-void __sepOff__F_9sofstream__1(struct ofstream *__anonymous_object1332);
-_Bool __sepDisable__Fb_9sofstream__1(struct ofstream *__anonymous_object1333);
-_Bool __sepEnable__Fb_9sofstream__1(struct ofstream *__anonymous_object1334);
-const char *__sepGet__FPCc_9sofstream__1(struct ofstream *__anonymous_object1335);
-void __sepSet__F_9sofstreamPCc__1(struct ofstream *__anonymous_object1336, const char *__anonymous_object1337);
-const char *__sepGetTuple__FPCc_9sofstream__1(struct ofstream *__anonymous_object1338);
-void __sepSetTuple__F_9sofstreamPCc__1(struct ofstream *__anonymous_object1339, const char *__anonymous_object1340);
-signed int __fail__Fi_9sofstream__1(struct ofstream *__anonymous_object1341);
-signed int __flush__Fi_9sofstream__1(struct ofstream *__anonymous_object1342);
-void __open__F_9sofstreamPCcPCc__1(struct ofstream *__anonymous_object1343, const char *__name__PCc_1, const char *__mode__PCc_1);
-void __open__F_9sofstreamPCc__1(struct ofstream *__anonymous_object1344, const char *__name__PCc_1);
-void __close__F_9sofstream__1(struct ofstream *__anonymous_object1345);
-struct ofstream *__write__F9sofstream_9sofstreamPCcUl__1(struct ofstream *__anonymous_object1346, const char *__data__PCc_1, unsigned long int __size__Ul_1);
-signed int __fmt__Fi_9sofstreamPCc__1(struct ofstream *__anonymous_object1347, const char *__fmt__PCc_1, ...);
-void ___constructor__F_9sofstream__1(struct ofstream *__os__9sofstream_1);
-void ___constructor__F_9sofstreamPCcPCc__1(struct ofstream *__os__9sofstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
-void ___constructor__F_9sofstreamPCc__1(struct ofstream *__os__9sofstream_1, const char *__name__PCc_1);
-extern struct ofstream *__sout__9sofstream_1;
-extern struct ofstream *__serr__9sofstream_1;
-struct ifstream {
-    void *__file__Pv_1;
-};
-static inline void ___constructor__F_9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1);
-static inline void ___constructor__F_9sifstream9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1, struct ifstream ___src__9sifstream_1);
-static inline void ___destructor__F_9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1);
-static inline struct ifstream ___operator_assign__F9sifstream_9sifstream9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1, struct ifstream ___src__9sifstream_1);
-static inline void ___constructor__F_9sifstreamPv_autogen___1(struct ifstream *___dst__9sifstream_1, void *__file__Pv_1);
-static inline void ___constructor__F_9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1){
-    ((void)((*___dst__9sifstream_1).__file__Pv_1) /* ?{} */);
-}
-static inline void ___constructor__F_9sifstream9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1, struct ifstream ___src__9sifstream_1){
-    ((void)((*___dst__9sifstream_1).__file__Pv_1=___src__9sifstream_1.__file__Pv_1) /* ?{} */);
-}
-static inline void ___destructor__F_9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1){
-    ((void)((*___dst__9sifstream_1).__file__Pv_1) /* ^?{} */);
-}
-static inline struct ifstream ___operator_assign__F9sifstream_9sifstream9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1, struct ifstream ___src__9sifstream_1){
-    struct ifstream ___ret__9sifstream_1;
-    ((void)((*___dst__9sifstream_1).__file__Pv_1=___src__9sifstream_1.__file__Pv_1));
-    ((void)___constructor__F_9sifstream9sifstream_autogen___1((&___ret__9sifstream_1), (*___dst__9sifstream_1)));
-    return ___ret__9sifstream_1;
-}
-static inline void ___constructor__F_9sifstreamPv_autogen___1(struct ifstream *___dst__9sifstream_1, void *__file__Pv_1){
-    ((void)((*___dst__9sifstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-}
-signed int __fail__Fi_9sifstream__1(struct ifstream *__is__9sifstream_1);
-signed int __eof__Fi_9sifstream__1(struct ifstream *__is__9sifstream_1);
-void __open__F_9sifstreamPCcPCc__1(struct ifstream *__is__9sifstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
-void __open__F_9sifstreamPCc__1(struct ifstream *__is__9sifstream_1, const char *__name__PCc_1);
-void __close__F_9sifstream__1(struct ifstream *__is__9sifstream_1);
-struct ifstream *__read__F9sifstream_9sifstreamPcUl__1(struct ifstream *__is__9sifstream_1, char *__data__Pc_1, unsigned long int __size__Ul_1);
-struct ifstream *__ungetc__F9sifstream_9sifstreamc__1(struct ifstream *__is__9sifstream_1, char __c__c_1);
-signed int __fmt__Fi_9sifstreamPCc__1(struct ifstream *__anonymous_object1348, const char *__fmt__PCc_1, ...);
-void ___constructor__F_9sifstream__1(struct ifstream *__is__9sifstream_1);
-void ___constructor__F_9sifstreamPCcPCc__1(struct ifstream *__is__9sifstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
-void ___constructor__F_9sifstreamPCc__1(struct ifstream *__is__9sifstream_1, const char *__name__PCc_1);
-extern struct ifstream *__sin__9sifstream_1;
-void __f__F_c__1(char __v__c_1){
-    struct ofstream *_tmp_cp_ret2;
-    struct ofstream *_tmp_cp_ret3;
-    struct ofstream *_tmp_cp_ret4;
-    __attribute__ ((unused)) struct ofstream *_thunk0(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1349))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1350))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1351, _Bool __anonymous_object1352))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1353))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1354, const char *__anonymous_object1355))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1356))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1357, _Bool __anonymous_object1358))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1359))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1360))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1361))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1362))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1363))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1364, const char *__anonymous_object1365))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1366))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1367, const char *__anonymous_object1368))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1369))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1370))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1371, const char *__anonymous_object1372, unsigned long int __anonymous_object1373))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1374, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret4=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1375))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1376))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1377, _Bool __anonymous_object1378))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1379))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1380, const char *__anonymous_object1381))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1382))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1383, _Bool __anonymous_object1384))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1385))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1386))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1387))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1388))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1389))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1390, const char *__anonymous_object1391))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1392))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1393, const char *__anonymous_object1394))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1395))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1396))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1397, const char *__anonymous_object1398, unsigned long int __anonymous_object1399))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1400, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret3=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0c__1(((_Bool (*)(void *__anonymous_object1401))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1402))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1403, _Bool __anonymous_object1404))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1405))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1406, const char *__anonymous_object1407))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1408))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1409, _Bool __anonymous_object1410))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1411))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1412))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1413))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1414))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1415))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1416, const char *__anonymous_object1417))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1418))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1419, const char *__anonymous_object1420))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1421))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1422))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1423, const char *__anonymous_object1424, unsigned long int __anonymous_object1425))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1426, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret2=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1427))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1428))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1429, _Bool __anonymous_object1430))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1431))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1432, const char *__anonymous_object1433))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1434))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1435, _Bool __anonymous_object1436))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1437))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1438))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1439))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1440))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1441))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1442, const char *__anonymous_object1443))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1444))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1445, const char *__anonymous_object1446))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1447))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1448))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1449, const char *__anonymous_object1450, unsigned long int __anonymous_object1451))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1452, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "char "))) , _tmp_cp_ret2)), __v__c_1))) , _tmp_cp_ret3)), ((void *(*)(void *__anonymous_object1453))(&_thunk0))))) , _tmp_cp_ret4));
-}
-void __f__F_Sc__1(signed char __v__Sc_1){
-    struct ofstream *_tmp_cp_ret5;
-    struct ofstream *_tmp_cp_ret6;
-    struct ofstream *_tmp_cp_ret7;
-    __attribute__ ((unused)) struct ofstream *_thunk1(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1454))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1455))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1456, _Bool __anonymous_object1457))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1458))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1459, const char *__anonymous_object1460))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1461))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1462, _Bool __anonymous_object1463))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1464))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1465))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1466))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1467))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1468))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1469, const char *__anonymous_object1470))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1471))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1472, const char *__anonymous_object1473))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1474))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1475))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1476, const char *__anonymous_object1477, unsigned long int __anonymous_object1478))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1479, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret7=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1480))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1481))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1482, _Bool __anonymous_object1483))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1484))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1485, const char *__anonymous_object1486))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1487))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1488, _Bool __anonymous_object1489))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1490))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1491))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1492))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1493))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1494))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1495, const char *__anonymous_object1496))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1497))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1498, const char *__anonymous_object1499))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1500))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1501))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1502, const char *__anonymous_object1503, unsigned long int __anonymous_object1504))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1505, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret6=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Sc__1(((_Bool (*)(void *__anonymous_object1506))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1507))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1508, _Bool __anonymous_object1509))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1510))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1511, const char *__anonymous_object1512))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1513))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1514, _Bool __anonymous_object1515))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1516))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1517))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1518))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1519))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1520))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1521, const char *__anonymous_object1522))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1523))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1524, const char *__anonymous_object1525))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1526))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1527))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1528, const char *__anonymous_object1529, unsigned long int __anonymous_object1530))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1531, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret5=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1532))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1533))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1534, _Bool __anonymous_object1535))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1536))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1537, const char *__anonymous_object1538))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1539))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1540, _Bool __anonymous_object1541))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1542))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1543))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1544))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1545))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1546))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1547, const char *__anonymous_object1548))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1549))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1550, const char *__anonymous_object1551))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1552))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1553))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1554, const char *__anonymous_object1555, unsigned long int __anonymous_object1556))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1557, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "signed char "))) , _tmp_cp_ret5)), __v__Sc_1))) , _tmp_cp_ret6)), ((void *(*)(void *__anonymous_object1558))(&_thunk1))))) , _tmp_cp_ret7));
-}
-void __f__F_Uc__1(unsigned char __v__Uc_1){
-    struct ofstream *_tmp_cp_ret8;
-    struct ofstream *_tmp_cp_ret9;
-    struct ofstream *_tmp_cp_ret10;
-    __attribute__ ((unused)) struct ofstream *_thunk2(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1559))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1560))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1561, _Bool __anonymous_object1562))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1563))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1564, const char *__anonymous_object1565))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1566))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1567, _Bool __anonymous_object1568))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1569))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1570))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1571))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1572))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1573))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1574, const char *__anonymous_object1575))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1576))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1577, const char *__anonymous_object1578))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1579))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1580))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1581, const char *__anonymous_object1582, unsigned long int __anonymous_object1583))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1584, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret10=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1585))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1586))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1587, _Bool __anonymous_object1588))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1589))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1590, const char *__anonymous_object1591))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1592))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1593, _Bool __anonymous_object1594))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1595))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1596))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1597))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1598))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1599))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1600, const char *__anonymous_object1601))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1602))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1603, const char *__anonymous_object1604))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1605))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1606))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1607, const char *__anonymous_object1608, unsigned long int __anonymous_object1609))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1610, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret9=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Uc__1(((_Bool (*)(void *__anonymous_object1611))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1612))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1613, _Bool __anonymous_object1614))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1615))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1616, const char *__anonymous_object1617))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1618))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1619, _Bool __anonymous_object1620))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1621))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1622))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1623))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1624))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1625))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1626, const char *__anonymous_object1627))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1628))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1629, const char *__anonymous_object1630))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1631))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1632))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1633, const char *__anonymous_object1634, unsigned long int __anonymous_object1635))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1636, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret8=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1637))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1638))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1639, _Bool __anonymous_object1640))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1641))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1642, const char *__anonymous_object1643))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1644))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1645, _Bool __anonymous_object1646))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1647))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1648))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1649))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1650))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1651))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1652, const char *__anonymous_object1653))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1654))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1655, const char *__anonymous_object1656))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1657))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1658))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1659, const char *__anonymous_object1660, unsigned long int __anonymous_object1661))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1662, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "unsigned char "))) , _tmp_cp_ret8)), __v__Uc_1))) , _tmp_cp_ret9)), ((void *(*)(void *__anonymous_object1663))(&_thunk2))))) , _tmp_cp_ret10));
-}
-void __f__F_s__1(signed short int __v__s_1){
-    struct ofstream *_tmp_cp_ret11;
-    struct ofstream *_tmp_cp_ret12;
-    struct ofstream *_tmp_cp_ret13;
-    __attribute__ ((unused)) struct ofstream *_thunk3(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1664))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1665))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1666, _Bool __anonymous_object1667))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1668))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1669, const char *__anonymous_object1670))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1671))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1672, _Bool __anonymous_object1673))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1674))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1675))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1676))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1677))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1678))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1679, const char *__anonymous_object1680))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1681))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1682, const char *__anonymous_object1683))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1684))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1685))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1686, const char *__anonymous_object1687, unsigned long int __anonymous_object1688))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1689, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret13=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1690))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1691))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1692, _Bool __anonymous_object1693))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1694))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1695, const char *__anonymous_object1696))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1697))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1698, _Bool __anonymous_object1699))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1700))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1701))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1702))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1703))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1704))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1705, const char *__anonymous_object1706))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1707))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1708, const char *__anonymous_object1709))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1710))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1711))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1712, const char *__anonymous_object1713, unsigned long int __anonymous_object1714))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1715, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret12=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0s__1(((_Bool (*)(void *__anonymous_object1716))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1717))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1718, _Bool __anonymous_object1719))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1720))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1721, const char *__anonymous_object1722))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1723))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1724, _Bool __anonymous_object1725))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1726))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1727))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1728))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1729))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1730))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1731, const char *__anonymous_object1732))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1733))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1734, const char *__anonymous_object1735))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1736))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1737))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1738, const char *__anonymous_object1739, unsigned long int __anonymous_object1740))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1741, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret11=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1742))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1743))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1744, _Bool __anonymous_object1745))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1746))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1747, const char *__anonymous_object1748))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1749))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1750, _Bool __anonymous_object1751))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1752))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1753))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1754))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1755))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1756))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1757, const char *__anonymous_object1758))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1759))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1760, const char *__anonymous_object1761))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1762))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1763))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1764, const char *__anonymous_object1765, unsigned long int __anonymous_object1766))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1767, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "signed short int"))) , _tmp_cp_ret11)), __v__s_1))) , _tmp_cp_ret12)), ((void *(*)(void *__anonymous_object1768))(&_thunk3))))) , _tmp_cp_ret13));
-}
-void __f__F_Us__1(unsigned short int __v__Us_1){
-    struct ofstream *_tmp_cp_ret14;
-    struct ofstream *_tmp_cp_ret15;
-    struct ofstream *_tmp_cp_ret16;
-    __attribute__ ((unused)) struct ofstream *_thunk4(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1769))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1770))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1771, _Bool __anonymous_object1772))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1773))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1774, const char *__anonymous_object1775))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1776))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1777, _Bool __anonymous_object1778))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1779))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1780))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1781))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1782))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1783))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1784, const char *__anonymous_object1785))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1786))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1787, const char *__anonymous_object1788))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1789))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1790))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1791, const char *__anonymous_object1792, unsigned long int __anonymous_object1793))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1794, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret16=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1795))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1796))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1797, _Bool __anonymous_object1798))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1799))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1800, const char *__anonymous_object1801))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1802))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1803, _Bool __anonymous_object1804))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1805))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1806))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1807))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1808))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1809))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1810, const char *__anonymous_object1811))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1812))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1813, const char *__anonymous_object1814))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1815))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1816))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1817, const char *__anonymous_object1818, unsigned long int __anonymous_object1819))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1820, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret15=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Us__1(((_Bool (*)(void *__anonymous_object1821))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1822))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1823, _Bool __anonymous_object1824))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1825))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1826, const char *__anonymous_object1827))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1828))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1829, _Bool __anonymous_object1830))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1831))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1832))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1833))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1834))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1835))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1836, const char *__anonymous_object1837))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1838))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1839, const char *__anonymous_object1840))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1841))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1842))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1843, const char *__anonymous_object1844, unsigned long int __anonymous_object1845))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1846, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret14=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1847))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1848))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1849, _Bool __anonymous_object1850))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1851))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1852, const char *__anonymous_object1853))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1854))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1855, _Bool __anonymous_object1856))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1857))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1858))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1859))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1860))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1861))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1862, const char *__anonymous_object1863))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1864))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1865, const char *__anonymous_object1866))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1867))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1868))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1869, const char *__anonymous_object1870, unsigned long int __anonymous_object1871))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1872, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "unsigned short int"))) , _tmp_cp_ret14)), __v__Us_1))) , _tmp_cp_ret15)), ((void *(*)(void *__anonymous_object1873))(&_thunk4))))) , _tmp_cp_ret16));
-}
-void __f__F_Ul__1(unsigned long int __v__Ul_1){
-    struct ofstream *_tmp_cp_ret17;
-    struct ofstream *_tmp_cp_ret18;
-    struct ofstream *_tmp_cp_ret19;
-    __attribute__ ((unused)) struct ofstream *_thunk5(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1874))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1875))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1876, _Bool __anonymous_object1877))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1878))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1879, const char *__anonymous_object1880))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1881))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1882, _Bool __anonymous_object1883))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1884))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1885))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1886))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1887))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1888))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1889, const char *__anonymous_object1890))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1891))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1892, const char *__anonymous_object1893))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1894))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1895))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1896, const char *__anonymous_object1897, unsigned long int __anonymous_object1898))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1899, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret19=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1900))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1901))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1902, _Bool __anonymous_object1903))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1904))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1905, const char *__anonymous_object1906))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1907))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1908, _Bool __anonymous_object1909))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1910))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1911))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1912))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1913))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1914))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1915, const char *__anonymous_object1916))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1917))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1918, const char *__anonymous_object1919))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1920))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1921))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1922, const char *__anonymous_object1923, unsigned long int __anonymous_object1924))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1925, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret18=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Ul__1(((_Bool (*)(void *__anonymous_object1926))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1927))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1928, _Bool __anonymous_object1929))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1930))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1931, const char *__anonymous_object1932))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1933))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1934, _Bool __anonymous_object1935))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1936))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1937))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1938))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1939))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1940))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1941, const char *__anonymous_object1942))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1943))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1944, const char *__anonymous_object1945))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1946))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1947))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1948, const char *__anonymous_object1949, unsigned long int __anonymous_object1950))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1951, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret17=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1952))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1953))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1954, _Bool __anonymous_object1955))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1956))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1957, const char *__anonymous_object1958))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1959))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1960, _Bool __anonymous_object1961))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1962))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1963))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1964))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1965))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1966))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1967, const char *__anonymous_object1968))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1969))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1970, const char *__anonymous_object1971))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1972))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1973))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1974, const char *__anonymous_object1975, unsigned long int __anonymous_object1976))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1977, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "size_t"))) , _tmp_cp_ret17)), __v__Ul_1))) , _tmp_cp_ret18)), ((void *(*)(void *__anonymous_object1978))(&_thunk5))))) , _tmp_cp_ret19));
-}
-signed int __main__Fi___1(){
-    __attribute__ ((unused)) signed int ___retval_main__i_1;
-    ((void)0b01101011);
-    ((void)0b01101011u);
-    ((void)0b01101011l);
-    ((void)0b01101011ll);
-    ((void)0b01101011ul);
-    ((void)0b01101011lu);
-    ((void)0b01101011ull);
-    ((void)0b01101011llu);
-    ((void)(+0b01101011));
-    ((void)(+0b01101011u));
-    ((void)(+0b01101011l));
-    ((void)(+0b01101011ll));
-    ((void)(+0b01101011ul));
-    ((void)(+0b01101011lu));
-    ((void)(+0b01101011ull));
-    ((void)(+0b01101011llu));
-    ((void)(-0b01101011));
-    ((void)(-0b01101011u));
-    ((void)(-0b01101011l));
-    ((void)(-0b01101011ll));
-    ((void)(-0b01101011ul));
-    ((void)(-0b01101011lu));
-    ((void)(-0b01101011ull));
-    ((void)(-0b01101011llu));
-    ((void)01234567);
-    ((void)01234567u);
-    ((void)01234567l);
-    ((void)01234567ll);
-    ((void)01234567ul);
-    ((void)01234567lu);
-    ((void)01234567ull);
-    ((void)01234567llu);
-    ((void)(+01234567));
-    ((void)(+01234567u));
-    ((void)(+01234567l));
-    ((void)(+01234567ll));
-    ((void)(+01234567ul));
-    ((void)(+01234567lu));
-    ((void)(+01234567ull));
-    ((void)(+01234567llu));
-    ((void)(-01234567));
-    ((void)(-01234567u));
-    ((void)(-01234567l));
-    ((void)(-01234567ll));
-    ((void)(-01234567ul));
-    ((void)(-01234567lu));
-    ((void)(-01234567ull));
-    ((void)(-01234567llu));
-    ((void)1234567890);
-    ((void)1234567890u);
-    ((void)1234567890l);
-    ((void)1234567890ll);
-    ((void)1234567890ul);
-    ((void)1234567890lu);
-    ((void)1234567890ull);
-    ((void)1234567890llu);
-    ((void)(+1234567890));
-    ((void)(+1234567890u));
-    ((void)(+1234567890l));
-    ((void)(+1234567890ll));
-    ((void)(+1234567890ul));
-    ((void)(+1234567890lu));
-    ((void)(+1234567890ull));
-    ((void)(+1234567890llu));
-    ((void)(-1234567890));
-    ((void)(-1234567890u));
-    ((void)(-1234567890l));
-    ((void)(-1234567890ll));
-    ((void)(-1234567890ul));
-    ((void)(-1234567890lu));
-    ((void)(-1234567890ull));
-    ((void)(-1234567890llu));
-    ((void)0x0123456789abcdef);
-    ((void)0x0123456789abcdefu);
-    ((void)0x0123456789abcdefl);
-    ((void)0x0123456789abcdefll);
-    ((void)0x0123456789abcdeful);
-    ((void)0x0123456789abcdeflu);
-    ((void)0x0123456789abcdefull);
-    ((void)0x0123456789abcdefllu);
-    ((void)(+0x0123456789abcdef));
-    ((void)(+0x0123456789abcdefu));
-    ((void)(+0x0123456789abcdefl));
-    ((void)(+0x0123456789abcdefll));
-    ((void)(+0x0123456789abcdeful));
-    ((void)(+0x0123456789abcdeflu));
-    ((void)(+0x0123456789abcdefull));
-    ((void)(+0x0123456789abcdefllu));
-    ((void)(-0x0123456789abcdef));
-    ((void)(-0x0123456789abcdefu));
-    ((void)(-0x0123456789abcdefl));
-    ((void)(-0x0123456789abcdefll));
-    ((void)(-0x0123456789abcdeful));
-    ((void)(-0x0123456789abcdeflu));
-    ((void)(-0x0123456789abcdefull));
-    ((void)(-0x0123456789abcdefllu));
-    ((void)0x0123456789ABCDEF);
-    ((void)0x0123456789ABCDEFu);
-    ((void)0x0123456789ABCDEFl);
-    ((void)0x0123456789ABCDEFll);
-    ((void)0x0123456789ABCDEFul);
-    ((void)0x0123456789ABCDEFlu);
-    ((void)0x0123456789ABCDEFull);
-    ((void)0x0123456789ABCDEFllu);
-    ((void)(+0x0123456789ABCDEF));
-    ((void)(+0x0123456789ABCDEFu));
-    ((void)(+0x0123456789ABCDEFl));
-    ((void)(+0x0123456789ABCDEFll));
-    ((void)(+0x0123456789ABCDEFul));
-    ((void)(+0x0123456789ABCDEFlu));
-    ((void)(+0x0123456789ABCDEFull));
-    ((void)(+0x0123456789ABCDEFllu));
-    ((void)(-0x0123456789ABCDEF));
-    ((void)(-0x0123456789ABCDEFu));
-    ((void)(-0x0123456789ABCDEFl));
-    ((void)(-0x0123456789ABCDEFll));
-    ((void)(-0x0123456789ABCDEFul));
-    ((void)(-0x0123456789ABCDEFlu));
-    ((void)(-0x0123456789ABCDEFull));
-    ((void)(-0x0123456789ABCDEFllu));
-    ((void)0X0123456789abcdef);
-    ((void)0X0123456789abcdefu);
-    ((void)0X0123456789abcdefl);
-    ((void)0X0123456789abcdefll);
-    ((void)0X0123456789abcdeful);
-    ((void)0X0123456789abcdeflu);
-    ((void)0X0123456789abcdefull);
-    ((void)0X0123456789abcdefllu);
-    ((void)(+0X0123456789abcdef));
-    ((void)(+0X0123456789abcdefu));
-    ((void)(+0X0123456789abcdefl));
-    ((void)(+0X0123456789abcdefll));
-    ((void)(+0X0123456789abcdeful));
-    ((void)(+0X0123456789abcdeflu));
-    ((void)(+0X0123456789abcdefull));
-    ((void)(+0X0123456789abcdefllu));
-    ((void)(-0X0123456789abcdef));
-    ((void)(-0X0123456789abcdefu));
-    ((void)(-0X0123456789abcdefl));
-    ((void)(-0X0123456789abcdefll));
-    ((void)(-0X0123456789abcdeful));
-    ((void)(-0X0123456789abcdeflu));
-    ((void)(-0X0123456789abcdefull));
-    ((void)(-0X0123456789abcdefllu));
-    ((void)0X0123456789ABCDEF);
-    ((void)0X0123456789ABCDEFu);
-    ((void)0X0123456789ABCDEFl);
-    ((void)0X0123456789ABCDEFll);
-    ((void)0X0123456789ABCDEFul);
-    ((void)0X0123456789ABCDEFlu);
-    ((void)0X0123456789ABCDEFull);
-    ((void)0X0123456789ABCDEFllu);
-    ((void)(+0X0123456789ABCDEF));
-    ((void)(+0X0123456789ABCDEFu));
-    ((void)(+0X0123456789ABCDEFl));
-    ((void)(+0X0123456789ABCDEFll));
-    ((void)(+0X0123456789ABCDEFul));
-    ((void)(+0X0123456789ABCDEFlu));
-    ((void)(+0X0123456789ABCDEFull));
-    ((void)(+0X0123456789ABCDEFllu));
-    ((void)(-0X0123456789ABCDEF));
-    ((void)(-0X0123456789ABCDEFu));
-    ((void)(-0X0123456789ABCDEFl));
-    ((void)(-0X0123456789ABCDEFll));
-    ((void)(-0X0123456789ABCDEFul));
-    ((void)(-0X0123456789ABCDEFlu));
-    ((void)(-0X0123456789ABCDEFull));
-    ((void)(-0X0123456789ABCDEFllu));
-    ((void)0123456789.);
-    ((void)0123456789.f);
-    ((void)0123456789.l);
-    ((void)0123456789.F);
-    ((void)0123456789.L);
-    ((void)0123456789.DL);
-    ((void)(+0123456789.));
-    ((void)(+0123456789.f));
-    ((void)(+0123456789.l));
-    ((void)(+0123456789.F));
-    ((void)(+0123456789.L));
-    ((void)(+0123456789.DL));
-    ((void)(-0123456789.));
-    ((void)(-0123456789.f));
-    ((void)(-0123456789.l));
-    ((void)(-0123456789.F));
-    ((void)(-0123456789.L));
-    ((void)(-0123456789.DL));
-    ((void)0123456789.e09);
-    ((void)0123456789.e09f);
-    ((void)0123456789.e09l);
-    ((void)0123456789.e09F);
-    ((void)0123456789.e09L);
-    ((void)0123456789.e09DL);
-    ((void)(+0123456789.e09));
-    ((void)(+0123456789.e09f));
-    ((void)(+0123456789.e09l));
-    ((void)(+0123456789.e09F));
-    ((void)(+0123456789.e09L));
-    ((void)(+0123456789.e09DL));
-    ((void)(-0123456789.e09));
-    ((void)(-0123456789.e09f));
-    ((void)(-0123456789.e09l));
-    ((void)(-0123456789.e09F));
-    ((void)(-0123456789.e09L));
-    ((void)(-0123456789.e09DL));
-    ((void)0123456789.e+09);
-    ((void)0123456789.e+09f);
-    ((void)0123456789.e+09l);
-    ((void)0123456789.e+09F);
-    ((void)0123456789.e+09L);
-    ((void)0123456789.e+09DL);
-    ((void)(+0123456789.e+09));
-    ((void)(+0123456789.e+09f));
-    ((void)(+0123456789.e+09l));
-    ((void)(+0123456789.e+09F));
-    ((void)(+0123456789.e+09L));
-    ((void)(+0123456789.e+09DL));
-    ((void)(-0123456789.e+09));
-    ((void)(-0123456789.e+09f));
-    ((void)(-0123456789.e+09l));
-    ((void)(-0123456789.e+09F));
-    ((void)(-0123456789.e+09L));
-    ((void)(-0123456789.e+09DL));
-    ((void)0123456789.e-09);
-    ((void)0123456789.e-09f);
-    ((void)0123456789.e-09l);
-    ((void)0123456789.e-09F);
-    ((void)0123456789.e-09L);
-    ((void)0123456789.e-09DL);
-    ((void)(+0123456789.e-09));
-    ((void)(+0123456789.e-09f));
-    ((void)(+0123456789.e-09l));
-    ((void)(+0123456789.e-09F));
-    ((void)(+0123456789.e-09L));
-    ((void)(+0123456789.e-09DL));
-    ((void)(-0123456789.e-09));
-    ((void)(-0123456789.e-09f));
-    ((void)(-0123456789.e-09l));
-    ((void)(-0123456789.e-09F));
-    ((void)(-0123456789.e-09L));
-    ((void)(-0123456789.e-09DL));
-    ((void).0123456789);
-    ((void).0123456789f);
-    ((void).0123456789l);
-    ((void).0123456789F);
-    ((void).0123456789L);
-    ((void).0123456789DL);
-    ((void)(+.0123456789));
-    ((void)(+.0123456789f));
-    ((void)(+.0123456789l));
-    ((void)(+.0123456789F));
-    ((void)(+.0123456789L));
-    ((void)(+.0123456789DL));
-    ((void)(-.0123456789));
-    ((void)(-.0123456789f));
-    ((void)(-.0123456789l));
-    ((void)(-.0123456789F));
-    ((void)(-.0123456789L));
-    ((void)(-.0123456789DL));
-    ((void).0123456789e09);
-    ((void).0123456789e09f);
-    ((void).0123456789e09l);
-    ((void).0123456789e09F);
-    ((void).0123456789e09L);
-    ((void).0123456789e09DL);
-    ((void)(+.0123456789e09));
-    ((void)(+.0123456789e09f));
-    ((void)(+.0123456789e09l));
-    ((void)(+.0123456789e09F));
-    ((void)(+.0123456789e09L));
-    ((void)(+.0123456789e09DL));
-    ((void)(-.0123456789e09));
-    ((void)(-.0123456789e09f));
-    ((void)(-.0123456789e09l));
-    ((void)(-.0123456789e09F));
-    ((void)(-.0123456789e09L));
-    ((void)(-.0123456789e09DL));
-    ((void).0123456789E+09);
-    ((void).0123456789E+09f);
-    ((void).0123456789E+09l);
-    ((void).0123456789E+09F);
-    ((void).0123456789E+09L);
-    ((void).0123456789E+09DL);
-    ((void)(+.0123456789E+09));
-    ((void)(+.0123456789E+09f));
-    ((void)(+.0123456789E+09l));
-    ((void)(+.0123456789E+09F));
-    ((void)(+.0123456789E+09L));
-    ((void)(+.0123456789E+09DL));
-    ((void)(-.0123456789E+09));
-    ((void)(-.0123456789E+09f));
-    ((void)(-.0123456789E+09l));
-    ((void)(-.0123456789E+09F));
-    ((void)(-.0123456789E+09L));
-    ((void)(-.0123456789E+09DL));
-    ((void).0123456789E-09);
-    ((void).0123456789E-09f);
-    ((void).0123456789E-09l);
-    ((void).0123456789E-09F);
-    ((void).0123456789E-09L);
-    ((void).0123456789E-09DL);
-    ((void)(-.0123456789E-09));
-    ((void)(-.0123456789E-09f));
-    ((void)(-.0123456789E-09l));
-    ((void)(-.0123456789E-09F));
-    ((void)(-.0123456789E-09L));
-    ((void)(-.0123456789E-09DL));
-    ((void)(-.0123456789E-09));
-    ((void)(-.0123456789E-09f));
-    ((void)(-.0123456789E-09l));
-    ((void)(-.0123456789E-09F));
-    ((void)(-.0123456789E-09L));
-    ((void)(-.0123456789E-09DL));
-    ((void)0123456789.0123456789);
-    ((void)0123456789.0123456789f);
-    ((void)0123456789.0123456789l);
-    ((void)0123456789.0123456789F);
-    ((void)0123456789.0123456789L);
-    ((void)0123456789.0123456789DL);
-    ((void)(+0123456789.0123456789));
-    ((void)(+0123456789.0123456789f));
-    ((void)(+0123456789.0123456789l));
-    ((void)(+0123456789.0123456789F));
-    ((void)(+0123456789.0123456789L));
-    ((void)(+0123456789.0123456789DL));
-    ((void)(-0123456789.0123456789));
-    ((void)(-0123456789.0123456789f));
-    ((void)(-0123456789.0123456789l));
-    ((void)(-0123456789.0123456789F));
-    ((void)(-0123456789.0123456789L));
-    ((void)(-0123456789.0123456789DL));
-    ((void)0123456789.0123456789E09);
-    ((void)0123456789.0123456789E09f);
-    ((void)0123456789.0123456789E09l);
-    ((void)0123456789.0123456789E09F);
-    ((void)0123456789.0123456789E09L);
-    ((void)0123456789.0123456789E09DL);
-    ((void)(+0123456789.0123456789E09));
-    ((void)(+0123456789.0123456789E09f));
-    ((void)(+0123456789.0123456789E09l));
-    ((void)(+0123456789.0123456789E09F));
-    ((void)(+0123456789.0123456789E09L));
-    ((void)(+0123456789.0123456789E09DL));
-    ((void)(-0123456789.0123456789E09));
-    ((void)(-0123456789.0123456789E09f));
-    ((void)(-0123456789.0123456789E09l));
-    ((void)(-0123456789.0123456789E09F));
-    ((void)(-0123456789.0123456789E09L));
-    ((void)(-0123456789.0123456789E09DL));
-    ((void)0123456789.0123456789E+09);
-    ((void)0123456789.0123456789E+09f);
-    ((void)0123456789.0123456789E+09l);
-    ((void)0123456789.0123456789E+09F);
-    ((void)0123456789.0123456789E+09L);
-    ((void)0123456789.0123456789E+09DL);
-    ((void)(+0123456789.0123456789E+09));
-    ((void)(+0123456789.0123456789E+09f));
-    ((void)(+0123456789.0123456789E+09l));
-    ((void)(+0123456789.0123456789E+09F));
-    ((void)(+0123456789.0123456789E+09L));
-    ((void)(+0123456789.0123456789E+09DL));
-    ((void)(-0123456789.0123456789E+09));
-    ((void)(-0123456789.0123456789E+09f));
-    ((void)(-0123456789.0123456789E+09l));
-    ((void)(-0123456789.0123456789E+09F));
-    ((void)(-0123456789.0123456789E+09L));
-    ((void)(-0123456789.0123456789E+09DL));
-    ((void)0123456789.0123456789E-09);
-    ((void)0123456789.0123456789E-09f);
-    ((void)0123456789.0123456789E-09l);
-    ((void)0123456789.0123456789E-09F);
-    ((void)0123456789.0123456789E-09L);
-    ((void)0123456789.0123456789E-09DL);
-    ((void)(+0123456789.0123456789E-09));
-    ((void)(+0123456789.0123456789E-09f));
-    ((void)(+0123456789.0123456789E-09l));
-    ((void)(+0123456789.0123456789E-09F));
-    ((void)(+0123456789.0123456789E-09L));
-    ((void)(+0123456789.0123456789E-09DL));
-    ((void)(-0123456789.0123456789E-09));
-    ((void)(-0123456789.0123456789E-09f));
-    ((void)(-0123456789.0123456789E-09l));
-    ((void)(-0123456789.0123456789E-09F));
-    ((void)(-0123456789.0123456789E-09L));
-    ((void)(-0123456789.0123456789E-09DL));
-    ((void)0x0123456789.p09);
-    ((void)0x0123456789.p09f);
-    ((void)0x0123456789.p09l);
-    ((void)0x0123456789.p09F);
-    ((void)0x0123456789.p09L);
-    ((void)(+0x0123456789.p09));
-    ((void)(+0x0123456789.p09f));
-    ((void)(+0x0123456789.p09l));
-    ((void)(+0x0123456789.p09F));
-    ((void)(+0x0123456789.p09L));
-    ((void)(-0x0123456789.p09));
-    ((void)(-0x0123456789.p09f));
-    ((void)(-0x0123456789.p09l));
-    ((void)(-0x0123456789.p09F));
-    ((void)(-0x0123456789.p09L));
-    ((void)0x0123456789.p+09);
-    ((void)0x0123456789.p+09f);
-    ((void)0x0123456789.p+09l);
-    ((void)0x0123456789.p+09F);
-    ((void)0x0123456789.p+09L);
-    ((void)(+0x0123456789.p+09));
-    ((void)(+0x0123456789.p+09f));
-    ((void)(+0x0123456789.p+09l));
-    ((void)(+0x0123456789.p+09F));
-    ((void)(+0x0123456789.p+09L));
-    ((void)(-0x0123456789.p+09));
-    ((void)(-0x0123456789.p+09f));
-    ((void)(-0x0123456789.p+09l));
-    ((void)(-0x0123456789.p+09F));
-    ((void)(-0x0123456789.p+09L));
-    ((void)0x0123456789.p-09);
-    ((void)0x0123456789.p-09f);
-    ((void)0x0123456789.p-09l);
-    ((void)0x0123456789.p-09F);
-    ((void)0x0123456789.p-09L);
-    ((void)(+0x0123456789.p-09));
-    ((void)(+0x0123456789.p-09f));
-    ((void)(+0x0123456789.p-09l));
-    ((void)(+0x0123456789.p-09F));
-    ((void)(+0x0123456789.p-09L));
-    ((void)(-0x0123456789.p-09));
-    ((void)(-0x0123456789.p-09f));
-    ((void)(-0x0123456789.p-09l));
-    ((void)(-0x0123456789.p-09F));
-    ((void)(-0x0123456789.p-09L));
-    ((void)0x.0123456789p09);
-    ((void)0x.0123456789p09f);
-    ((void)0x.0123456789p09l);
-    ((void)0x.0123456789p09F);
-    ((void)0x.0123456789p09L);
-    ((void)(+0x.0123456789p09));
-    ((void)(+0x.0123456789p09f));
-    ((void)(+0x.0123456789p09l));
-    ((void)(+0x.0123456789p09F));
-    ((void)(+0x.0123456789p09L));
-    ((void)(-0x.0123456789p09));
-    ((void)(-0x.0123456789p09f));
-    ((void)(-0x.0123456789p09l));
-    ((void)(-0x.0123456789p09F));
-    ((void)(-0x.0123456789p09L));
-    ((void)0x.0123456789p+09);
-    ((void)0x.0123456789p+09f);
-    ((void)0x.0123456789p+09l);
-    ((void)0x.0123456789p+09F);
-    ((void)0x.0123456789p+09L);
-    ((void)(+0x.0123456789p+09));
-    ((void)(+0x.0123456789p+09f));
-    ((void)(+0x.0123456789p+09l));
-    ((void)(+0x.0123456789p+09F));
-    ((void)(+0x.0123456789p+09L));
-    ((void)(-0x.0123456789p+09));
-    ((void)(-0x.0123456789p+09f));
-    ((void)(-0x.0123456789p+09l));
-    ((void)(-0x.0123456789p+09F));
-    ((void)(-0x.0123456789p+09L));
-    ((void)0x.0123456789P-09);
-    ((void)0x.0123456789P-09f);
-    ((void)0x.0123456789P-09l);
-    ((void)0x.0123456789P-09F);
-    ((void)0x.0123456789P-09L);
-    ((void)(+0x.0123456789P-09));
-    ((void)(+0x.0123456789P-09f));
-    ((void)(+0x.0123456789P-09l));
-    ((void)(+0x.0123456789P-09F));
-    ((void)(+0x.0123456789P-09L));
-    ((void)(-0x.0123456789P-09));
-    ((void)(-0x.0123456789P-09f));
-    ((void)(-0x.0123456789P-09l));
-    ((void)(-0x.0123456789P-09F));
-    ((void)(-0x.0123456789P-09L));
-    ((void)0X0123456789.0123456789P09);
-    ((void)0X0123456789.0123456789P09f);
-    ((void)0X0123456789.0123456789P09l);
-    ((void)0X0123456789.0123456789P09F);
-    ((void)0X0123456789.0123456789P09L);
-    ((void)(+0X0123456789.0123456789P09));
-    ((void)(+0X0123456789.0123456789P09f));
-    ((void)(+0X0123456789.0123456789P09l));
-    ((void)(+0X0123456789.0123456789P09F));
-    ((void)(+0X0123456789.0123456789P09L));
-    ((void)(-0X0123456789.0123456789P09));
-    ((void)(-0X0123456789.0123456789P09f));
-    ((void)(-0X0123456789.0123456789P09l));
-    ((void)(-0X0123456789.0123456789P09F));
-    ((void)(-0X0123456789.0123456789P09L));
-    ((void)0X0123456789.0123456789P+09);
-    ((void)0X0123456789.0123456789P+09f);
-    ((void)0X0123456789.0123456789P+09l);
-    ((void)0X0123456789.0123456789P+09F);
-    ((void)0X0123456789.0123456789P+09L);
-    ((void)(+0X0123456789.0123456789P+09));
-    ((void)(+0X0123456789.0123456789P+09f));
-    ((void)(+0X0123456789.0123456789P+09l));
-    ((void)(+0X0123456789.0123456789P+09F));
-    ((void)(+0X0123456789.0123456789P+09L));
-    ((void)(-0X0123456789.0123456789P+09));
-    ((void)(-0X0123456789.0123456789P+09f));
-    ((void)(-0X0123456789.0123456789P+09l));
-    ((void)(-0X0123456789.0123456789P+09F));
-    ((void)(-0X0123456789.0123456789P+09L));
-    ((void)0X0123456789.0123456789P-09);
-    ((void)0X0123456789.0123456789P-09f);
-    ((void)0X0123456789.0123456789P-09l);
-    ((void)0X0123456789.0123456789P-09F);
-    ((void)0X0123456789.0123456789P-09L);
-    ((void)(+0X0123456789.0123456789P-09));
-    ((void)(+0X0123456789.0123456789P-09f));
-    ((void)(+0X0123456789.0123456789P-09l));
-    ((void)(+0X0123456789.0123456789P-09F));
-    ((void)(+0X0123456789.0123456789P-09L));
-    ((void)(-0X0123456789.0123456789P-09));
-    ((void)(-0X0123456789.0123456789P-09f));
-    ((void)(-0X0123456789.0123456789P-09l));
-    ((void)(-0X0123456789.0123456789P-09F));
-    ((void)(-0X0123456789.0123456789P-09L));
-    ((void)((signed char )0b01101011));
-    ((void)((signed short int )0b01101011));
-    ((void)((signed int )0b01101011));
-    ((void)((signed long int )0b01101011));
-    ((void)((__int128 )0b01101011));
-    ((void)((unsigned char )0b01101011u));
-    ((void)((signed short int )0b01101011u));
-    ((void)((unsigned int )0b01101011u));
-    ((void)((signed long int )0b01101011u));
-    ((void)((__int128 )0b01101011u));
-    ((void)(+((signed int )((signed char )0b01101011))));
-    ((void)(+((signed int )((signed short int )0b01101011))));
-    ((void)(+((signed int )0b01101011)));
-    ((void)(+((signed long int )0b01101011)));
-    ((void)(+((float )((__int128 )0b01101011))));
-    ((void)(+((signed int )((unsigned char )0b01101011u))));
-    ((void)(+((signed int )((signed short int )0b01101011u))));
-    ((void)(+((unsigned int )0b01101011u)));
-    ((void)(+((signed long int )0b01101011u)));
-    ((void)(+((float )((__int128 )0b01101011u))));
-    ((void)(-((signed int )((signed char )0b01101011))));
-    ((void)(-((signed int )((signed short int )0b01101011))));
-    ((void)(-((signed int )0b01101011)));
-    ((void)(-((signed long int )0b01101011)));
-    ((void)(-((float )((__int128 )0b01101011))));
-    ((void)(-((signed int )((unsigned char )0b01101011u))));
-    ((void)(-((signed int )((signed short int )0b01101011u))));
-    ((void)(-((unsigned int )0b01101011u)));
-    ((void)(-((signed long int )0b01101011u)));
-    ((void)(-((float )((__int128 )0b01101011u))));
-    ((void)((signed char )01234567));
-    ((void)((signed short int )01234567));
-    ((void)((signed int )01234567));
-    ((void)((signed long int )01234567));
-    ((void)((__int128 )01234567));
-    ((void)((unsigned char )01234567u));
-    ((void)((signed short int )01234567u));
-    ((void)((unsigned int )01234567u));
-    ((void)((signed long int )01234567u));
-    ((void)((__int128 )01234567u));
-    ((void)(+((signed int )((signed char )01234567))));
-    ((void)(+((signed int )((signed short int )01234567))));
-    ((void)(+((signed int )01234567)));
-    ((void)(+((signed long int )01234567)));
-    ((void)(+((float )((__int128 )01234567))));
-    ((void)(+((signed int )((unsigned char )01234567u))));
-    ((void)(+((signed int )((signed short int )01234567u))));
-    ((void)(+((unsigned int )01234567u)));
-    ((void)(+((signed long int )01234567u)));
-    ((void)(+((float )((__int128 )01234567u))));
-    ((void)(-((signed int )((signed char )01234567))));
-    ((void)(-((signed int )((signed short int )01234567))));
-    ((void)(-((signed int )01234567)));
-    ((void)(-((signed long int )01234567)));
-    ((void)(-((float )((__int128 )01234567))));
-    ((void)(-((signed int )((unsigned char )01234567u))));
-    ((void)(-((signed int )((signed short int )01234567u))));
-    ((void)(-((unsigned int )01234567u)));
-    ((void)(-((signed long int )01234567u)));
-    ((void)(-((float )((__int128 )01234567u))));
-    ((void)((signed char )1234567890));
-    ((void)((signed short int )1234567890));
-    ((void)((signed int )1234567890));
-    ((void)((signed long int )1234567890));
-    ((void)((__int128 )1234567890));
-    ((void)((signed char )1234567890U));
-    ((void)((unsigned short int )1234567890U));
-    ((void)((signed int )1234567890U));
-    ((void)((unsigned long int )1234567890u));
-    ((void)((unsigned __int128 )1234567890u));
-    ((void)(+((signed int )((signed char )1234567890))));
-    ((void)(+((signed int )((signed short int )1234567890))));
-    ((void)(+((signed int )1234567890)));
-    ((void)(+((signed long int )1234567890)));
-    ((void)(+((float )((__int128 )1234567890))));
-    ((void)(+((signed int )((signed char )1234567890U))));
-    ((void)(+((signed int )((unsigned short int )1234567890U))));
-    ((void)(+((signed int )1234567890U)));
-    ((void)(+((unsigned long int )1234567890u)));
-    ((void)(+((float )((unsigned __int128 )1234567890u))));
-    ((void)(-((signed int )((signed char )1234567890))));
-    ((void)(-((signed int )((signed short int )1234567890))));
-    ((void)(-((signed int )1234567890)));
-    ((void)(-((signed long int )1234567890)));
-    ((void)(-((float )((__int128 )1234567890))));
-    ((void)(-((signed int )((signed char )1234567890U))));
-    ((void)(-((signed int )((unsigned short int )1234567890U))));
-    ((void)(-((signed int )1234567890U)));
-    ((void)(-((unsigned long int )1234567890u)));
-    ((void)(-((float )((unsigned __int128 )1234567890u))));
-    ((void)((signed char )0x0123456789abcdef));
-    ((void)((signed short int )0x0123456789abcdef));
-    ((void)((signed int )0x0123456789abcdef));
-    ((void)((signed long int )0x0123456789abcdef));
-    ((void)((signed char )0x0123456789abcdefu));
-    ((void)((unsigned short int )0x0123456789abcdefu));
-    ((void)((signed int )0x0123456789abcdefu));
-    ((void)((unsigned long int )0x0123456789abcdefu));
-    ((void)(+((signed int )((signed char )0x0123456789abcdef))));
-    ((void)(+((signed int )((signed short int )0x0123456789abcdef))));
-    ((void)(+((signed int )0x0123456789abcdef)));
-    ((void)(+((signed long int )0x0123456789abcdef)));
-    ((void)(+((signed int )((signed char )0x0123456789abcdefu))));
-    ((void)(+((signed int )((unsigned short int )0x0123456789abcdefu))));
-    ((void)(+((signed int )0x0123456789abcdefu)));
-    ((void)(+((unsigned long int )0x0123456789abcdefu)));
-    ((void)(-((signed int )((signed char )0x0123456789abcdef))));
-    ((void)(-((signed int )((signed short int )0x0123456789abcdef))));
-    ((void)(-((signed int )0x0123456789abcdef)));
-    ((void)(-((signed long int )0x0123456789abcdef)));
-    ((void)(-((signed int )((signed char )0x0123456789abcdefu))));
-    ((void)(-((signed int )((unsigned short int )0x0123456789abcdefu))));
-    ((void)(-((signed int )0x0123456789abcdefu)));
-    ((void)(-((unsigned long int )0x0123456789abcdefu)));
-    ((void)((signed char )0x0123456789ABCDEF));
-    ((void)((signed short int )0x0123456789ABCDEF));
-    ((void)((signed int )0x0123456789ABCDEF));
-    ((void)((signed long int )0x0123456789ABCDEF));
-    ((void)((signed char )0x0123456789ABCDEFu));
-    ((void)((unsigned short int )0x0123456789ABCDEFu));
-    ((void)((signed int )0x0123456789ABCDEFu));
-    ((void)((unsigned long int )0x0123456789ABCDEFu));
-    ((void)(+((signed int )((signed char )0x0123456789ABCDEF))));
-    ((void)(+((signed int )((signed short int )0x0123456789ABCDEF))));
-    ((void)(+((signed int )0x0123456789ABCDEF)));
-    ((void)(+((signed long int )0x0123456789ABCDEF)));
-    ((void)(+((signed int )((signed char )0x0123456789ABCDEFu))));
-    ((void)(+((signed int )((unsigned short int )0x0123456789ABCDEFu))));
-    ((void)(+((signed int )0x0123456789ABCDEFu)));
-    ((void)(+((unsigned long int )0x0123456789ABCDEFu)));
-    ((void)(-((signed int )((signed char )0x0123456789ABCDEF))));
-    ((void)(-((signed int )((signed short int )0x0123456789ABCDEF))));
-    ((void)(-((signed int )0x0123456789ABCDEF)));
-    ((void)(-((signed long int )0x0123456789ABCDEF)));
-    ((void)(-((signed int )((signed char )0x0123456789ABCDEFu))));
-    ((void)(-((signed int )((unsigned short int )0x0123456789ABCDEFu))));
-    ((void)(-((signed int )0x0123456789ABCDEFu)));
-    ((void)(-((unsigned long int )0x0123456789ABCDEFu)));
-    ((void)((signed char )0X0123456789abcdef));
-    ((void)((signed short int )0X0123456789abcdef));
-    ((void)((signed int )0X0123456789abcdef));
-    ((void)((signed long int )0X0123456789abcdef));
-    ((void)((signed char )0X0123456789abcdefu));
-    ((void)((unsigned short int )0X0123456789abcdefu));
-    ((void)((signed int )0X0123456789abcdefu));
-    ((void)((unsigned long int )0X0123456789abcdefu));
-    ((void)(+((signed int )((signed char )0X0123456789abcdef))));
-    ((void)(+((signed int )((signed short int )0X0123456789abcdef))));
-    ((void)(+((signed int )0X0123456789abcdef)));
-    ((void)(+((signed long int )0X0123456789abcdef)));
-    ((void)(+((signed int )((signed char )0X0123456789abcdefu))));
-    ((void)(+((signed int )((unsigned short int )0X0123456789abcdefu))));
-    ((void)(+((signed int )0X0123456789abcdefu)));
-    ((void)(+((unsigned long int )0X0123456789abcdefu)));
-    ((void)(-((signed int )((signed char )0X0123456789abcdef))));
-    ((void)(-((signed int )((signed short int )0X0123456789abcdef))));
-    ((void)(-((signed int )0X0123456789abcdef)));
-    ((void)(-((signed long int )0X0123456789abcdef)));
-    ((void)(-((signed int )((signed char )0X0123456789abcdefu))));
-    ((void)(-((signed int )((unsigned short int )0X0123456789abcdefu))));
-    ((void)(-((signed int )0X0123456789abcdefu)));
-    ((void)(-((unsigned long int )0X0123456789abcdefu)));
-    ((void)((signed char )0X0123456789ABCDEF));
-    ((void)((signed short int )0X0123456789ABCDEF));
-    ((void)((signed int )0X0123456789ABCDEF));
-    ((void)((signed long int )0X0123456789ABCDEF));
-    ((void)((signed char )0X0123456789ABCDEFu));
-    ((void)((unsigned short int )0X0123456789ABCDEFu));
-    ((void)((signed int )0X0123456789ABCDEFu));
-    ((void)((unsigned long int )0X0123456789ABCDEFu));
-    ((void)(+((signed int )((signed char )0X0123456789ABCDEF))));
-    ((void)(+((signed int )((signed short int )0X0123456789ABCDEF))));
-    ((void)(+((signed int )0X0123456789ABCDEF)));
-    ((void)(+((signed long int )0X0123456789ABCDEF)));
-    ((void)(+((signed int )((signed char )0X0123456789ABCDEFu))));
-    ((void)(+((signed int )((unsigned short int )0X0123456789ABCDEFu))));
-    ((void)(+((signed int )0X0123456789ABCDEFu)));
-    ((void)(+((unsigned long int )0X0123456789ABCDEFu)));
-    ((void)(-((signed int )((signed char )0X0123456789ABCDEF))));
-    ((void)(-((signed int )((signed short int )0X0123456789ABCDEF))));
-    ((void)(-((signed int )0X0123456789ABCDEF)));
-    ((void)(-((signed long int )0X0123456789ABCDEF)));
-    ((void)(-((signed int )((signed char )0X0123456789ABCDEFu))));
-    ((void)(-((signed int )((unsigned short int )0X0123456789ABCDEFu))));
-    ((void)(-((signed int )0X0123456789ABCDEFu)));
-    ((void)(-((unsigned long int )0X0123456789ABCDEFu)));
-    ((void)((float )0123456789.));
-    ((void)((double )0123456789.));
-    ((void)((long double )0123456789.));
-    ((void)((long double )0123456789.));
-    ((void)(+((float )0123456789.)));
-    ((void)(+((double )0123456789.)));
-    ((void)(+((long double )0123456789.)));
-    ((void)(+((long double )0123456789.)));
-    ((void)(-((float )0123456789.)));
-    ((void)(-((double )0123456789.)));
-    ((void)(-((long double )0123456789.)));
-    ((void)(-((long double )0123456789.)));
-    ((void)((float )0123456789.e09));
-    ((void)((double )0123456789.e09));
-    ((void)((long double )0123456789.e09));
-    ((void)((long double )0123456789.e09));
-    ((void)(+((float )0123456789.e+09)));
-    ((void)(+((double )0123456789.e+09)));
-    ((void)(+((long double )0123456789.e+09)));
-    ((void)(+((long double )0123456789.e+09)));
-    ((void)(-((float )0123456789.e-09)));
-    ((void)(-((double )0123456789.e-09)));
-    ((void)(-((long double )0123456789.e-09)));
-    ((void)(-((long double )0123456789.e-09)));
-    ((void)((float ).0123456789e09));
-    ((void)((double ).0123456789e09));
-    ((void)((long double ).0123456789e09));
-    ((void)((long double ).0123456789e09));
-    ((void)(+((float ).0123456789E+09)));
-    ((void)(+((double ).0123456789E+09)));
-    ((void)(+((long double ).0123456789E+09)));
-    ((void)(+((long double ).0123456789E+09)));
-    ((void)(-((float ).0123456789E-09)));
-    ((void)(-((double ).0123456789E-09)));
-    ((void)(-((long double ).0123456789E-09)));
-    ((void)(-((long double ).0123456789E-09)));
-    ((void)((float )0123456789.0123456789));
-    ((void)((double )0123456789.0123456789));
-    ((void)((long double )0123456789.0123456789));
-    ((void)((long double )0123456789.0123456789));
-    ((void)(+((float )0123456789.0123456789E09)));
-    ((void)(+((double )0123456789.0123456789E09)));
-    ((void)(+((long double )0123456789.0123456789E09)));
-    ((void)(+((long double )0123456789.0123456789E09)));
-    ((void)(-((float )0123456789.0123456789E+09)));
-    ((void)(-((double )0123456789.0123456789E+09)));
-    ((void)(-((long double )0123456789.0123456789E+09)));
-    ((void)(-((long double )0123456789.0123456789E+09)));
-    ((void)((float )0123456789.0123456789E-09));
-    ((void)((double )0123456789.0123456789E-09));
-    ((void)((long double )0123456789.0123456789E-09));
-    ((void)((long double )0123456789.0123456789E-09));
-    ((void)((float )0x0123456789.p09));
-    ((void)((double )0x0123456789.p09));
-    ((void)((long double )0x0123456789.p09));
-    ((void)((long double )0x0123456789.p09));
-    ((void)(+((float )0x0123456789.p09)));
-    ((void)(+((double )0x0123456789.p09)));
-    ((void)(+((long double )0x0123456789.p09)));
-    ((void)(+((long double )0x0123456789.p09)));
-    ((void)(-((float )0x0123456789.p09)));
-    ((void)(-((double )0x0123456789.p09)));
-    ((void)(-((long double )0x0123456789.p09)));
-    ((void)(-((long double )0x0123456789.p09)));
-    ((void)((float )0x0123456789.p+09));
-    ((void)((double )0x0123456789.p+09));
-    ((void)((long double )0x0123456789.p+09));
-    ((void)((long double )0x0123456789.p+09));
-    ((void)(+((float )0x0123456789.p-09)));
-    ((void)(+((double )0x0123456789.p-09)));
-    ((void)(+((long double )0x0123456789.p-09)));
-    ((void)(+((long double )0x0123456789.p-09)));
-    ((void)(-((float )0x.0123456789p09)));
-    ((void)(-((double )0x.0123456789p09)));
-    ((void)(-((long double )0x.0123456789p09)));
-    ((void)(-((long double )0x.0123456789p09)));
-    ((void)__f__F_c__1('a'));
-    ((void)__f__F_Sc__1(20));
-    ((void)__f__F_Uc__1(((unsigned char )21u)));
-    ((void)__f__F_s__1(22));
-    ((void)__f__F_Us__1(((unsigned short int )23u)));
-    ((void)__f__F_Ul__1(((unsigned long int )24)));
-    ((void)' ');
-    ((void)'a');
-    ((void)'"');
-    ((void)'_');
-    ((void)'\'');
-    ((void)'\"');
-    ((void)'\?');
-    ((void)'\\');
-    ((void)'\a');
-    ((void)'\b');
-    ((void)'\e');
-    ((void)'\f');
-    ((void)'\n');
-    ((void)'\r');
-    ((void)'\t');
-    ((void)'\v');
-    ((void)'\0');
-    ((void)'\377');
-    ((void)'\xf');
-    ((void)'\xff');
-    ((void)u' ');
-    ((void)u'a');
-    ((void)u'"');
-    ((void)u'_');
-    ((void)U' ');
-    ((void)U'a');
-    ((void)U'"');
-    ((void)U'_');
-    ((void)L' ');
-    ((void)L'a');
-    ((void)L'"');
-    ((void)L'_');
-    ((void)" ");
-    ((void)"a");
-    ((void)"'");
-    ((void)'_');
-    ((void)"abcdefghijklmnopqrstuvwxyz");
-    ((void)"");
-    ((void)"aa");
-    ((void)"a\na");
-    ((void)"a\0a");
-    ((void)"_\377_");
-    ((void)"_\xff_");
-    ((void)"\xff");
-    ((void)"\'");
-    ((void)"\"");
-    ((void)"\?");
-    ((void)"\\");
-    ((void)"\a");
-    ((void)"\b");
-    ((void)"\e");
-    ((void)"\f");
-    ((void)"\n");
-    ((void)"\r");
-    ((void)"\t");
-    ((void)"\v");
-    ((void)"\0");
-    ((void)"\377");
-    ((void)"\xf");
-    ((void)"\xff");
-    ((void)u8" ");
-    ((void)u8"a");
-    ((void)u8"'");
-    ((void)u'_');
-    ((void)u8"abcdefghijklmnopqrstuvwxyz");
-    ((void)u" ");
-    ((void)u"a");
-    ((void)u"'");
-    ((void)u'_');
-    ((void)u"abcdefghijklmnopqrstuvwxyz");
-    ((void)U" ");
-    ((void)U"a");
-    ((void)U"'");
-    ((void)U'_');
-    ((void)U"abcdefghijklmnopqrstuvwxyz");
-    ((void)L" ");
-    ((void)L"a");
-    ((void)L"'");
-    ((void)L'_');
-    ((void)L"abcdefghijklmnopqrstuvwxyz");
-    ((void)"\xFF");
-    ((void)u"\xFFFF");
-    ((void)U"\xFFFFFFFF");
-    ((void)L"\xFFFFFFFF");
-    ((void)"\x12" "3");
-    ((void)u8"a" "b" "c");
-    ((void)u8"a" "b" "c");
-    ((void)u8"a" "b" "c");
-    ((void)u8"a" "b" "c");
-    ((void)u8"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)(___retval_main__i_1=0) /* ?{} */);
-    return ___retval_main__i_1;
-}
-static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi___1(); }
-static inline signed int invoke_main(signed int argc, char **argv, char **envp);
-signed int main(signed int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){
-    __attribute__ ((unused)) signed int ___retval_main__i_1;
-    signed int _tmp_cp_ret2;
-    ((void)(___retval_main__i_1=(((void)(_tmp_cp_ret2=invoke_main(__argc__i_1, __argv__PPc_1, __envp__PPc_1))) , _tmp_cp_ret2)) /* ?{} */);
-    ((void)(_tmp_cp_ret2) /* ^?{} */);
-    return ___retval_main__i_1;
-}
Index: src/tests/.expect/literals.x86.txt
===================================================================
--- src/tests/.expect/literals.x86.txt	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ 	(revision )
@@ -1,1494 +1,0 @@
-void __for_each__A0_2_0_0____operator_assign__Fd0_d0d0____constructor__F_d0____constructor__F_d0d0____destructor__F_d0____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_preincr__Fd0_d0____operator_predecr__Fd0_d0____operator_equal__Fi_d0d0____operator_notequal__Fi_d0d0____operator_deref__Fd1_d0__F_d0d0F_d1___1(__attribute__ ((unused)) void (*_adapterF_9telt_type__P)(void (*__anonymous_object0)(), void *__anonymous_object1), __attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object2)(), void *__anonymous_object3), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object4)(), void *__anonymous_object5, void *__anonymous_object6), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object7)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object8), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object9)(), void *__anonymous_object10, void *__anonymous_object11), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object12)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object13, void *__anonymous_object14), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object15)(), void *__anonymous_object16, void *__anonymous_object17), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object18)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object19, void *__anonymous_object20), __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) void *(*___operator_assign__F14titerator_type_14titerator_type14titerator_type__1)(void *__anonymous_object21, void *__anonymous_object22), __attribute__ ((unused)) void (*___constructor__F_14titerator_type__1)(void *__anonymous_object23), __attribute__ ((unused)) void (*___constructor__F_14titerator_type14titerator_type__1)(void *__anonymous_object24, void *__anonymous_object25), __attribute__ ((unused)) void (*___destructor__F_14titerator_type__1)(void *__anonymous_object26), __attribute__ ((unused)) void *(*___operator_assign__F9telt_type_9telt_type9telt_type__1)(void *__anonymous_object27, void *__anonymous_object28), __attribute__ ((unused)) void (*___constructor__F_9telt_type__1)(void *__anonymous_object29), __attribute__ ((unused)) void (*___constructor__F_9telt_type9telt_type__1)(void *__anonymous_object30, void *__anonymous_object31), __attribute__ ((unused)) void (*___destructor__F_9telt_type__1)(void *__anonymous_object32), __attribute__ ((unused)) void *(*___operator_preincr__F14titerator_type_14titerator_type__1)(void *__anonymous_object33), __attribute__ ((unused)) void *(*___operator_predecr__F14titerator_type_14titerator_type__1)(void *__anonymous_object34), __attribute__ ((unused)) signed int (*___operator_equal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object35, void *__anonymous_object36), __attribute__ ((unused)) signed int (*___operator_notequal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object37, void *__anonymous_object38), __attribute__ ((unused)) void *(*___operator_deref__F9telt_type_14titerator_type__1)(void *__anonymous_object39), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void (*__func__F_9telt_type__1)(void *__anonymous_object40));
-void __for_each_reverse__A0_2_0_0____operator_assign__Fd0_d0d0____constructor__F_d0____constructor__F_d0d0____destructor__F_d0____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_preincr__Fd0_d0____operator_predecr__Fd0_d0____operator_equal__Fi_d0d0____operator_notequal__Fi_d0d0____operator_deref__Fd1_d0__F_d0d0F_d1___1(__attribute__ ((unused)) void (*_adapterF_9telt_type__P)(void (*__anonymous_object41)(), void *__anonymous_object42), __attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object43)(), void *__anonymous_object44), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object45)(), void *__anonymous_object46, void *__anonymous_object47), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object48)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object49), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object50)(), void *__anonymous_object51, void *__anonymous_object52), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object53)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object54, void *__anonymous_object55), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object56)(), void *__anonymous_object57, void *__anonymous_object58), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object59)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object60, void *__anonymous_object61), __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) void *(*___operator_assign__F14titerator_type_14titerator_type14titerator_type__1)(void *__anonymous_object62, void *__anonymous_object63), __attribute__ ((unused)) void (*___constructor__F_14titerator_type__1)(void *__anonymous_object64), __attribute__ ((unused)) void (*___constructor__F_14titerator_type14titerator_type__1)(void *__anonymous_object65, void *__anonymous_object66), __attribute__ ((unused)) void (*___destructor__F_14titerator_type__1)(void *__anonymous_object67), __attribute__ ((unused)) void *(*___operator_assign__F9telt_type_9telt_type9telt_type__1)(void *__anonymous_object68, void *__anonymous_object69), __attribute__ ((unused)) void (*___constructor__F_9telt_type__1)(void *__anonymous_object70), __attribute__ ((unused)) void (*___constructor__F_9telt_type9telt_type__1)(void *__anonymous_object71, void *__anonymous_object72), __attribute__ ((unused)) void (*___destructor__F_9telt_type__1)(void *__anonymous_object73), __attribute__ ((unused)) void *(*___operator_preincr__F14titerator_type_14titerator_type__1)(void *__anonymous_object74), __attribute__ ((unused)) void *(*___operator_predecr__F14titerator_type_14titerator_type__1)(void *__anonymous_object75), __attribute__ ((unused)) signed int (*___operator_equal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object76, void *__anonymous_object77), __attribute__ ((unused)) signed int (*___operator_notequal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object78, void *__anonymous_object79), __attribute__ ((unused)) void *(*___operator_deref__F9telt_type_14titerator_type__1)(void *__anonymous_object80), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void (*__func__F_9telt_type__1)(void *__anonymous_object81));
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0b__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object82), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object83), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object84, _Bool __anonymous_object85), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object86), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object87, const char *__anonymous_object88), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object89), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object90, _Bool __anonymous_object91), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object92), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object93), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object94), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object95), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object96), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object97, const char *__anonymous_object98), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object99), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object100, const char *__anonymous_object101), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object102), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object103), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object104, const char *__anonymous_object105, unsigned long int __anonymous_object106), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object107, const char *__fmt__PCc_1, ...), void *__anonymous_object108, _Bool __anonymous_object109);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0c__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object110), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object111), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object112, _Bool __anonymous_object113), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object114), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object115, const char *__anonymous_object116), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object117), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object118, _Bool __anonymous_object119), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object120), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object121), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object122), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object123), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object124), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object125, const char *__anonymous_object126), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object127), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object128, const char *__anonymous_object129), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object130), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object131), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object132, const char *__anonymous_object133, unsigned long int __anonymous_object134), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object135, const char *__fmt__PCc_1, ...), void *__anonymous_object136, char __anonymous_object137);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Sc__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object138), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object139), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object140, _Bool __anonymous_object141), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object142), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object143, const char *__anonymous_object144), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object145), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object146, _Bool __anonymous_object147), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object148), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object149), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object150), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object151), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object152), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object153, const char *__anonymous_object154), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object155), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object156, const char *__anonymous_object157), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object158), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object159), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object160, const char *__anonymous_object161, unsigned long int __anonymous_object162), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object163, const char *__fmt__PCc_1, ...), void *__anonymous_object164, signed char __anonymous_object165);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Uc__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object166), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object167), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object168, _Bool __anonymous_object169), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object170), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object171, const char *__anonymous_object172), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object173), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object174, _Bool __anonymous_object175), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object176), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object177), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object178), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object179), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object180), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object181, const char *__anonymous_object182), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object183), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object184, const char *__anonymous_object185), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object186), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object187), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object188, const char *__anonymous_object189, unsigned long int __anonymous_object190), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object191, const char *__fmt__PCc_1, ...), void *__anonymous_object192, unsigned char __anonymous_object193);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0s__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object194), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object195), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object196, _Bool __anonymous_object197), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object198), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object199, const char *__anonymous_object200), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object201), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object202, _Bool __anonymous_object203), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object204), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object205), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object206), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object207), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object208), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object209, const char *__anonymous_object210), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object211), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object212, const char *__anonymous_object213), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object214), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object215), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object216, const char *__anonymous_object217, unsigned long int __anonymous_object218), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object219, const char *__fmt__PCc_1, ...), void *__anonymous_object220, signed short int __anonymous_object221);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Us__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object222), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object223), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object224, _Bool __anonymous_object225), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object226), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object227, const char *__anonymous_object228), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object229), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object230, _Bool __anonymous_object231), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object232), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object233), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object234), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object235), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object236), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object237, const char *__anonymous_object238), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object239), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object240, const char *__anonymous_object241), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object242), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object243), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object244, const char *__anonymous_object245, unsigned long int __anonymous_object246), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object247, const char *__fmt__PCc_1, ...), void *__anonymous_object248, unsigned short int __anonymous_object249);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0i__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object250), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object251), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object252, _Bool __anonymous_object253), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object254), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object255, const char *__anonymous_object256), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object257), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object258, _Bool __anonymous_object259), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object260), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object261), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object262), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object263), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object264), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object265, const char *__anonymous_object266), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object267), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object268, const char *__anonymous_object269), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object270), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object271), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object272, const char *__anonymous_object273, unsigned long int __anonymous_object274), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object275, const char *__fmt__PCc_1, ...), void *__anonymous_object276, signed int __anonymous_object277);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Ui__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object278), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object279), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object280, _Bool __anonymous_object281), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object282), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object283, const char *__anonymous_object284), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object285), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object286, _Bool __anonymous_object287), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object288), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object289), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object290), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object291), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object292), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object293, const char *__anonymous_object294), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object295), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object296, const char *__anonymous_object297), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object298), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object299), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object300, const char *__anonymous_object301, unsigned long int __anonymous_object302), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object303, const char *__fmt__PCc_1, ...), void *__anonymous_object304, unsigned int __anonymous_object305);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0l__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object306), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object307), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object308, _Bool __anonymous_object309), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object310), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object311, const char *__anonymous_object312), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object313), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object314, _Bool __anonymous_object315), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object316), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object317), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object318), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object319), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object320), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object321, const char *__anonymous_object322), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object323), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object324, const char *__anonymous_object325), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object326), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object327), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object328, const char *__anonymous_object329, unsigned long int __anonymous_object330), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object331, const char *__fmt__PCc_1, ...), void *__anonymous_object332, signed long int __anonymous_object333);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0q__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object334), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object335), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object336, _Bool __anonymous_object337), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object338), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object339, const char *__anonymous_object340), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object341), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object342, _Bool __anonymous_object343), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object344), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object345), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object346), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object347), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object348), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object349, const char *__anonymous_object350), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object351), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object352, const char *__anonymous_object353), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object354), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object355), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object356, const char *__anonymous_object357, unsigned long int __anonymous_object358), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object359, const char *__fmt__PCc_1, ...), void *__anonymous_object360, signed long long int __anonymous_object361);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Ul__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object362), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object363), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object364, _Bool __anonymous_object365), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object366), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object367, const char *__anonymous_object368), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object369), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object370, _Bool __anonymous_object371), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object372), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object373), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object374), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object375), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object376), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object377, const char *__anonymous_object378), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object379), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object380, const char *__anonymous_object381), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object382), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object383), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object384, const char *__anonymous_object385, unsigned long int __anonymous_object386), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object387, const char *__fmt__PCc_1, ...), void *__anonymous_object388, unsigned long int __anonymous_object389);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Uq__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object390), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object391), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object392, _Bool __anonymous_object393), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object394), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object395, const char *__anonymous_object396), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object397), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object398, _Bool __anonymous_object399), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object400), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object401), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object402), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object403), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object404), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object405, const char *__anonymous_object406), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object407), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object408, const char *__anonymous_object409), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object410), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object411), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object412, const char *__anonymous_object413, unsigned long int __anonymous_object414), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object415, const char *__fmt__PCc_1, ...), void *__anonymous_object416, unsigned long long int __anonymous_object417);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0f__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object418), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object419), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object420, _Bool __anonymous_object421), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object422), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object423, const char *__anonymous_object424), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object425), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object426, _Bool __anonymous_object427), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object428), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object429), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object430), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object431), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object432), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object433, const char *__anonymous_object434), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object435), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object436, const char *__anonymous_object437), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object438), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object439), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object440, const char *__anonymous_object441, unsigned long int __anonymous_object442), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object443, const char *__fmt__PCc_1, ...), void *__anonymous_object444, float __anonymous_object445);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0d__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object446), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object447), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object448, _Bool __anonymous_object449), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object450), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object451, const char *__anonymous_object452), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object453), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object454, _Bool __anonymous_object455), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object456), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object457), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object458), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object459), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object460), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object461, const char *__anonymous_object462), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object463), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object464, const char *__anonymous_object465), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object466), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object467), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object468, const char *__anonymous_object469, unsigned long int __anonymous_object470), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object471, const char *__fmt__PCc_1, ...), void *__anonymous_object472, double __anonymous_object473);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0r__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object474), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object475), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object476, _Bool __anonymous_object477), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object478), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object479, const char *__anonymous_object480), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object481), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object482, _Bool __anonymous_object483), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object484), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object485), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object486), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object487), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object488), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object489, const char *__anonymous_object490), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object491), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object492, const char *__anonymous_object493), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object494), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object495), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object496, const char *__anonymous_object497, unsigned long int __anonymous_object498), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object499, const char *__fmt__PCc_1, ...), void *__anonymous_object500, long double __anonymous_object501);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Xf__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object502), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object503), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object504, _Bool __anonymous_object505), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object506), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object507, const char *__anonymous_object508), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object509), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object510, _Bool __anonymous_object511), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object512), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object513), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object514), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object515), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object516), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object517, const char *__anonymous_object518), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object519), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object520, const char *__anonymous_object521), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object522), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object523), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object524, const char *__anonymous_object525, unsigned long int __anonymous_object526), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object527, const char *__fmt__PCc_1, ...), void *__anonymous_object528, float _Complex __anonymous_object529);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Xd__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object530), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object531), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object532, _Bool __anonymous_object533), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object534), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object535, const char *__anonymous_object536), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object537), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object538, _Bool __anonymous_object539), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object540), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object541), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object542), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object543), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object544), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object545, const char *__anonymous_object546), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object547), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object548, const char *__anonymous_object549), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object550), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object551), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object552, const char *__anonymous_object553, unsigned long int __anonymous_object554), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object555, const char *__fmt__PCc_1, ...), void *__anonymous_object556, double _Complex __anonymous_object557);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Xr__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object558), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object559), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object560, _Bool __anonymous_object561), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object562), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object563, const char *__anonymous_object564), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object565), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object566, _Bool __anonymous_object567), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object568), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object569), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object570), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object571), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object572), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object573, const char *__anonymous_object574), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object575), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object576, const char *__anonymous_object577), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object578), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object579), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object580, const char *__anonymous_object581, unsigned long int __anonymous_object582), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object583, const char *__fmt__PCc_1, ...), void *__anonymous_object584, long double _Complex __anonymous_object585);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object586), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object587), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object588, _Bool __anonymous_object589), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object590), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object591, const char *__anonymous_object592), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object593), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object594, _Bool __anonymous_object595), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object596), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object597), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object598), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object599), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object600), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object601, const char *__anonymous_object602), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object603), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object604, const char *__anonymous_object605), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object606), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object607), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object608, const char *__anonymous_object609, unsigned long int __anonymous_object610), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object611, const char *__fmt__PCc_1, ...), void *__anonymous_object612, const char *__anonymous_object613);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCv__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object614), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object615), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object616, _Bool __anonymous_object617), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object618), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object619, const char *__anonymous_object620), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object621), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object622, _Bool __anonymous_object623), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object624), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object625), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object626), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object627), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object628), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object629, const char *__anonymous_object630), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object631), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object632, const char *__anonymous_object633), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object634), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object635), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object636, const char *__anonymous_object637, unsigned long int __anonymous_object638), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object639, const char *__fmt__PCc_1, ...), void *__anonymous_object640, const void *__anonymous_object641);
-void *___operator_bitor__A0_2_0_1____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_bitor__Fd0_d0d1___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc____operator_bitor__Fd0_d0tVARGS2__Fd0_d0d1tVARGS2__1(__attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype7tParams_M_MP)(void (*__anonymous_object642)(), void *__anonymous_object643, void *__anonymous_object644), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype2tT_M_MP)(void (*__anonymous_object645)(), void *__anonymous_object646, void *__anonymous_object647), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object648)(), void *__anonymous_object649, void *__anonymous_object650), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object651)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object652, void *__anonymous_object653), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void *(*___operator_assign__F2tT_2tT2tT__1)(void *__anonymous_object654, void *__anonymous_object655), __attribute__ ((unused)) void (*___constructor__F_2tT__1)(void *__anonymous_object656), __attribute__ ((unused)) void (*___constructor__F_2tT2tT__1)(void *__anonymous_object657, void *__anonymous_object658), __attribute__ ((unused)) void (*___destructor__F_2tT__1)(void *__anonymous_object659), __attribute__ ((unused)) void *(*___operator_bitor__F7tostype_7tostype2tT__1)(void *__anonymous_object660, void *__anonymous_object661), __attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object662), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object663), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object664, _Bool __anonymous_object665), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object666), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object667, const char *__anonymous_object668), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object669), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object670, _Bool __anonymous_object671), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object672), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object673), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object674), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object675), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object676), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object677, const char *__anonymous_object678), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object679), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object680, const char *__anonymous_object681), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object682), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object683), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object684, const char *__anonymous_object685, unsigned long int __anonymous_object686), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object687, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_bitor__F7tostype_7tostype7tParams__1)(void *__anonymous_object688, void *__anonymous_object689), void *__os__7tostype_1, void *__arg__2tT_1, void *__rest__7tParams_1);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object690), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object691), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object692, _Bool __anonymous_object693), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object694), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object695, const char *__anonymous_object696), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object697), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object698, _Bool __anonymous_object699), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object700), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object701), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object702), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object703), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object704), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object705, const char *__anonymous_object706), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object707), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object708, const char *__anonymous_object709), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object710), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object711), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object712, const char *__anonymous_object713, unsigned long int __anonymous_object714), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object715, const char *__fmt__PCc_1, ...), void *__anonymous_object716, void *(*__anonymous_object717)(void *__anonymous_object718));
-void *__endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object719), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object720), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object721, _Bool __anonymous_object722), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object723), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object724, const char *__anonymous_object725), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object726), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object727, _Bool __anonymous_object728), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object729), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object730), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object731), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object732), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object733), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object734, const char *__anonymous_object735), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object736), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object737, const char *__anonymous_object738), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object739), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object740), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object741, const char *__anonymous_object742, unsigned long int __anonymous_object743), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object744, const char *__fmt__PCc_1, ...), void *__anonymous_object745);
-void *__sep__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object746), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object747), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object748, _Bool __anonymous_object749), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object750), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object751, const char *__anonymous_object752), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object753), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object754, _Bool __anonymous_object755), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object756), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object757), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object758), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object759), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object760), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object761, const char *__anonymous_object762), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object763), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object764, const char *__anonymous_object765), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object766), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object767), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object768, const char *__anonymous_object769, unsigned long int __anonymous_object770), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object771, const char *__fmt__PCc_1, ...), void *__anonymous_object772);
-void *__sepTuple__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object773), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object774), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object775, _Bool __anonymous_object776), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object777), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object778, const char *__anonymous_object779), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object780), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object781, _Bool __anonymous_object782), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object783), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object784), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object785), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object786), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object787), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object788, const char *__anonymous_object789), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object790), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object791, const char *__anonymous_object792), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object793), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object794), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object795, const char *__anonymous_object796, unsigned long int __anonymous_object797), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object798, const char *__fmt__PCc_1, ...), void *__anonymous_object799);
-void *__sepOn__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object800), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object801), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object802, _Bool __anonymous_object803), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object804), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object805, const char *__anonymous_object806), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object807), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object808, _Bool __anonymous_object809), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object810), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object811), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object812), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object813), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object814), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object815, const char *__anonymous_object816), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object817), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object818, const char *__anonymous_object819), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object820), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object821), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object822, const char *__anonymous_object823, unsigned long int __anonymous_object824), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object825, const char *__fmt__PCc_1, ...), void *__anonymous_object826);
-void *__sepOff__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object827), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object828), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object829, _Bool __anonymous_object830), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object831), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object832, const char *__anonymous_object833), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object834), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object835, _Bool __anonymous_object836), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object837), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object838), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object839), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object840), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object841), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object842, const char *__anonymous_object843), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object844), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object845, const char *__anonymous_object846), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object847), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object848), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object849, const char *__anonymous_object850, unsigned long int __anonymous_object851), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object852, const char *__fmt__PCc_1, ...), void *__anonymous_object853);
-void *__sepDisable__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object854), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object855), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object856, _Bool __anonymous_object857), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object858), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object859, const char *__anonymous_object860), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object861), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object862, _Bool __anonymous_object863), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object864), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object865), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object866), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object867), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object868), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object869, const char *__anonymous_object870), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object871), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object872, const char *__anonymous_object873), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object874), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object875), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object876, const char *__anonymous_object877, unsigned long int __anonymous_object878), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object879, const char *__fmt__PCc_1, ...), void *__anonymous_object880);
-void *__sepEnable__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object881), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object882), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object883, _Bool __anonymous_object884), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object885), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object886, const char *__anonymous_object887), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object888), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object889, _Bool __anonymous_object890), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object891), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object892), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object893), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object894), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object895), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object896, const char *__anonymous_object897), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object898), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object899, const char *__anonymous_object900), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object901), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object902), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object903, const char *__anonymous_object904, unsigned long int __anonymous_object905), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object906, const char *__fmt__PCc_1, ...), void *__anonymous_object907);
-void __write__A0_3_0_0____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_bitor__Fd0_d0d1___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc____operator_assign__Fd2_d2d2____constructor__F_d2____constructor__F_d2d2____destructor__F_d2____operator_preincr__Fd2_d2____operator_predecr__Fd2_d2____operator_equal__Fi_d2d2____operator_notequal__Fi_d2d2____operator_deref__Fd1_d2__F_d2d2d0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object908)(), void *__anonymous_object909), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object910)(), void *__anonymous_object911, void *__anonymous_object912), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object913)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object914), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object915)(), void *__anonymous_object916, void *__anonymous_object917), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object918)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object919, void *__anonymous_object920), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object921)(), void *__anonymous_object922, void *__anonymous_object923), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object924)(), void *__anonymous_object925, void *__anonymous_object926), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object927)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object928, void *__anonymous_object929), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__F9telt_type_9telt_type9telt_type__1)(void *__anonymous_object930, void *__anonymous_object931), __attribute__ ((unused)) void (*___constructor__F_9telt_type__1)(void *__anonymous_object932), __attribute__ ((unused)) void (*___constructor__F_9telt_type9telt_type__1)(void *__anonymous_object933, void *__anonymous_object934), __attribute__ ((unused)) void (*___destructor__F_9telt_type__1)(void *__anonymous_object935), __attribute__ ((unused)) void *(*___operator_bitor__F7tostype_7tostype9telt_type__1)(void *__anonymous_object936, void *__anonymous_object937), __attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object938), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object939), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object940, _Bool __anonymous_object941), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object942), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object943, const char *__anonymous_object944), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object945), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object946, _Bool __anonymous_object947), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object948), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object949), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object950), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object951), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object952), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object953, const char *__anonymous_object954), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object955), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object956, const char *__anonymous_object957), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object958), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object959), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object960, const char *__anonymous_object961, unsigned long int __anonymous_object962), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object963, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__F14titerator_type_14titerator_type14titerator_type__1)(void *__anonymous_object964, void *__anonymous_object965), __attribute__ ((unused)) void (*___constructor__F_14titerator_type__1)(void *__anonymous_object966), __attribute__ ((unused)) void (*___constructor__F_14titerator_type14titerator_type__1)(void *__anonymous_object967, void *__anonymous_object968), __attribute__ ((unused)) void (*___destructor__F_14titerator_type__1)(void *__anonymous_object969), __attribute__ ((unused)) void *(*___operator_preincr__F14titerator_type_14titerator_type__1)(void *__anonymous_object970), __attribute__ ((unused)) void *(*___operator_predecr__F14titerator_type_14titerator_type__1)(void *__anonymous_object971), __attribute__ ((unused)) signed int (*___operator_equal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object972, void *__anonymous_object973), __attribute__ ((unused)) signed int (*___operator_notequal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object974, void *__anonymous_object975), __attribute__ ((unused)) void *(*___operator_deref__F9telt_type_14titerator_type__1)(void *__anonymous_object976), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__7tostype_1);
-void __write_reverse__A0_3_0_0____operator_assign__Fd1_d1d1____constructor__F_d1____constructor__F_d1d1____destructor__F_d1____operator_bitor__Fd0_d0d1___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc____operator_assign__Fd2_d2d2____constructor__F_d2____constructor__F_d2d2____destructor__F_d2____operator_preincr__Fd2_d2____operator_predecr__Fd2_d2____operator_equal__Fi_d2d2____operator_notequal__Fi_d2d2____operator_deref__Fd1_d2__F_d2d2d0__1(__attribute__ ((unused)) void *(*_adapterFP9telt_type_14titerator_type_M_P)(void (*__anonymous_object977)(), void *__anonymous_object978), __attribute__ ((unused)) signed int (*_adapterFi_14titerator_type14titerator_type_M_PP)(void (*__anonymous_object979)(), void *__anonymous_object980, void *__anonymous_object981), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type_P_M)(void (*__anonymous_object982)(), __attribute__ ((unused)) void *___retval__operator_preincr__14titerator_type_1, void *__anonymous_object983), __attribute__ ((unused)) void (*_adapterF_P14titerator_type14titerator_type__MP)(void (*__anonymous_object984)(), void *__anonymous_object985, void *__anonymous_object986), __attribute__ ((unused)) void (*_adapterF14titerator_type_P14titerator_type14titerator_type_P_MP)(void (*__anonymous_object987)(), __attribute__ ((unused)) void *___retval__operator_assign__14titerator_type_1, void *__anonymous_object988, void *__anonymous_object989), __attribute__ ((unused)) void *(*_adapterFP7tostype_P7tostype9telt_type_M_MP)(void (*__anonymous_object990)(), void *__anonymous_object991, void *__anonymous_object992), __attribute__ ((unused)) void (*_adapterF_P9telt_type9telt_type__MP)(void (*__anonymous_object993)(), void *__anonymous_object994, void *__anonymous_object995), __attribute__ ((unused)) void (*_adapterF9telt_type_P9telt_type9telt_type_P_MP)(void (*__anonymous_object996)(), __attribute__ ((unused)) void *___retval__operator_assign__9telt_type_1, void *__anonymous_object997, void *__anonymous_object998), __attribute__ ((unused)) unsigned long int _sizeof_9telt_type, __attribute__ ((unused)) unsigned long int _alignof_9telt_type, __attribute__ ((unused)) unsigned long int _sizeof_14titerator_type, __attribute__ ((unused)) unsigned long int _alignof_14titerator_type, __attribute__ ((unused)) void *(*___operator_assign__F9telt_type_9telt_type9telt_type__1)(void *__anonymous_object999, void *__anonymous_object1000), __attribute__ ((unused)) void (*___constructor__F_9telt_type__1)(void *__anonymous_object1001), __attribute__ ((unused)) void (*___constructor__F_9telt_type9telt_type__1)(void *__anonymous_object1002, void *__anonymous_object1003), __attribute__ ((unused)) void (*___destructor__F_9telt_type__1)(void *__anonymous_object1004), __attribute__ ((unused)) void *(*___operator_bitor__F7tostype_7tostype9telt_type__1)(void *__anonymous_object1005, void *__anonymous_object1006), __attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object1007), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object1008), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object1009, _Bool __anonymous_object1010), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object1011), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object1012, const char *__anonymous_object1013), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object1014), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object1015, _Bool __anonymous_object1016), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object1017), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object1018), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object1019), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object1020), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object1021), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object1022, const char *__anonymous_object1023), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object1024), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object1025, const char *__anonymous_object1026), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object1027), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object1028), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object1029, const char *__anonymous_object1030, unsigned long int __anonymous_object1031), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object1032, const char *__fmt__PCc_1, ...), __attribute__ ((unused)) void *(*___operator_assign__F14titerator_type_14titerator_type14titerator_type__1)(void *__anonymous_object1033, void *__anonymous_object1034), __attribute__ ((unused)) void (*___constructor__F_14titerator_type__1)(void *__anonymous_object1035), __attribute__ ((unused)) void (*___constructor__F_14titerator_type14titerator_type__1)(void *__anonymous_object1036, void *__anonymous_object1037), __attribute__ ((unused)) void (*___destructor__F_14titerator_type__1)(void *__anonymous_object1038), __attribute__ ((unused)) void *(*___operator_preincr__F14titerator_type_14titerator_type__1)(void *__anonymous_object1039), __attribute__ ((unused)) void *(*___operator_predecr__F14titerator_type_14titerator_type__1)(void *__anonymous_object1040), __attribute__ ((unused)) signed int (*___operator_equal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object1041, void *__anonymous_object1042), __attribute__ ((unused)) signed int (*___operator_notequal__Fi_14titerator_type14titerator_type__1)(void *__anonymous_object1043, void *__anonymous_object1044), __attribute__ ((unused)) void *(*___operator_deref__F9telt_type_14titerator_type__1)(void *__anonymous_object1045), void *__begin__14titerator_type_1, void *__end__14titerator_type_1, void *__os__7tostype_1);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0b__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1046), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1047), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1048, char *__anonymous_object1049, unsigned long int __anonymous_object1050), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1051, char __anonymous_object1052), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1053, const char *__fmt__PCc_1, ...), void *__anonymous_object1054, _Bool *__anonymous_object1055);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0c__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1056), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1057), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1058, char *__anonymous_object1059, unsigned long int __anonymous_object1060), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1061, char __anonymous_object1062), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1063, const char *__fmt__PCc_1, ...), void *__anonymous_object1064, char *__anonymous_object1065);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Sc__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1066), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1067), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1068, char *__anonymous_object1069, unsigned long int __anonymous_object1070), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1071, char __anonymous_object1072), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1073, const char *__fmt__PCc_1, ...), void *__anonymous_object1074, signed char *__anonymous_object1075);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Uc__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1076), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1077), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1078, char *__anonymous_object1079, unsigned long int __anonymous_object1080), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1081, char __anonymous_object1082), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1083, const char *__fmt__PCc_1, ...), void *__anonymous_object1084, unsigned char *__anonymous_object1085);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0s__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1086), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1087), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1088, char *__anonymous_object1089, unsigned long int __anonymous_object1090), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1091, char __anonymous_object1092), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1093, const char *__fmt__PCc_1, ...), void *__anonymous_object1094, signed short int *__anonymous_object1095);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Us__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1096), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1097), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1098, char *__anonymous_object1099, unsigned long int __anonymous_object1100), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1101, char __anonymous_object1102), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1103, const char *__fmt__PCc_1, ...), void *__anonymous_object1104, unsigned short int *__anonymous_object1105);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0i__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1106), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1107), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1108, char *__anonymous_object1109, unsigned long int __anonymous_object1110), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1111, char __anonymous_object1112), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1113, const char *__fmt__PCc_1, ...), void *__anonymous_object1114, signed int *__anonymous_object1115);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Ui__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1116), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1117), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1118, char *__anonymous_object1119, unsigned long int __anonymous_object1120), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1121, char __anonymous_object1122), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1123, const char *__fmt__PCc_1, ...), void *__anonymous_object1124, unsigned int *__anonymous_object1125);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0l__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1126), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1127), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1128, char *__anonymous_object1129, unsigned long int __anonymous_object1130), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1131, char __anonymous_object1132), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1133, const char *__fmt__PCc_1, ...), void *__anonymous_object1134, signed long int *__anonymous_object1135);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0q__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1136), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1137), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1138, char *__anonymous_object1139, unsigned long int __anonymous_object1140), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1141, char __anonymous_object1142), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1143, const char *__fmt__PCc_1, ...), void *__anonymous_object1144, signed long long int *__anonymous_object1145);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Ul__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1146), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1147), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1148, char *__anonymous_object1149, unsigned long int __anonymous_object1150), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1151, char __anonymous_object1152), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1153, const char *__fmt__PCc_1, ...), void *__anonymous_object1154, unsigned long int *__anonymous_object1155);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Uq__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1156), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1157), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1158, char *__anonymous_object1159, unsigned long int __anonymous_object1160), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1161, char __anonymous_object1162), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1163, const char *__fmt__PCc_1, ...), void *__anonymous_object1164, unsigned long long int *__anonymous_object1165);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0f__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1166), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1167), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1168, char *__anonymous_object1169, unsigned long int __anonymous_object1170), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1171, char __anonymous_object1172), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1173, const char *__fmt__PCc_1, ...), void *__anonymous_object1174, float *__anonymous_object1175);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0d__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1176), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1177), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1178, char *__anonymous_object1179, unsigned long int __anonymous_object1180), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1181, char __anonymous_object1182), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1183, const char *__fmt__PCc_1, ...), void *__anonymous_object1184, double *__anonymous_object1185);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0r__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1186), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1187), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1188, char *__anonymous_object1189, unsigned long int __anonymous_object1190), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1191, char __anonymous_object1192), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1193, const char *__fmt__PCc_1, ...), void *__anonymous_object1194, long double *__anonymous_object1195);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Xf__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1196), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1197), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1198, char *__anonymous_object1199, unsigned long int __anonymous_object1200), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1201, char __anonymous_object1202), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1203, const char *__fmt__PCc_1, ...), void *__anonymous_object1204, float _Complex *__anonymous_object1205);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Xd__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1206), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1207), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1208, char *__anonymous_object1209, unsigned long int __anonymous_object1210), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1211, char __anonymous_object1212), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1213, const char *__fmt__PCc_1, ...), void *__anonymous_object1214, double _Complex *__anonymous_object1215);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Xr__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1216), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1217), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1218, char *__anonymous_object1219, unsigned long int __anonymous_object1220), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1221, char __anonymous_object1222), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1223, const char *__fmt__PCc_1, ...), void *__anonymous_object1224, long double _Complex *__anonymous_object1225);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1226), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1227), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1228, char *__anonymous_object1229, unsigned long int __anonymous_object1230), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1231, char __anonymous_object1232), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1233, const char *__fmt__PCc_1, ...), void *__anonymous_object1234, void *(*__anonymous_object1235)(void *__anonymous_object1236));
-void *__endl__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d0__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1237), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1238), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1239, char *__anonymous_object1240, unsigned long int __anonymous_object1241), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1242, char __anonymous_object1243), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1244, const char *__fmt__PCc_1, ...), void *__is__7tistype_1);
-struct _Istream_cstrUC {
-    char *__s__Pc_1;
-};
-static inline void ___constructor__F_16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1);
-static inline void ___constructor__F_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, struct _Istream_cstrUC ___src__16s_Istream_cstrUC_1);
-static inline void ___destructor__F_16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1);
-static inline struct _Istream_cstrUC ___operator_assign__F16s_Istream_cstrUC_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, struct _Istream_cstrUC ___src__16s_Istream_cstrUC_1);
-static inline void ___constructor__F_16s_Istream_cstrUCPc_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, char *__s__Pc_1);
-static inline void ___constructor__F_16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1){
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1) /* ?{} */);
-}
-static inline void ___constructor__F_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, struct _Istream_cstrUC ___src__16s_Istream_cstrUC_1){
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1=___src__16s_Istream_cstrUC_1.__s__Pc_1) /* ?{} */);
-}
-static inline void ___destructor__F_16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1){
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1) /* ^?{} */);
-}
-static inline struct _Istream_cstrUC ___operator_assign__F16s_Istream_cstrUC_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, struct _Istream_cstrUC ___src__16s_Istream_cstrUC_1){
-    struct _Istream_cstrUC ___ret__16s_Istream_cstrUC_1;
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1=___src__16s_Istream_cstrUC_1.__s__Pc_1));
-    ((void)___constructor__F_16s_Istream_cstrUC16s_Istream_cstrUC_autogen___1((&___ret__16s_Istream_cstrUC_1), (*___dst__16s_Istream_cstrUC_1)));
-    return ___ret__16s_Istream_cstrUC_1;
-}
-static inline void ___constructor__F_16s_Istream_cstrUCPc_autogen___1(struct _Istream_cstrUC *___dst__16s_Istream_cstrUC_1, char *__s__Pc_1){
-    ((void)((*___dst__16s_Istream_cstrUC_1).__s__Pc_1=__s__Pc_1) /* ?{} */);
-}
-struct _Istream_cstrUC __cstr__F16s_Istream_cstrUC_Pc__1(char *__anonymous_object1245);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d016s_Istream_cstrUC__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1246), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1247), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1248, char *__anonymous_object1249, unsigned long int __anonymous_object1250), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1251, char __anonymous_object1252), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1253, const char *__fmt__PCc_1, ...), void *__anonymous_object1254, struct _Istream_cstrUC __anonymous_object1255);
-struct _Istream_cstrC {
-    char *__s__Pc_1;
-    signed int __size__i_1;
-};
-static inline void ___constructor__F_15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1);
-static inline void ___constructor__F_15s_Istream_cstrC15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, struct _Istream_cstrC ___src__15s_Istream_cstrC_1);
-static inline void ___destructor__F_15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1);
-static inline struct _Istream_cstrC ___operator_assign__F15s_Istream_cstrC_15s_Istream_cstrC15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, struct _Istream_cstrC ___src__15s_Istream_cstrC_1);
-static inline void ___constructor__F_15s_Istream_cstrCPc_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, char *__s__Pc_1);
-static inline void ___constructor__F_15s_Istream_cstrCPci_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, char *__s__Pc_1, signed int __size__i_1);
-static inline void ___constructor__F_15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1) /* ?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1) /* ?{} */);
-}
-static inline void ___constructor__F_15s_Istream_cstrC15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, struct _Istream_cstrC ___src__15s_Istream_cstrC_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1=___src__15s_Istream_cstrC_1.__s__Pc_1) /* ?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1=___src__15s_Istream_cstrC_1.__size__i_1) /* ?{} */);
-}
-static inline void ___destructor__F_15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1) /* ^?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1) /* ^?{} */);
-}
-static inline struct _Istream_cstrC ___operator_assign__F15s_Istream_cstrC_15s_Istream_cstrC15s_Istream_cstrC_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, struct _Istream_cstrC ___src__15s_Istream_cstrC_1){
-    struct _Istream_cstrC ___ret__15s_Istream_cstrC_1;
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1=___src__15s_Istream_cstrC_1.__s__Pc_1));
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1=___src__15s_Istream_cstrC_1.__size__i_1));
-    ((void)___constructor__F_15s_Istream_cstrC15s_Istream_cstrC_autogen___1((&___ret__15s_Istream_cstrC_1), (*___dst__15s_Istream_cstrC_1)));
-    return ___ret__15s_Istream_cstrC_1;
-}
-static inline void ___constructor__F_15s_Istream_cstrCPc_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, char *__s__Pc_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1=__s__Pc_1) /* ?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1) /* ?{} */);
-}
-static inline void ___constructor__F_15s_Istream_cstrCPci_autogen___1(struct _Istream_cstrC *___dst__15s_Istream_cstrC_1, char *__s__Pc_1, signed int __size__i_1){
-    ((void)((*___dst__15s_Istream_cstrC_1).__s__Pc_1=__s__Pc_1) /* ?{} */);
-    ((void)((*___dst__15s_Istream_cstrC_1).__size__i_1=__size__i_1) /* ?{} */);
-}
-struct _Istream_cstrC __cstr__F15s_Istream_cstrC_Pci__1(char *__anonymous_object1256, signed int __size__i_1);
-void *___operator_bitor__A0_1_0_0___fail__Fi_d0___eof__Fi_d0___open__F_d0PCc___close__F_d0___read__Fd0_d0PcUl___ungetc__Fd0_d0c___fmt__Fi_d0PCc__Fd0_d015s_Istream_cstrC__1(__attribute__ ((unused)) signed int (*__fail__Fi_7tistype__1)(void *__anonymous_object1257), __attribute__ ((unused)) signed int (*__eof__Fi_7tistype__1)(void *__anonymous_object1258), __attribute__ ((unused)) void (*__open__F_7tistypePCc__1)(void *__is__7tistype_1, const char *__name__PCc_1), __attribute__ ((unused)) void (*__close__F_7tistype__1)(void *__is__7tistype_1), __attribute__ ((unused)) void *(*__read__F7tistype_7tistypePcUl__1)(void *__anonymous_object1259, char *__anonymous_object1260, unsigned long int __anonymous_object1261), __attribute__ ((unused)) void *(*__ungetc__F7tistype_7tistypec__1)(void *__anonymous_object1262, char __anonymous_object1263), __attribute__ ((unused)) signed int (*__fmt__Fi_7tistypePCc__1)(void *__anonymous_object1264, const char *__fmt__PCc_1, ...), void *__anonymous_object1265, struct _Istream_cstrC __anonymous_object1266);
-struct Duration {
-    signed long long int __tv__q_1;
-};
-static inline void ___constructor__F_9sDuration_autogen___1(struct Duration *___dst__9sDuration_1);
-static inline void ___constructor__F_9sDuration9sDuration_autogen___1(struct Duration *___dst__9sDuration_1, struct Duration ___src__9sDuration_1);
-static inline void ___destructor__F_9sDuration_autogen___1(struct Duration *___dst__9sDuration_1);
-static inline struct Duration ___operator_assign__F9sDuration_9sDuration9sDuration_autogen___1(struct Duration *___dst__9sDuration_1, struct Duration ___src__9sDuration_1);
-static inline void ___constructor__F_9sDurationq_autogen___1(struct Duration *___dst__9sDuration_1, signed long long int __tv__q_1);
-static inline void ___constructor__F_9sDuration_autogen___1(struct Duration *___dst__9sDuration_1){
-    ((void)((*___dst__9sDuration_1).__tv__q_1) /* ?{} */);
-}
-static inline void ___constructor__F_9sDuration9sDuration_autogen___1(struct Duration *___dst__9sDuration_1, struct Duration ___src__9sDuration_1){
-    ((void)((*___dst__9sDuration_1).__tv__q_1=___src__9sDuration_1.__tv__q_1) /* ?{} */);
-}
-static inline void ___destructor__F_9sDuration_autogen___1(struct Duration *___dst__9sDuration_1){
-    ((void)((*___dst__9sDuration_1).__tv__q_1) /* ^?{} */);
-}
-static inline struct Duration ___operator_assign__F9sDuration_9sDuration9sDuration_autogen___1(struct Duration *___dst__9sDuration_1, struct Duration ___src__9sDuration_1){
-    struct Duration ___ret__9sDuration_1;
-    ((void)((*___dst__9sDuration_1).__tv__q_1=___src__9sDuration_1.__tv__q_1));
-    ((void)___constructor__F_9sDuration9sDuration_autogen___1((&___ret__9sDuration_1), (*___dst__9sDuration_1)));
-    return ___ret__9sDuration_1;
-}
-static inline void ___constructor__F_9sDurationq_autogen___1(struct Duration *___dst__9sDuration_1, signed long long int __tv__q_1){
-    ((void)((*___dst__9sDuration_1).__tv__q_1=__tv__q_1) /* ?{} */);
-}
-static inline void ___constructor__F_9sDuration__1(struct Duration *__dur__9sDuration_1){
-    ((void)((*__dur__9sDuration_1).__tv__q_1) /* ?{} */);
-    ((void)((*__dur__9sDuration_1).__tv__q_1=((signed long long int )0)));
-}
-static inline void ___constructor__F_9sDurationZ__1(struct Duration *__dur__9sDuration_1, long int __anonymous_object1267){
-    ((void)((*__dur__9sDuration_1).__tv__q_1) /* ?{} */);
-    ((void)((*__dur__9sDuration_1).__tv__q_1=((signed long long int )0)));
-}
-struct Time {
-    unsigned long long int __tv__Uq_1;
-};
-static inline void ___constructor__F_5sTime_autogen___1(struct Time *___dst__5sTime_1);
-static inline void ___constructor__F_5sTime5sTime_autogen___1(struct Time *___dst__5sTime_1, struct Time ___src__5sTime_1);
-static inline void ___destructor__F_5sTime_autogen___1(struct Time *___dst__5sTime_1);
-static inline struct Time ___operator_assign__F5sTime_5sTime5sTime_autogen___1(struct Time *___dst__5sTime_1, struct Time ___src__5sTime_1);
-static inline void ___constructor__F_5sTimeUq_autogen___1(struct Time *___dst__5sTime_1, unsigned long long int __tv__Uq_1);
-static inline void ___constructor__F_5sTime_autogen___1(struct Time *___dst__5sTime_1){
-    ((void)((*___dst__5sTime_1).__tv__Uq_1) /* ?{} */);
-}
-static inline void ___constructor__F_5sTime5sTime_autogen___1(struct Time *___dst__5sTime_1, struct Time ___src__5sTime_1){
-    ((void)((*___dst__5sTime_1).__tv__Uq_1=___src__5sTime_1.__tv__Uq_1) /* ?{} */);
-}
-static inline void ___destructor__F_5sTime_autogen___1(struct Time *___dst__5sTime_1){
-    ((void)((*___dst__5sTime_1).__tv__Uq_1) /* ^?{} */);
-}
-static inline struct Time ___operator_assign__F5sTime_5sTime5sTime_autogen___1(struct Time *___dst__5sTime_1, struct Time ___src__5sTime_1){
-    struct Time ___ret__5sTime_1;
-    ((void)((*___dst__5sTime_1).__tv__Uq_1=___src__5sTime_1.__tv__Uq_1));
-    ((void)___constructor__F_5sTime5sTime_autogen___1((&___ret__5sTime_1), (*___dst__5sTime_1)));
-    return ___ret__5sTime_1;
-}
-static inline void ___constructor__F_5sTimeUq_autogen___1(struct Time *___dst__5sTime_1, unsigned long long int __tv__Uq_1){
-    ((void)((*___dst__5sTime_1).__tv__Uq_1=__tv__Uq_1) /* ?{} */);
-}
-static inline void ___constructor__F_5sTime__1(struct Time *__time__5sTime_1){
-    ((void)((*__time__5sTime_1).__tv__Uq_1) /* ?{} */);
-    ((void)((*__time__5sTime_1).__tv__Uq_1=((unsigned long long int )0)));
-}
-static inline void ___constructor__F_5sTimeZ__1(struct Time *__time__5sTime_1, long int __anonymous_object1268){
-    ((void)((*__time__5sTime_1).__tv__Uq_1) /* ?{} */);
-    ((void)((*__time__5sTime_1).__tv__Uq_1=((unsigned long long int )0)));
-}
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d09sDuration__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object1269), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object1270), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object1271, _Bool __anonymous_object1272), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object1273), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object1274, const char *__anonymous_object1275), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object1276), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object1277, _Bool __anonymous_object1278), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object1279), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object1280), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object1281), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object1282), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object1283), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object1284, const char *__anonymous_object1285), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object1286), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object1287, const char *__anonymous_object1288), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object1289), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object1290), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object1291, const char *__anonymous_object1292, unsigned long int __anonymous_object1293), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object1294, const char *__fmt__PCc_1, ...), void *__os__7tostype_1, struct Duration __dur__9sDuration_1);
-void *___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d05sTime__1(__attribute__ ((unused)) _Bool (*__sepPrt__Fb_7tostype__1)(void *__anonymous_object1295), __attribute__ ((unused)) void (*__sepReset__F_7tostype__1)(void *__anonymous_object1296), __attribute__ ((unused)) void (*__sepReset__F_7tostypeb__1)(void *__anonymous_object1297, _Bool __anonymous_object1298), __attribute__ ((unused)) const char *(*__sepGetCur__FPCc_7tostype__1)(void *__anonymous_object1299), __attribute__ ((unused)) void (*__sepSetCur__F_7tostypePCc__1)(void *__anonymous_object1300, const char *__anonymous_object1301), __attribute__ ((unused)) _Bool (*__getNL__Fb_7tostype__1)(void *__anonymous_object1302), __attribute__ ((unused)) void (*__setNL__F_7tostypeb__1)(void *__anonymous_object1303, _Bool __anonymous_object1304), __attribute__ ((unused)) void (*__sepOn__F_7tostype__1)(void *__anonymous_object1305), __attribute__ ((unused)) void (*__sepOff__F_7tostype__1)(void *__anonymous_object1306), __attribute__ ((unused)) _Bool (*__sepDisable__Fb_7tostype__1)(void *__anonymous_object1307), __attribute__ ((unused)) _Bool (*__sepEnable__Fb_7tostype__1)(void *__anonymous_object1308), __attribute__ ((unused)) const char *(*__sepGet__FPCc_7tostype__1)(void *__anonymous_object1309), __attribute__ ((unused)) void (*__sepSet__F_7tostypePCc__1)(void *__anonymous_object1310, const char *__anonymous_object1311), __attribute__ ((unused)) const char *(*__sepGetTuple__FPCc_7tostype__1)(void *__anonymous_object1312), __attribute__ ((unused)) void (*__sepSetTuple__F_7tostypePCc__1)(void *__anonymous_object1313, const char *__anonymous_object1314), __attribute__ ((unused)) signed int (*__fail__Fi_7tostype__1)(void *__anonymous_object1315), __attribute__ ((unused)) signed int (*__flush__Fi_7tostype__1)(void *__anonymous_object1316), __attribute__ ((unused)) void (*__open__F_7tostypePCcPCc__1)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1), __attribute__ ((unused)) void (*__close__F_7tostype__1)(void *__os__7tostype_1), __attribute__ ((unused)) void *(*__write__F7tostype_7tostypePCcUl__1)(void *__anonymous_object1317, const char *__anonymous_object1318, unsigned long int __anonymous_object1319), __attribute__ ((unused)) signed int (*__fmt__Fi_7tostypePCc__1)(void *__anonymous_object1320, const char *__fmt__PCc_1, ...), void *__os__7tostype_1, struct Time __time__5sTime_1);
-enum __anonymous0 {
-    __sepSize__C13e__anonymous0_1 = 16,
-};
-struct ofstream {
-    void *__file__Pv_1;
-    _Bool __sepDefault__b_1;
-    _Bool __sepOnOff__b_1;
-    _Bool __sawNL__b_1;
-    const char *__sepCur__PCc_1;
-    char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)];
-    char __tupleSeparator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)];
-};
-static inline void ___constructor__F_9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1);
-static inline void ___constructor__F_9sofstream9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1, struct ofstream ___src__9sofstream_1);
-static inline void ___destructor__F_9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1);
-static inline struct ofstream ___operator_assign__F9sofstream_9sofstream9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1, struct ofstream ___src__9sofstream_1);
-static inline void ___constructor__F_9sofstreamPv_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1);
-static inline void ___constructor__F_9sofstreamPvb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1);
-static inline void ___constructor__F_9sofstreamPvbb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1);
-static inline void ___constructor__F_9sofstreamPvbbb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1);
-static inline void ___constructor__F_9sofstreamPvbbbPCc_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1);
-static inline void ___constructor__F_9sofstreamPvbbbPCcA0c_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)]);
-static inline void ___constructor__F_9sofstreamPvbbbPCcA0cA0c_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)], char __tupleSeparator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)]);
-static inline void ___constructor__F_9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index0 = 0;
-        for (;(_index0<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index0))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index0]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index1 = 0;
-        for (;(_index1<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index1))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index1]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstream9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1, struct ofstream ___src__9sofstream_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=___src__9sofstream_1.__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=___src__9sofstream_1.__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=___src__9sofstream_1.__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=___src__9sofstream_1.__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=___src__9sofstream_1.__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index2 = 0;
-        for (;(_index2<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index2))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index2]=___src__9sofstream_1.__separator__A0c_1[_index2]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index3 = 0;
-        for (;(_index3<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index3))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index3]=___src__9sofstream_1.__tupleSeparator__A0c_1[_index3]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___destructor__F_9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1){
-    {
-        signed int _index4 = (((signed int )__sepSize__C13e__anonymous0_1)-1);
-        for (;(_index4>=0);((void)(--_index4))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index4]) /* ^?{} */);
-        }
-
-    }
-
-    {
-        signed int _index5 = (((signed int )__sepSize__C13e__anonymous0_1)-1);
-        for (;(_index5>=0);((void)(--_index5))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index5]) /* ^?{} */);
-        }
-
-    }
-
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ^?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ^?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1) /* ^?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1) /* ^?{} */);
-    ((void)((*___dst__9sofstream_1).__file__Pv_1) /* ^?{} */);
-}
-static inline struct ofstream ___operator_assign__F9sofstream_9sofstream9sofstream_autogen___1(struct ofstream *___dst__9sofstream_1, struct ofstream ___src__9sofstream_1){
-    struct ofstream ___ret__9sofstream_1;
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=___src__9sofstream_1.__file__Pv_1));
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=___src__9sofstream_1.__sepDefault__b_1));
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=___src__9sofstream_1.__sepOnOff__b_1));
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=___src__9sofstream_1.__sawNL__b_1));
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=___src__9sofstream_1.__sepCur__PCc_1));
-    {
-        signed int _index6 = 0;
-        for (;(_index6<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index6))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index6]=___src__9sofstream_1.__separator__A0c_1[_index6]));
-        }
-
-    }
-
-    {
-        signed int _index7 = 0;
-        for (;(_index7<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index7))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index7]=___src__9sofstream_1.__tupleSeparator__A0c_1[_index7]));
-        }
-
-    }
-
-    ((void)___constructor__F_9sofstream9sofstream_autogen___1((&___ret__9sofstream_1), (*___dst__9sofstream_1)));
-    return ___ret__9sofstream_1;
-}
-static inline void ___constructor__F_9sofstreamPv_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index8 = 0;
-        for (;(_index8<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index8))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index8]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index9 = 0;
-        for (;(_index9<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index9))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index9]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index10 = 0;
-        for (;(_index10<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index10))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index10]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index11 = 0;
-        for (;(_index11<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index11))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index11]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index12 = 0;
-        for (;(_index12<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index12))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index12]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index13 = 0;
-        for (;(_index13<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index13))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index13]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbbb_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index14 = 0;
-        for (;(_index14<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index14))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index14]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index15 = 0;
-        for (;(_index15<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index15))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index15]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbbbPCc_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index16 = 0;
-        for (;(_index16<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index16))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index16]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index17 = 0;
-        for (;(_index17<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index17))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index17]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbbbPCcA0c_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)]){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index18 = 0;
-        for (;(_index18<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index18))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index18]=__separator__A0c_1[_index18]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index19 = 0;
-        for (;(_index19<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index19))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index19]) /* ?{} */);
-        }
-
-    }
-
-}
-static inline void ___constructor__F_9sofstreamPvbbbPCcA0cA0c_autogen___1(struct ofstream *___dst__9sofstream_1, void *__file__Pv_1, _Bool __sepDefault__b_1, _Bool __sepOnOff__b_1, _Bool __sawNL__b_1, const char *__sepCur__PCc_1, char __separator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)], char __tupleSeparator__A0c_1[((unsigned int )__sepSize__C13e__anonymous0_1)]){
-    ((void)((*___dst__9sofstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepDefault__b_1=__sepDefault__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepOnOff__b_1=__sepOnOff__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sawNL__b_1=__sawNL__b_1) /* ?{} */);
-    ((void)((*___dst__9sofstream_1).__sepCur__PCc_1=__sepCur__PCc_1) /* ?{} */);
-    {
-        signed int _index20 = 0;
-        for (;(_index20<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index20))) {
-            ((void)((*___dst__9sofstream_1).__separator__A0c_1[_index20]=__separator__A0c_1[_index20]) /* ?{} */);
-        }
-
-    }
-
-    {
-        signed int _index21 = 0;
-        for (;(_index21<((signed int )__sepSize__C13e__anonymous0_1));((void)(++_index21))) {
-            ((void)((*___dst__9sofstream_1).__tupleSeparator__A0c_1[_index21]=__tupleSeparator__A0c_1[_index21]) /* ?{} */);
-        }
-
-    }
-
-}
-_Bool __sepPrt__Fb_9sofstream__1(struct ofstream *__anonymous_object1321);
-void __sepReset__F_9sofstream__1(struct ofstream *__anonymous_object1322);
-void __sepReset__F_9sofstreamb__1(struct ofstream *__anonymous_object1323, _Bool __anonymous_object1324);
-const char *__sepGetCur__FPCc_9sofstream__1(struct ofstream *__anonymous_object1325);
-void __sepSetCur__F_9sofstreamPCc__1(struct ofstream *__anonymous_object1326, const char *__anonymous_object1327);
-_Bool __getNL__Fb_9sofstream__1(struct ofstream *__anonymous_object1328);
-void __setNL__F_9sofstreamb__1(struct ofstream *__anonymous_object1329, _Bool __anonymous_object1330);
-void __sepOn__F_9sofstream__1(struct ofstream *__anonymous_object1331);
-void __sepOff__F_9sofstream__1(struct ofstream *__anonymous_object1332);
-_Bool __sepDisable__Fb_9sofstream__1(struct ofstream *__anonymous_object1333);
-_Bool __sepEnable__Fb_9sofstream__1(struct ofstream *__anonymous_object1334);
-const char *__sepGet__FPCc_9sofstream__1(struct ofstream *__anonymous_object1335);
-void __sepSet__F_9sofstreamPCc__1(struct ofstream *__anonymous_object1336, const char *__anonymous_object1337);
-const char *__sepGetTuple__FPCc_9sofstream__1(struct ofstream *__anonymous_object1338);
-void __sepSetTuple__F_9sofstreamPCc__1(struct ofstream *__anonymous_object1339, const char *__anonymous_object1340);
-signed int __fail__Fi_9sofstream__1(struct ofstream *__anonymous_object1341);
-signed int __flush__Fi_9sofstream__1(struct ofstream *__anonymous_object1342);
-void __open__F_9sofstreamPCcPCc__1(struct ofstream *__anonymous_object1343, const char *__name__PCc_1, const char *__mode__PCc_1);
-void __open__F_9sofstreamPCc__1(struct ofstream *__anonymous_object1344, const char *__name__PCc_1);
-void __close__F_9sofstream__1(struct ofstream *__anonymous_object1345);
-struct ofstream *__write__F9sofstream_9sofstreamPCcUl__1(struct ofstream *__anonymous_object1346, const char *__data__PCc_1, unsigned long int __size__Ul_1);
-signed int __fmt__Fi_9sofstreamPCc__1(struct ofstream *__anonymous_object1347, const char *__fmt__PCc_1, ...);
-void ___constructor__F_9sofstream__1(struct ofstream *__os__9sofstream_1);
-void ___constructor__F_9sofstreamPCcPCc__1(struct ofstream *__os__9sofstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
-void ___constructor__F_9sofstreamPCc__1(struct ofstream *__os__9sofstream_1, const char *__name__PCc_1);
-extern struct ofstream *__sout__9sofstream_1;
-extern struct ofstream *__serr__9sofstream_1;
-struct ifstream {
-    void *__file__Pv_1;
-};
-static inline void ___constructor__F_9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1);
-static inline void ___constructor__F_9sifstream9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1, struct ifstream ___src__9sifstream_1);
-static inline void ___destructor__F_9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1);
-static inline struct ifstream ___operator_assign__F9sifstream_9sifstream9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1, struct ifstream ___src__9sifstream_1);
-static inline void ___constructor__F_9sifstreamPv_autogen___1(struct ifstream *___dst__9sifstream_1, void *__file__Pv_1);
-static inline void ___constructor__F_9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1){
-    ((void)((*___dst__9sifstream_1).__file__Pv_1) /* ?{} */);
-}
-static inline void ___constructor__F_9sifstream9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1, struct ifstream ___src__9sifstream_1){
-    ((void)((*___dst__9sifstream_1).__file__Pv_1=___src__9sifstream_1.__file__Pv_1) /* ?{} */);
-}
-static inline void ___destructor__F_9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1){
-    ((void)((*___dst__9sifstream_1).__file__Pv_1) /* ^?{} */);
-}
-static inline struct ifstream ___operator_assign__F9sifstream_9sifstream9sifstream_autogen___1(struct ifstream *___dst__9sifstream_1, struct ifstream ___src__9sifstream_1){
-    struct ifstream ___ret__9sifstream_1;
-    ((void)((*___dst__9sifstream_1).__file__Pv_1=___src__9sifstream_1.__file__Pv_1));
-    ((void)___constructor__F_9sifstream9sifstream_autogen___1((&___ret__9sifstream_1), (*___dst__9sifstream_1)));
-    return ___ret__9sifstream_1;
-}
-static inline void ___constructor__F_9sifstreamPv_autogen___1(struct ifstream *___dst__9sifstream_1, void *__file__Pv_1){
-    ((void)((*___dst__9sifstream_1).__file__Pv_1=__file__Pv_1) /* ?{} */);
-}
-signed int __fail__Fi_9sifstream__1(struct ifstream *__is__9sifstream_1);
-signed int __eof__Fi_9sifstream__1(struct ifstream *__is__9sifstream_1);
-void __open__F_9sifstreamPCcPCc__1(struct ifstream *__is__9sifstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
-void __open__F_9sifstreamPCc__1(struct ifstream *__is__9sifstream_1, const char *__name__PCc_1);
-void __close__F_9sifstream__1(struct ifstream *__is__9sifstream_1);
-struct ifstream *__read__F9sifstream_9sifstreamPcUl__1(struct ifstream *__is__9sifstream_1, char *__data__Pc_1, unsigned long int __size__Ul_1);
-struct ifstream *__ungetc__F9sifstream_9sifstreamc__1(struct ifstream *__is__9sifstream_1, char __c__c_1);
-signed int __fmt__Fi_9sifstreamPCc__1(struct ifstream *__anonymous_object1348, const char *__fmt__PCc_1, ...);
-void ___constructor__F_9sifstream__1(struct ifstream *__is__9sifstream_1);
-void ___constructor__F_9sifstreamPCcPCc__1(struct ifstream *__is__9sifstream_1, const char *__name__PCc_1, const char *__mode__PCc_1);
-void ___constructor__F_9sifstreamPCc__1(struct ifstream *__is__9sifstream_1, const char *__name__PCc_1);
-extern struct ifstream *__sin__9sifstream_1;
-void __f__F_c__1(char __v__c_1){
-    struct ofstream *_tmp_cp_ret2;
-    struct ofstream *_tmp_cp_ret3;
-    struct ofstream *_tmp_cp_ret4;
-    __attribute__ ((unused)) struct ofstream *_thunk0(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1349))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1350))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1351, _Bool __anonymous_object1352))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1353))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1354, const char *__anonymous_object1355))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1356))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1357, _Bool __anonymous_object1358))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1359))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1360))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1361))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1362))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1363))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1364, const char *__anonymous_object1365))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1366))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1367, const char *__anonymous_object1368))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1369))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1370))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1371, const char *__anonymous_object1372, unsigned long int __anonymous_object1373))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1374, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret4=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1375))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1376))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1377, _Bool __anonymous_object1378))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1379))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1380, const char *__anonymous_object1381))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1382))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1383, _Bool __anonymous_object1384))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1385))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1386))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1387))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1388))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1389))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1390, const char *__anonymous_object1391))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1392))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1393, const char *__anonymous_object1394))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1395))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1396))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1397, const char *__anonymous_object1398, unsigned long int __anonymous_object1399))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1400, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret3=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0c__1(((_Bool (*)(void *__anonymous_object1401))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1402))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1403, _Bool __anonymous_object1404))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1405))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1406, const char *__anonymous_object1407))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1408))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1409, _Bool __anonymous_object1410))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1411))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1412))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1413))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1414))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1415))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1416, const char *__anonymous_object1417))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1418))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1419, const char *__anonymous_object1420))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1421))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1422))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1423, const char *__anonymous_object1424, unsigned long int __anonymous_object1425))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1426, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret2=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1427))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1428))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1429, _Bool __anonymous_object1430))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1431))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1432, const char *__anonymous_object1433))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1434))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1435, _Bool __anonymous_object1436))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1437))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1438))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1439))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1440))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1441))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1442, const char *__anonymous_object1443))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1444))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1445, const char *__anonymous_object1446))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1447))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1448))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1449, const char *__anonymous_object1450, unsigned long int __anonymous_object1451))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1452, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "char "))) , _tmp_cp_ret2)), __v__c_1))) , _tmp_cp_ret3)), ((void *(*)(void *__anonymous_object1453))(&_thunk0))))) , _tmp_cp_ret4));
-}
-void __f__F_Sc__1(signed char __v__Sc_1){
-    struct ofstream *_tmp_cp_ret5;
-    struct ofstream *_tmp_cp_ret6;
-    struct ofstream *_tmp_cp_ret7;
-    __attribute__ ((unused)) struct ofstream *_thunk1(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1454))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1455))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1456, _Bool __anonymous_object1457))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1458))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1459, const char *__anonymous_object1460))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1461))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1462, _Bool __anonymous_object1463))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1464))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1465))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1466))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1467))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1468))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1469, const char *__anonymous_object1470))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1471))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1472, const char *__anonymous_object1473))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1474))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1475))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1476, const char *__anonymous_object1477, unsigned long int __anonymous_object1478))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1479, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret7=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1480))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1481))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1482, _Bool __anonymous_object1483))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1484))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1485, const char *__anonymous_object1486))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1487))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1488, _Bool __anonymous_object1489))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1490))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1491))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1492))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1493))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1494))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1495, const char *__anonymous_object1496))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1497))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1498, const char *__anonymous_object1499))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1500))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1501))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1502, const char *__anonymous_object1503, unsigned long int __anonymous_object1504))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1505, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret6=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Sc__1(((_Bool (*)(void *__anonymous_object1506))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1507))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1508, _Bool __anonymous_object1509))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1510))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1511, const char *__anonymous_object1512))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1513))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1514, _Bool __anonymous_object1515))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1516))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1517))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1518))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1519))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1520))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1521, const char *__anonymous_object1522))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1523))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1524, const char *__anonymous_object1525))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1526))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1527))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1528, const char *__anonymous_object1529, unsigned long int __anonymous_object1530))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1531, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret5=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1532))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1533))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1534, _Bool __anonymous_object1535))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1536))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1537, const char *__anonymous_object1538))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1539))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1540, _Bool __anonymous_object1541))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1542))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1543))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1544))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1545))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1546))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1547, const char *__anonymous_object1548))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1549))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1550, const char *__anonymous_object1551))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1552))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1553))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1554, const char *__anonymous_object1555, unsigned long int __anonymous_object1556))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1557, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "signed char "))) , _tmp_cp_ret5)), __v__Sc_1))) , _tmp_cp_ret6)), ((void *(*)(void *__anonymous_object1558))(&_thunk1))))) , _tmp_cp_ret7));
-}
-void __f__F_Uc__1(unsigned char __v__Uc_1){
-    struct ofstream *_tmp_cp_ret8;
-    struct ofstream *_tmp_cp_ret9;
-    struct ofstream *_tmp_cp_ret10;
-    __attribute__ ((unused)) struct ofstream *_thunk2(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1559))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1560))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1561, _Bool __anonymous_object1562))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1563))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1564, const char *__anonymous_object1565))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1566))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1567, _Bool __anonymous_object1568))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1569))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1570))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1571))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1572))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1573))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1574, const char *__anonymous_object1575))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1576))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1577, const char *__anonymous_object1578))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1579))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1580))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1581, const char *__anonymous_object1582, unsigned long int __anonymous_object1583))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1584, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret10=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1585))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1586))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1587, _Bool __anonymous_object1588))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1589))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1590, const char *__anonymous_object1591))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1592))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1593, _Bool __anonymous_object1594))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1595))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1596))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1597))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1598))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1599))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1600, const char *__anonymous_object1601))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1602))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1603, const char *__anonymous_object1604))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1605))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1606))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1607, const char *__anonymous_object1608, unsigned long int __anonymous_object1609))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1610, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret9=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Uc__1(((_Bool (*)(void *__anonymous_object1611))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1612))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1613, _Bool __anonymous_object1614))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1615))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1616, const char *__anonymous_object1617))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1618))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1619, _Bool __anonymous_object1620))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1621))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1622))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1623))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1624))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1625))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1626, const char *__anonymous_object1627))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1628))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1629, const char *__anonymous_object1630))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1631))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1632))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1633, const char *__anonymous_object1634, unsigned long int __anonymous_object1635))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1636, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret8=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1637))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1638))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1639, _Bool __anonymous_object1640))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1641))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1642, const char *__anonymous_object1643))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1644))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1645, _Bool __anonymous_object1646))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1647))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1648))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1649))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1650))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1651))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1652, const char *__anonymous_object1653))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1654))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1655, const char *__anonymous_object1656))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1657))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1658))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1659, const char *__anonymous_object1660, unsigned long int __anonymous_object1661))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1662, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "unsigned char "))) , _tmp_cp_ret8)), __v__Uc_1))) , _tmp_cp_ret9)), ((void *(*)(void *__anonymous_object1663))(&_thunk2))))) , _tmp_cp_ret10));
-}
-void __f__F_s__1(signed short int __v__s_1){
-    struct ofstream *_tmp_cp_ret11;
-    struct ofstream *_tmp_cp_ret12;
-    struct ofstream *_tmp_cp_ret13;
-    __attribute__ ((unused)) struct ofstream *_thunk3(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1664))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1665))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1666, _Bool __anonymous_object1667))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1668))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1669, const char *__anonymous_object1670))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1671))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1672, _Bool __anonymous_object1673))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1674))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1675))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1676))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1677))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1678))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1679, const char *__anonymous_object1680))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1681))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1682, const char *__anonymous_object1683))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1684))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1685))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1686, const char *__anonymous_object1687, unsigned long int __anonymous_object1688))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1689, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret13=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1690))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1691))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1692, _Bool __anonymous_object1693))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1694))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1695, const char *__anonymous_object1696))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1697))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1698, _Bool __anonymous_object1699))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1700))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1701))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1702))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1703))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1704))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1705, const char *__anonymous_object1706))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1707))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1708, const char *__anonymous_object1709))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1710))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1711))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1712, const char *__anonymous_object1713, unsigned long int __anonymous_object1714))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1715, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret12=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0s__1(((_Bool (*)(void *__anonymous_object1716))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1717))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1718, _Bool __anonymous_object1719))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1720))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1721, const char *__anonymous_object1722))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1723))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1724, _Bool __anonymous_object1725))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1726))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1727))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1728))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1729))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1730))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1731, const char *__anonymous_object1732))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1733))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1734, const char *__anonymous_object1735))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1736))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1737))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1738, const char *__anonymous_object1739, unsigned long int __anonymous_object1740))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1741, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret11=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1742))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1743))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1744, _Bool __anonymous_object1745))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1746))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1747, const char *__anonymous_object1748))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1749))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1750, _Bool __anonymous_object1751))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1752))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1753))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1754))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1755))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1756))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1757, const char *__anonymous_object1758))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1759))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1760, const char *__anonymous_object1761))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1762))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1763))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1764, const char *__anonymous_object1765, unsigned long int __anonymous_object1766))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1767, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "signed short int"))) , _tmp_cp_ret11)), __v__s_1))) , _tmp_cp_ret12)), ((void *(*)(void *__anonymous_object1768))(&_thunk3))))) , _tmp_cp_ret13));
-}
-void __f__F_Us__1(unsigned short int __v__Us_1){
-    struct ofstream *_tmp_cp_ret14;
-    struct ofstream *_tmp_cp_ret15;
-    struct ofstream *_tmp_cp_ret16;
-    __attribute__ ((unused)) struct ofstream *_thunk4(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1769))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1770))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1771, _Bool __anonymous_object1772))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1773))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1774, const char *__anonymous_object1775))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1776))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1777, _Bool __anonymous_object1778))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1779))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1780))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1781))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1782))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1783))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1784, const char *__anonymous_object1785))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1786))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1787, const char *__anonymous_object1788))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1789))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1790))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1791, const char *__anonymous_object1792, unsigned long int __anonymous_object1793))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1794, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret16=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1795))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1796))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1797, _Bool __anonymous_object1798))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1799))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1800, const char *__anonymous_object1801))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1802))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1803, _Bool __anonymous_object1804))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1805))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1806))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1807))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1808))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1809))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1810, const char *__anonymous_object1811))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1812))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1813, const char *__anonymous_object1814))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1815))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1816))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1817, const char *__anonymous_object1818, unsigned long int __anonymous_object1819))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1820, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret15=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Us__1(((_Bool (*)(void *__anonymous_object1821))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1822))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1823, _Bool __anonymous_object1824))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1825))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1826, const char *__anonymous_object1827))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1828))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1829, _Bool __anonymous_object1830))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1831))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1832))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1833))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1834))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1835))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1836, const char *__anonymous_object1837))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1838))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1839, const char *__anonymous_object1840))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1841))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1842))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1843, const char *__anonymous_object1844, unsigned long int __anonymous_object1845))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1846, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret14=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1847))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1848))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1849, _Bool __anonymous_object1850))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1851))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1852, const char *__anonymous_object1853))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1854))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1855, _Bool __anonymous_object1856))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1857))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1858))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1859))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1860))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1861))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1862, const char *__anonymous_object1863))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1864))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1865, const char *__anonymous_object1866))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1867))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1868))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1869, const char *__anonymous_object1870, unsigned long int __anonymous_object1871))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1872, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "unsigned short int"))) , _tmp_cp_ret14)), __v__Us_1))) , _tmp_cp_ret15)), ((void *(*)(void *__anonymous_object1873))(&_thunk4))))) , _tmp_cp_ret16));
-}
-void __f__F_Ui__1(unsigned int __v__Ui_1){
-    struct ofstream *_tmp_cp_ret17;
-    struct ofstream *_tmp_cp_ret18;
-    struct ofstream *_tmp_cp_ret19;
-    __attribute__ ((unused)) struct ofstream *_thunk5(struct ofstream *_p0){
-        return __endl__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0__1(((_Bool (*)(void *__anonymous_object1874))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1875))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1876, _Bool __anonymous_object1877))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1878))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1879, const char *__anonymous_object1880))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1881))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1882, _Bool __anonymous_object1883))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1884))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1885))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1886))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1887))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1888))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1889, const char *__anonymous_object1890))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1891))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1892, const char *__anonymous_object1893))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1894))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1895))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1896, const char *__anonymous_object1897, unsigned long int __anonymous_object1898))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1899, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)_p0));
-    }
-    ((void)(((void)(_tmp_cp_ret19=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Fd0_d0___1(((_Bool (*)(void *__anonymous_object1900))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1901))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1902, _Bool __anonymous_object1903))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1904))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1905, const char *__anonymous_object1906))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1907))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1908, _Bool __anonymous_object1909))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1910))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1911))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1912))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1913))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1914))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1915, const char *__anonymous_object1916))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1917))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1918, const char *__anonymous_object1919))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1920))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1921))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1922, const char *__anonymous_object1923, unsigned long int __anonymous_object1924))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1925, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret18=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0Ui__1(((_Bool (*)(void *__anonymous_object1926))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1927))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1928, _Bool __anonymous_object1929))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1930))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1931, const char *__anonymous_object1932))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1933))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1934, _Bool __anonymous_object1935))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1936))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1937))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1938))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1939))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1940))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1941, const char *__anonymous_object1942))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1943))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1944, const char *__anonymous_object1945))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1946))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1947))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1948, const char *__anonymous_object1949, unsigned long int __anonymous_object1950))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1951, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)(((void)(_tmp_cp_ret17=___operator_bitor__A0_1_0_0___sepPrt__Fb_d0___sepReset__F_d0___sepReset__F_d0b___sepGetCur__FPCc_d0___sepSetCur__F_d0PCc___getNL__Fb_d0___setNL__F_d0b___sepOn__F_d0___sepOff__F_d0___sepDisable__Fb_d0___sepEnable__Fb_d0___sepGet__FPCc_d0___sepSet__F_d0PCc___sepGetTuple__FPCc_d0___sepSetTuple__F_d0PCc___fail__Fi_d0___flush__Fi_d0___open__F_d0PCcPCc___close__F_d0___write__Fd0_d0PCcUl___fmt__Fi_d0PCc__Fd0_d0PCc__1(((_Bool (*)(void *__anonymous_object1952))__sepPrt__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1953))__sepReset__F_9sofstream__1), ((void (*)(void *__anonymous_object1954, _Bool __anonymous_object1955))__sepReset__F_9sofstreamb__1), ((const char *(*)(void *__anonymous_object1956))__sepGetCur__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1957, const char *__anonymous_object1958))__sepSetCur__F_9sofstreamPCc__1), ((_Bool (*)(void *__anonymous_object1959))__getNL__Fb_9sofstream__1), ((void (*)(void *__anonymous_object1960, _Bool __anonymous_object1961))__setNL__F_9sofstreamb__1), ((void (*)(void *__anonymous_object1962))__sepOn__F_9sofstream__1), ((void (*)(void *__anonymous_object1963))__sepOff__F_9sofstream__1), ((_Bool (*)(void *__anonymous_object1964))__sepDisable__Fb_9sofstream__1), ((_Bool (*)(void *__anonymous_object1965))__sepEnable__Fb_9sofstream__1), ((const char *(*)(void *__anonymous_object1966))__sepGet__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1967, const char *__anonymous_object1968))__sepSet__F_9sofstreamPCc__1), ((const char *(*)(void *__anonymous_object1969))__sepGetTuple__FPCc_9sofstream__1), ((void (*)(void *__anonymous_object1970, const char *__anonymous_object1971))__sepSetTuple__F_9sofstreamPCc__1), ((signed int (*)(void *__anonymous_object1972))__fail__Fi_9sofstream__1), ((signed int (*)(void *__anonymous_object1973))__flush__Fi_9sofstream__1), ((void (*)(void *__os__7tostype_1, const char *__name__PCc_1, const char *__mode__PCc_1))__open__F_9sofstreamPCcPCc__1), ((void (*)(void *__os__7tostype_1))__close__F_9sofstream__1), ((void *(*)(void *__anonymous_object1974, const char *__anonymous_object1975, unsigned long int __anonymous_object1976))__write__F9sofstream_9sofstreamPCcUl__1), ((signed int (*)(void *__anonymous_object1977, const char *__fmt__PCc_1, ...))__fmt__Fi_9sofstreamPCc__1), ((void *)__sout__9sofstream_1), "size_t"))) , _tmp_cp_ret17)), __v__Ui_1))) , _tmp_cp_ret18)), ((void *(*)(void *__anonymous_object1978))(&_thunk5))))) , _tmp_cp_ret19));
-}
-signed int __main__Fi___1(){
-    __attribute__ ((unused)) signed int ___retval_main__i_1;
-    ((void)0b01101011);
-    ((void)0b01101011u);
-    ((void)0b01101011l);
-    ((void)0b01101011ll);
-    ((void)0b01101011ul);
-    ((void)0b01101011lu);
-    ((void)0b01101011ull);
-    ((void)0b01101011llu);
-    ((void)(+0b01101011));
-    ((void)(+0b01101011u));
-    ((void)(+0b01101011l));
-    ((void)(+0b01101011ll));
-    ((void)(+0b01101011ul));
-    ((void)(+0b01101011lu));
-    ((void)(+0b01101011ull));
-    ((void)(+0b01101011llu));
-    ((void)(-0b01101011));
-    ((void)(-0b01101011u));
-    ((void)(-0b01101011l));
-    ((void)(-0b01101011ll));
-    ((void)(-0b01101011ul));
-    ((void)(-0b01101011lu));
-    ((void)(-0b01101011ull));
-    ((void)(-0b01101011llu));
-    ((void)01234567);
-    ((void)01234567u);
-    ((void)01234567l);
-    ((void)01234567ll);
-    ((void)01234567ul);
-    ((void)01234567lu);
-    ((void)01234567ull);
-    ((void)01234567llu);
-    ((void)(+01234567));
-    ((void)(+01234567u));
-    ((void)(+01234567l));
-    ((void)(+01234567ll));
-    ((void)(+01234567ul));
-    ((void)(+01234567lu));
-    ((void)(+01234567ull));
-    ((void)(+01234567llu));
-    ((void)(-01234567));
-    ((void)(-01234567u));
-    ((void)(-01234567l));
-    ((void)(-01234567ll));
-    ((void)(-01234567ul));
-    ((void)(-01234567lu));
-    ((void)(-01234567ull));
-    ((void)(-01234567llu));
-    ((void)1234567890);
-    ((void)1234567890u);
-    ((void)1234567890l);
-    ((void)1234567890ll);
-    ((void)1234567890ul);
-    ((void)1234567890lu);
-    ((void)1234567890ull);
-    ((void)1234567890llu);
-    ((void)(+1234567890));
-    ((void)(+1234567890u));
-    ((void)(+1234567890l));
-    ((void)(+1234567890ll));
-    ((void)(+1234567890ul));
-    ((void)(+1234567890lu));
-    ((void)(+1234567890ull));
-    ((void)(+1234567890llu));
-    ((void)(-1234567890));
-    ((void)(-1234567890u));
-    ((void)(-1234567890l));
-    ((void)(-1234567890ll));
-    ((void)(-1234567890ul));
-    ((void)(-1234567890lu));
-    ((void)(-1234567890ull));
-    ((void)(-1234567890llu));
-    ((void)0x0123456789abcdef);
-    ((void)0x0123456789abcdefu);
-    ((void)0x0123456789abcdefl);
-    ((void)0x0123456789abcdefll);
-    ((void)0x0123456789abcdeful);
-    ((void)0x0123456789abcdeflu);
-    ((void)0x0123456789abcdefull);
-    ((void)0x0123456789abcdefllu);
-    ((void)(+0x0123456789abcdef));
-    ((void)(+0x0123456789abcdefu));
-    ((void)(+0x0123456789abcdefl));
-    ((void)(+0x0123456789abcdefll));
-    ((void)(+0x0123456789abcdeful));
-    ((void)(+0x0123456789abcdeflu));
-    ((void)(+0x0123456789abcdefull));
-    ((void)(+0x0123456789abcdefllu));
-    ((void)(-0x0123456789abcdef));
-    ((void)(-0x0123456789abcdefu));
-    ((void)(-0x0123456789abcdefl));
-    ((void)(-0x0123456789abcdefll));
-    ((void)(-0x0123456789abcdeful));
-    ((void)(-0x0123456789abcdeflu));
-    ((void)(-0x0123456789abcdefull));
-    ((void)(-0x0123456789abcdefllu));
-    ((void)0x0123456789ABCDEF);
-    ((void)0x0123456789ABCDEFu);
-    ((void)0x0123456789ABCDEFl);
-    ((void)0x0123456789ABCDEFll);
-    ((void)0x0123456789ABCDEFul);
-    ((void)0x0123456789ABCDEFlu);
-    ((void)0x0123456789ABCDEFull);
-    ((void)0x0123456789ABCDEFllu);
-    ((void)(+0x0123456789ABCDEF));
-    ((void)(+0x0123456789ABCDEFu));
-    ((void)(+0x0123456789ABCDEFl));
-    ((void)(+0x0123456789ABCDEFll));
-    ((void)(+0x0123456789ABCDEFul));
-    ((void)(+0x0123456789ABCDEFlu));
-    ((void)(+0x0123456789ABCDEFull));
-    ((void)(+0x0123456789ABCDEFllu));
-    ((void)(-0x0123456789ABCDEF));
-    ((void)(-0x0123456789ABCDEFu));
-    ((void)(-0x0123456789ABCDEFl));
-    ((void)(-0x0123456789ABCDEFll));
-    ((void)(-0x0123456789ABCDEFul));
-    ((void)(-0x0123456789ABCDEFlu));
-    ((void)(-0x0123456789ABCDEFull));
-    ((void)(-0x0123456789ABCDEFllu));
-    ((void)0X0123456789abcdef);
-    ((void)0X0123456789abcdefu);
-    ((void)0X0123456789abcdefl);
-    ((void)0X0123456789abcdefll);
-    ((void)0X0123456789abcdeful);
-    ((void)0X0123456789abcdeflu);
-    ((void)0X0123456789abcdefull);
-    ((void)0X0123456789abcdefllu);
-    ((void)(+0X0123456789abcdef));
-    ((void)(+0X0123456789abcdefu));
-    ((void)(+0X0123456789abcdefl));
-    ((void)(+0X0123456789abcdefll));
-    ((void)(+0X0123456789abcdeful));
-    ((void)(+0X0123456789abcdeflu));
-    ((void)(+0X0123456789abcdefull));
-    ((void)(+0X0123456789abcdefllu));
-    ((void)(-0X0123456789abcdef));
-    ((void)(-0X0123456789abcdefu));
-    ((void)(-0X0123456789abcdefl));
-    ((void)(-0X0123456789abcdefll));
-    ((void)(-0X0123456789abcdeful));
-    ((void)(-0X0123456789abcdeflu));
-    ((void)(-0X0123456789abcdefull));
-    ((void)(-0X0123456789abcdefllu));
-    ((void)0X0123456789ABCDEF);
-    ((void)0X0123456789ABCDEFu);
-    ((void)0X0123456789ABCDEFl);
-    ((void)0X0123456789ABCDEFll);
-    ((void)0X0123456789ABCDEFul);
-    ((void)0X0123456789ABCDEFlu);
-    ((void)0X0123456789ABCDEFull);
-    ((void)0X0123456789ABCDEFllu);
-    ((void)(+0X0123456789ABCDEF));
-    ((void)(+0X0123456789ABCDEFu));
-    ((void)(+0X0123456789ABCDEFl));
-    ((void)(+0X0123456789ABCDEFll));
-    ((void)(+0X0123456789ABCDEFul));
-    ((void)(+0X0123456789ABCDEFlu));
-    ((void)(+0X0123456789ABCDEFull));
-    ((void)(+0X0123456789ABCDEFllu));
-    ((void)(-0X0123456789ABCDEF));
-    ((void)(-0X0123456789ABCDEFu));
-    ((void)(-0X0123456789ABCDEFl));
-    ((void)(-0X0123456789ABCDEFll));
-    ((void)(-0X0123456789ABCDEFul));
-    ((void)(-0X0123456789ABCDEFlu));
-    ((void)(-0X0123456789ABCDEFull));
-    ((void)(-0X0123456789ABCDEFllu));
-    ((void)0123456789.);
-    ((void)0123456789.f);
-    ((void)0123456789.l);
-    ((void)0123456789.F);
-    ((void)0123456789.L);
-    ((void)0123456789.DL);
-    ((void)(+0123456789.));
-    ((void)(+0123456789.f));
-    ((void)(+0123456789.l));
-    ((void)(+0123456789.F));
-    ((void)(+0123456789.L));
-    ((void)(+0123456789.DL));
-    ((void)(-0123456789.));
-    ((void)(-0123456789.f));
-    ((void)(-0123456789.l));
-    ((void)(-0123456789.F));
-    ((void)(-0123456789.L));
-    ((void)(-0123456789.DL));
-    ((void)0123456789.e09);
-    ((void)0123456789.e09f);
-    ((void)0123456789.e09l);
-    ((void)0123456789.e09F);
-    ((void)0123456789.e09L);
-    ((void)0123456789.e09DL);
-    ((void)(+0123456789.e09));
-    ((void)(+0123456789.e09f));
-    ((void)(+0123456789.e09l));
-    ((void)(+0123456789.e09F));
-    ((void)(+0123456789.e09L));
-    ((void)(+0123456789.e09DL));
-    ((void)(-0123456789.e09));
-    ((void)(-0123456789.e09f));
-    ((void)(-0123456789.e09l));
-    ((void)(-0123456789.e09F));
-    ((void)(-0123456789.e09L));
-    ((void)(-0123456789.e09DL));
-    ((void)0123456789.e+09);
-    ((void)0123456789.e+09f);
-    ((void)0123456789.e+09l);
-    ((void)0123456789.e+09F);
-    ((void)0123456789.e+09L);
-    ((void)0123456789.e+09DL);
-    ((void)(+0123456789.e+09));
-    ((void)(+0123456789.e+09f));
-    ((void)(+0123456789.e+09l));
-    ((void)(+0123456789.e+09F));
-    ((void)(+0123456789.e+09L));
-    ((void)(+0123456789.e+09DL));
-    ((void)(-0123456789.e+09));
-    ((void)(-0123456789.e+09f));
-    ((void)(-0123456789.e+09l));
-    ((void)(-0123456789.e+09F));
-    ((void)(-0123456789.e+09L));
-    ((void)(-0123456789.e+09DL));
-    ((void)0123456789.e-09);
-    ((void)0123456789.e-09f);
-    ((void)0123456789.e-09l);
-    ((void)0123456789.e-09F);
-    ((void)0123456789.e-09L);
-    ((void)0123456789.e-09DL);
-    ((void)(+0123456789.e-09));
-    ((void)(+0123456789.e-09f));
-    ((void)(+0123456789.e-09l));
-    ((void)(+0123456789.e-09F));
-    ((void)(+0123456789.e-09L));
-    ((void)(+0123456789.e-09DL));
-    ((void)(-0123456789.e-09));
-    ((void)(-0123456789.e-09f));
-    ((void)(-0123456789.e-09l));
-    ((void)(-0123456789.e-09F));
-    ((void)(-0123456789.e-09L));
-    ((void)(-0123456789.e-09DL));
-    ((void).0123456789);
-    ((void).0123456789f);
-    ((void).0123456789l);
-    ((void).0123456789F);
-    ((void).0123456789L);
-    ((void).0123456789DL);
-    ((void)(+.0123456789));
-    ((void)(+.0123456789f));
-    ((void)(+.0123456789l));
-    ((void)(+.0123456789F));
-    ((void)(+.0123456789L));
-    ((void)(+.0123456789DL));
-    ((void)(-.0123456789));
-    ((void)(-.0123456789f));
-    ((void)(-.0123456789l));
-    ((void)(-.0123456789F));
-    ((void)(-.0123456789L));
-    ((void)(-.0123456789DL));
-    ((void).0123456789e09);
-    ((void).0123456789e09f);
-    ((void).0123456789e09l);
-    ((void).0123456789e09F);
-    ((void).0123456789e09L);
-    ((void).0123456789e09DL);
-    ((void)(+.0123456789e09));
-    ((void)(+.0123456789e09f));
-    ((void)(+.0123456789e09l));
-    ((void)(+.0123456789e09F));
-    ((void)(+.0123456789e09L));
-    ((void)(+.0123456789e09DL));
-    ((void)(-.0123456789e09));
-    ((void)(-.0123456789e09f));
-    ((void)(-.0123456789e09l));
-    ((void)(-.0123456789e09F));
-    ((void)(-.0123456789e09L));
-    ((void)(-.0123456789e09DL));
-    ((void).0123456789E+09);
-    ((void).0123456789E+09f);
-    ((void).0123456789E+09l);
-    ((void).0123456789E+09F);
-    ((void).0123456789E+09L);
-    ((void).0123456789E+09DL);
-    ((void)(+.0123456789E+09));
-    ((void)(+.0123456789E+09f));
-    ((void)(+.0123456789E+09l));
-    ((void)(+.0123456789E+09F));
-    ((void)(+.0123456789E+09L));
-    ((void)(+.0123456789E+09DL));
-    ((void)(-.0123456789E+09));
-    ((void)(-.0123456789E+09f));
-    ((void)(-.0123456789E+09l));
-    ((void)(-.0123456789E+09F));
-    ((void)(-.0123456789E+09L));
-    ((void)(-.0123456789E+09DL));
-    ((void).0123456789E-09);
-    ((void).0123456789E-09f);
-    ((void).0123456789E-09l);
-    ((void).0123456789E-09F);
-    ((void).0123456789E-09L);
-    ((void).0123456789E-09DL);
-    ((void)(-.0123456789E-09));
-    ((void)(-.0123456789E-09f));
-    ((void)(-.0123456789E-09l));
-    ((void)(-.0123456789E-09F));
-    ((void)(-.0123456789E-09L));
-    ((void)(-.0123456789E-09DL));
-    ((void)(-.0123456789E-09));
-    ((void)(-.0123456789E-09f));
-    ((void)(-.0123456789E-09l));
-    ((void)(-.0123456789E-09F));
-    ((void)(-.0123456789E-09L));
-    ((void)(-.0123456789E-09DL));
-    ((void)0123456789.0123456789);
-    ((void)0123456789.0123456789f);
-    ((void)0123456789.0123456789l);
-    ((void)0123456789.0123456789F);
-    ((void)0123456789.0123456789L);
-    ((void)0123456789.0123456789DL);
-    ((void)(+0123456789.0123456789));
-    ((void)(+0123456789.0123456789f));
-    ((void)(+0123456789.0123456789l));
-    ((void)(+0123456789.0123456789F));
-    ((void)(+0123456789.0123456789L));
-    ((void)(+0123456789.0123456789DL));
-    ((void)(-0123456789.0123456789));
-    ((void)(-0123456789.0123456789f));
-    ((void)(-0123456789.0123456789l));
-    ((void)(-0123456789.0123456789F));
-    ((void)(-0123456789.0123456789L));
-    ((void)(-0123456789.0123456789DL));
-    ((void)0123456789.0123456789E09);
-    ((void)0123456789.0123456789E09f);
-    ((void)0123456789.0123456789E09l);
-    ((void)0123456789.0123456789E09F);
-    ((void)0123456789.0123456789E09L);
-    ((void)0123456789.0123456789E09DL);
-    ((void)(+0123456789.0123456789E09));
-    ((void)(+0123456789.0123456789E09f));
-    ((void)(+0123456789.0123456789E09l));
-    ((void)(+0123456789.0123456789E09F));
-    ((void)(+0123456789.0123456789E09L));
-    ((void)(+0123456789.0123456789E09DL));
-    ((void)(-0123456789.0123456789E09));
-    ((void)(-0123456789.0123456789E09f));
-    ((void)(-0123456789.0123456789E09l));
-    ((void)(-0123456789.0123456789E09F));
-    ((void)(-0123456789.0123456789E09L));
-    ((void)(-0123456789.0123456789E09DL));
-    ((void)0123456789.0123456789E+09);
-    ((void)0123456789.0123456789E+09f);
-    ((void)0123456789.0123456789E+09l);
-    ((void)0123456789.0123456789E+09F);
-    ((void)0123456789.0123456789E+09L);
-    ((void)0123456789.0123456789E+09DL);
-    ((void)(+0123456789.0123456789E+09));
-    ((void)(+0123456789.0123456789E+09f));
-    ((void)(+0123456789.0123456789E+09l));
-    ((void)(+0123456789.0123456789E+09F));
-    ((void)(+0123456789.0123456789E+09L));
-    ((void)(+0123456789.0123456789E+09DL));
-    ((void)(-0123456789.0123456789E+09));
-    ((void)(-0123456789.0123456789E+09f));
-    ((void)(-0123456789.0123456789E+09l));
-    ((void)(-0123456789.0123456789E+09F));
-    ((void)(-0123456789.0123456789E+09L));
-    ((void)(-0123456789.0123456789E+09DL));
-    ((void)0123456789.0123456789E-09);
-    ((void)0123456789.0123456789E-09f);
-    ((void)0123456789.0123456789E-09l);
-    ((void)0123456789.0123456789E-09F);
-    ((void)0123456789.0123456789E-09L);
-    ((void)0123456789.0123456789E-09DL);
-    ((void)(+0123456789.0123456789E-09));
-    ((void)(+0123456789.0123456789E-09f));
-    ((void)(+0123456789.0123456789E-09l));
-    ((void)(+0123456789.0123456789E-09F));
-    ((void)(+0123456789.0123456789E-09L));
-    ((void)(+0123456789.0123456789E-09DL));
-    ((void)(-0123456789.0123456789E-09));
-    ((void)(-0123456789.0123456789E-09f));
-    ((void)(-0123456789.0123456789E-09l));
-    ((void)(-0123456789.0123456789E-09F));
-    ((void)(-0123456789.0123456789E-09L));
-    ((void)(-0123456789.0123456789E-09DL));
-    ((void)0x0123456789.p09);
-    ((void)0x0123456789.p09f);
-    ((void)0x0123456789.p09l);
-    ((void)0x0123456789.p09F);
-    ((void)0x0123456789.p09L);
-    ((void)(+0x0123456789.p09));
-    ((void)(+0x0123456789.p09f));
-    ((void)(+0x0123456789.p09l));
-    ((void)(+0x0123456789.p09F));
-    ((void)(+0x0123456789.p09L));
-    ((void)(-0x0123456789.p09));
-    ((void)(-0x0123456789.p09f));
-    ((void)(-0x0123456789.p09l));
-    ((void)(-0x0123456789.p09F));
-    ((void)(-0x0123456789.p09L));
-    ((void)0x0123456789.p+09);
-    ((void)0x0123456789.p+09f);
-    ((void)0x0123456789.p+09l);
-    ((void)0x0123456789.p+09F);
-    ((void)0x0123456789.p+09L);
-    ((void)(+0x0123456789.p+09));
-    ((void)(+0x0123456789.p+09f));
-    ((void)(+0x0123456789.p+09l));
-    ((void)(+0x0123456789.p+09F));
-    ((void)(+0x0123456789.p+09L));
-    ((void)(-0x0123456789.p+09));
-    ((void)(-0x0123456789.p+09f));
-    ((void)(-0x0123456789.p+09l));
-    ((void)(-0x0123456789.p+09F));
-    ((void)(-0x0123456789.p+09L));
-    ((void)0x0123456789.p-09);
-    ((void)0x0123456789.p-09f);
-    ((void)0x0123456789.p-09l);
-    ((void)0x0123456789.p-09F);
-    ((void)0x0123456789.p-09L);
-    ((void)(+0x0123456789.p-09));
-    ((void)(+0x0123456789.p-09f));
-    ((void)(+0x0123456789.p-09l));
-    ((void)(+0x0123456789.p-09F));
-    ((void)(+0x0123456789.p-09L));
-    ((void)(-0x0123456789.p-09));
-    ((void)(-0x0123456789.p-09f));
-    ((void)(-0x0123456789.p-09l));
-    ((void)(-0x0123456789.p-09F));
-    ((void)(-0x0123456789.p-09L));
-    ((void)0x.0123456789p09);
-    ((void)0x.0123456789p09f);
-    ((void)0x.0123456789p09l);
-    ((void)0x.0123456789p09F);
-    ((void)0x.0123456789p09L);
-    ((void)(+0x.0123456789p09));
-    ((void)(+0x.0123456789p09f));
-    ((void)(+0x.0123456789p09l));
-    ((void)(+0x.0123456789p09F));
-    ((void)(+0x.0123456789p09L));
-    ((void)(-0x.0123456789p09));
-    ((void)(-0x.0123456789p09f));
-    ((void)(-0x.0123456789p09l));
-    ((void)(-0x.0123456789p09F));
-    ((void)(-0x.0123456789p09L));
-    ((void)0x.0123456789p+09);
-    ((void)0x.0123456789p+09f);
-    ((void)0x.0123456789p+09l);
-    ((void)0x.0123456789p+09F);
-    ((void)0x.0123456789p+09L);
-    ((void)(+0x.0123456789p+09));
-    ((void)(+0x.0123456789p+09f));
-    ((void)(+0x.0123456789p+09l));
-    ((void)(+0x.0123456789p+09F));
-    ((void)(+0x.0123456789p+09L));
-    ((void)(-0x.0123456789p+09));
-    ((void)(-0x.0123456789p+09f));
-    ((void)(-0x.0123456789p+09l));
-    ((void)(-0x.0123456789p+09F));
-    ((void)(-0x.0123456789p+09L));
-    ((void)0x.0123456789P-09);
-    ((void)0x.0123456789P-09f);
-    ((void)0x.0123456789P-09l);
-    ((void)0x.0123456789P-09F);
-    ((void)0x.0123456789P-09L);
-    ((void)(+0x.0123456789P-09));
-    ((void)(+0x.0123456789P-09f));
-    ((void)(+0x.0123456789P-09l));
-    ((void)(+0x.0123456789P-09F));
-    ((void)(+0x.0123456789P-09L));
-    ((void)(-0x.0123456789P-09));
-    ((void)(-0x.0123456789P-09f));
-    ((void)(-0x.0123456789P-09l));
-    ((void)(-0x.0123456789P-09F));
-    ((void)(-0x.0123456789P-09L));
-    ((void)0X0123456789.0123456789P09);
-    ((void)0X0123456789.0123456789P09f);
-    ((void)0X0123456789.0123456789P09l);
-    ((void)0X0123456789.0123456789P09F);
-    ((void)0X0123456789.0123456789P09L);
-    ((void)(+0X0123456789.0123456789P09));
-    ((void)(+0X0123456789.0123456789P09f));
-    ((void)(+0X0123456789.0123456789P09l));
-    ((void)(+0X0123456789.0123456789P09F));
-    ((void)(+0X0123456789.0123456789P09L));
-    ((void)(-0X0123456789.0123456789P09));
-    ((void)(-0X0123456789.0123456789P09f));
-    ((void)(-0X0123456789.0123456789P09l));
-    ((void)(-0X0123456789.0123456789P09F));
-    ((void)(-0X0123456789.0123456789P09L));
-    ((void)0X0123456789.0123456789P+09);
-    ((void)0X0123456789.0123456789P+09f);
-    ((void)0X0123456789.0123456789P+09l);
-    ((void)0X0123456789.0123456789P+09F);
-    ((void)0X0123456789.0123456789P+09L);
-    ((void)(+0X0123456789.0123456789P+09));
-    ((void)(+0X0123456789.0123456789P+09f));
-    ((void)(+0X0123456789.0123456789P+09l));
-    ((void)(+0X0123456789.0123456789P+09F));
-    ((void)(+0X0123456789.0123456789P+09L));
-    ((void)(-0X0123456789.0123456789P+09));
-    ((void)(-0X0123456789.0123456789P+09f));
-    ((void)(-0X0123456789.0123456789P+09l));
-    ((void)(-0X0123456789.0123456789P+09F));
-    ((void)(-0X0123456789.0123456789P+09L));
-    ((void)0X0123456789.0123456789P-09);
-    ((void)0X0123456789.0123456789P-09f);
-    ((void)0X0123456789.0123456789P-09l);
-    ((void)0X0123456789.0123456789P-09F);
-    ((void)0X0123456789.0123456789P-09L);
-    ((void)(+0X0123456789.0123456789P-09));
-    ((void)(+0X0123456789.0123456789P-09f));
-    ((void)(+0X0123456789.0123456789P-09l));
-    ((void)(+0X0123456789.0123456789P-09F));
-    ((void)(+0X0123456789.0123456789P-09L));
-    ((void)(-0X0123456789.0123456789P-09));
-    ((void)(-0X0123456789.0123456789P-09f));
-    ((void)(-0X0123456789.0123456789P-09l));
-    ((void)(-0X0123456789.0123456789P-09F));
-    ((void)(-0X0123456789.0123456789P-09L));
-    ((void)((signed char )0b01101011));
-    ((void)((signed short int )0b01101011));
-    ((void)((signed int )0b01101011));
-    ((void)((signed long long int )0b01101011));
-    ((void)((__int128 )0b01101011));
-    ((void)((unsigned char )0b01101011u));
-    ((void)((signed short int )0b01101011u));
-    ((void)((unsigned int )0b01101011u));
-    ((void)((signed long long int )0b01101011u));
-    ((void)((__int128 )0b01101011u));
-    ((void)(+((signed int )((signed char )0b01101011))));
-    ((void)(+((signed int )((signed short int )0b01101011))));
-    ((void)(+((signed int )0b01101011)));
-    ((void)(+((signed long long int )0b01101011)));
-    ((void)(+((float )((__int128 )0b01101011))));
-    ((void)(+((signed int )((unsigned char )0b01101011u))));
-    ((void)(+((signed int )((signed short int )0b01101011u))));
-    ((void)(+((unsigned int )0b01101011u)));
-    ((void)(+((signed long long int )0b01101011u)));
-    ((void)(+((float )((__int128 )0b01101011u))));
-    ((void)(-((signed int )((signed char )0b01101011))));
-    ((void)(-((signed int )((signed short int )0b01101011))));
-    ((void)(-((signed int )0b01101011)));
-    ((void)(-((signed long long int )0b01101011)));
-    ((void)(-((float )((__int128 )0b01101011))));
-    ((void)(-((signed int )((unsigned char )0b01101011u))));
-    ((void)(-((signed int )((signed short int )0b01101011u))));
-    ((void)(-((unsigned int )0b01101011u)));
-    ((void)(-((signed long long int )0b01101011u)));
-    ((void)(-((float )((__int128 )0b01101011u))));
-    ((void)((signed char )01234567));
-    ((void)((signed short int )01234567));
-    ((void)((signed int )01234567));
-    ((void)((signed long long int )01234567));
-    ((void)((__int128 )01234567));
-    ((void)((unsigned char )01234567u));
-    ((void)((signed short int )01234567u));
-    ((void)((unsigned int )01234567u));
-    ((void)((signed long long int )01234567u));
-    ((void)((__int128 )01234567u));
-    ((void)(+((signed int )((signed char )01234567))));
-    ((void)(+((signed int )((signed short int )01234567))));
-    ((void)(+((signed int )01234567)));
-    ((void)(+((signed long long int )01234567)));
-    ((void)(+((float )((__int128 )01234567))));
-    ((void)(+((signed int )((unsigned char )01234567u))));
-    ((void)(+((signed int )((signed short int )01234567u))));
-    ((void)(+((unsigned int )01234567u)));
-    ((void)(+((signed long long int )01234567u)));
-    ((void)(+((float )((__int128 )01234567u))));
-    ((void)(-((signed int )((signed char )01234567))));
-    ((void)(-((signed int )((signed short int )01234567))));
-    ((void)(-((signed int )01234567)));
-    ((void)(-((signed long long int )01234567)));
-    ((void)(-((float )((__int128 )01234567))));
-    ((void)(-((signed int )((unsigned char )01234567u))));
-    ((void)(-((signed int )((signed short int )01234567u))));
-    ((void)(-((unsigned int )01234567u)));
-    ((void)(-((signed long long int )01234567u)));
-    ((void)(-((float )((__int128 )01234567u))));
-    ((void)((signed char )1234567890));
-    ((void)((signed short int )1234567890));
-    ((void)((signed int )1234567890));
-    ((void)((signed long long int )1234567890));
-    ((void)((__int128 )1234567890));
-    ((void)((signed char )1234567890U));
-    ((void)((unsigned short int )1234567890U));
-    ((void)((signed int )1234567890U));
-    ((void)((unsigned long long int )1234567890u));
-    ((void)((unsigned __int128 )1234567890u));
-    ((void)(+((signed int )((signed char )1234567890))));
-    ((void)(+((signed int )((signed short int )1234567890))));
-    ((void)(+((signed int )1234567890)));
-    ((void)(+((signed long long int )1234567890)));
-    ((void)(+((float )((__int128 )1234567890))));
-    ((void)(+((signed int )((signed char )1234567890U))));
-    ((void)(+((signed int )((unsigned short int )1234567890U))));
-    ((void)(+((signed int )1234567890U)));
-    ((void)(+((unsigned long long int )1234567890u)));
-    ((void)(+((float )((unsigned __int128 )1234567890u))));
-    ((void)(-((signed int )((signed char )1234567890))));
-    ((void)(-((signed int )((signed short int )1234567890))));
-    ((void)(-((signed int )1234567890)));
-    ((void)(-((signed long long int )1234567890)));
-    ((void)(-((float )((__int128 )1234567890))));
-    ((void)(-((signed int )((signed char )1234567890U))));
-    ((void)(-((signed int )((unsigned short int )1234567890U))));
-    ((void)(-((signed int )1234567890U)));
-    ((void)(-((unsigned long long int )1234567890u)));
-    ((void)(-((float )((unsigned __int128 )1234567890u))));
-    ((void)((signed char )0x0123456789abcdef));
-    ((void)((signed short int )0x0123456789abcdef));
-    ((void)((signed int )0x0123456789abcdef));
-    ((void)((signed long long int )0x0123456789abcdef));
-    ((void)((signed char )0x0123456789abcdefu));
-    ((void)((unsigned short int )0x0123456789abcdefu));
-    ((void)((signed int )0x0123456789abcdefu));
-    ((void)((unsigned long long int )0x0123456789abcdefu));
-    ((void)(+((signed int )((signed char )0x0123456789abcdef))));
-    ((void)(+((signed int )((signed short int )0x0123456789abcdef))));
-    ((void)(+((signed int )0x0123456789abcdef)));
-    ((void)(+((signed long long int )0x0123456789abcdef)));
-    ((void)(+((signed int )((signed char )0x0123456789abcdefu))));
-    ((void)(+((signed int )((unsigned short int )0x0123456789abcdefu))));
-    ((void)(+((signed int )0x0123456789abcdefu)));
-    ((void)(+((unsigned long long int )0x0123456789abcdefu)));
-    ((void)(-((signed int )((signed char )0x0123456789abcdef))));
-    ((void)(-((signed int )((signed short int )0x0123456789abcdef))));
-    ((void)(-((signed int )0x0123456789abcdef)));
-    ((void)(-((signed long long int )0x0123456789abcdef)));
-    ((void)(-((signed int )((signed char )0x0123456789abcdefu))));
-    ((void)(-((signed int )((unsigned short int )0x0123456789abcdefu))));
-    ((void)(-((signed int )0x0123456789abcdefu)));
-    ((void)(-((unsigned long long int )0x0123456789abcdefu)));
-    ((void)((signed char )0x0123456789ABCDEF));
-    ((void)((signed short int )0x0123456789ABCDEF));
-    ((void)((signed int )0x0123456789ABCDEF));
-    ((void)((signed long long int )0x0123456789ABCDEF));
-    ((void)((signed char )0x0123456789ABCDEFu));
-    ((void)((unsigned short int )0x0123456789ABCDEFu));
-    ((void)((signed int )0x0123456789ABCDEFu));
-    ((void)((unsigned long long int )0x0123456789ABCDEFu));
-    ((void)(+((signed int )((signed char )0x0123456789ABCDEF))));
-    ((void)(+((signed int )((signed short int )0x0123456789ABCDEF))));
-    ((void)(+((signed int )0x0123456789ABCDEF)));
-    ((void)(+((signed long long int )0x0123456789ABCDEF)));
-    ((void)(+((signed int )((signed char )0x0123456789ABCDEFu))));
-    ((void)(+((signed int )((unsigned short int )0x0123456789ABCDEFu))));
-    ((void)(+((signed int )0x0123456789ABCDEFu)));
-    ((void)(+((unsigned long long int )0x0123456789ABCDEFu)));
-    ((void)(-((signed int )((signed char )0x0123456789ABCDEF))));
-    ((void)(-((signed int )((signed short int )0x0123456789ABCDEF))));
-    ((void)(-((signed int )0x0123456789ABCDEF)));
-    ((void)(-((signed long long int )0x0123456789ABCDEF)));
-    ((void)(-((signed int )((signed char )0x0123456789ABCDEFu))));
-    ((void)(-((signed int )((unsigned short int )0x0123456789ABCDEFu))));
-    ((void)(-((signed int )0x0123456789ABCDEFu)));
-    ((void)(-((unsigned long long int )0x0123456789ABCDEFu)));
-    ((void)((signed char )0X0123456789abcdef));
-    ((void)((signed short int )0X0123456789abcdef));
-    ((void)((signed int )0X0123456789abcdef));
-    ((void)((signed long long int )0X0123456789abcdef));
-    ((void)((signed char )0X0123456789abcdefu));
-    ((void)((unsigned short int )0X0123456789abcdefu));
-    ((void)((signed int )0X0123456789abcdefu));
-    ((void)((unsigned long long int )0X0123456789abcdefu));
-    ((void)(+((signed int )((signed char )0X0123456789abcdef))));
-    ((void)(+((signed int )((signed short int )0X0123456789abcdef))));
-    ((void)(+((signed int )0X0123456789abcdef)));
-    ((void)(+((signed long long int )0X0123456789abcdef)));
-    ((void)(+((signed int )((signed char )0X0123456789abcdefu))));
-    ((void)(+((signed int )((unsigned short int )0X0123456789abcdefu))));
-    ((void)(+((signed int )0X0123456789abcdefu)));
-    ((void)(+((unsigned long long int )0X0123456789abcdefu)));
-    ((void)(-((signed int )((signed char )0X0123456789abcdef))));
-    ((void)(-((signed int )((signed short int )0X0123456789abcdef))));
-    ((void)(-((signed int )0X0123456789abcdef)));
-    ((void)(-((signed long long int )0X0123456789abcdef)));
-    ((void)(-((signed int )((signed char )0X0123456789abcdefu))));
-    ((void)(-((signed int )((unsigned short int )0X0123456789abcdefu))));
-    ((void)(-((signed int )0X0123456789abcdefu)));
-    ((void)(-((unsigned long long int )0X0123456789abcdefu)));
-    ((void)((signed char )0X0123456789ABCDEF));
-    ((void)((signed short int )0X0123456789ABCDEF));
-    ((void)((signed int )0X0123456789ABCDEF));
-    ((void)((signed long long int )0X0123456789ABCDEF));
-    ((void)((signed char )0X0123456789ABCDEFu));
-    ((void)((unsigned short int )0X0123456789ABCDEFu));
-    ((void)((signed int )0X0123456789ABCDEFu));
-    ((void)((unsigned long long int )0X0123456789ABCDEFu));
-    ((void)(+((signed int )((signed char )0X0123456789ABCDEF))));
-    ((void)(+((signed int )((signed short int )0X0123456789ABCDEF))));
-    ((void)(+((signed int )0X0123456789ABCDEF)));
-    ((void)(+((signed long long int )0X0123456789ABCDEF)));
-    ((void)(+((signed int )((signed char )0X0123456789ABCDEFu))));
-    ((void)(+((signed int )((unsigned short int )0X0123456789ABCDEFu))));
-    ((void)(+((signed int )0X0123456789ABCDEFu)));
-    ((void)(+((unsigned long long int )0X0123456789ABCDEFu)));
-    ((void)(-((signed int )((signed char )0X0123456789ABCDEF))));
-    ((void)(-((signed int )((signed short int )0X0123456789ABCDEF))));
-    ((void)(-((signed int )0X0123456789ABCDEF)));
-    ((void)(-((signed long long int )0X0123456789ABCDEF)));
-    ((void)(-((signed int )((signed char )0X0123456789ABCDEFu))));
-    ((void)(-((signed int )((unsigned short int )0X0123456789ABCDEFu))));
-    ((void)(-((signed int )0X0123456789ABCDEFu)));
-    ((void)(-((unsigned long long int )0X0123456789ABCDEFu)));
-    ((void)((float )0123456789.));
-    ((void)((double )0123456789.));
-    ((void)((long double )0123456789.));
-    ((void)((long double )0123456789.));
-    ((void)(+((float )0123456789.)));
-    ((void)(+((double )0123456789.)));
-    ((void)(+((long double )0123456789.)));
-    ((void)(+((long double )0123456789.)));
-    ((void)(-((float )0123456789.)));
-    ((void)(-((double )0123456789.)));
-    ((void)(-((long double )0123456789.)));
-    ((void)(-((long double )0123456789.)));
-    ((void)((float )0123456789.e09));
-    ((void)((double )0123456789.e09));
-    ((void)((long double )0123456789.e09));
-    ((void)((long double )0123456789.e09));
-    ((void)(+((float )0123456789.e+09)));
-    ((void)(+((double )0123456789.e+09)));
-    ((void)(+((long double )0123456789.e+09)));
-    ((void)(+((long double )0123456789.e+09)));
-    ((void)(-((float )0123456789.e-09)));
-    ((void)(-((double )0123456789.e-09)));
-    ((void)(-((long double )0123456789.e-09)));
-    ((void)(-((long double )0123456789.e-09)));
-    ((void)((float ).0123456789e09));
-    ((void)((double ).0123456789e09));
-    ((void)((long double ).0123456789e09));
-    ((void)((long double ).0123456789e09));
-    ((void)(+((float ).0123456789E+09)));
-    ((void)(+((double ).0123456789E+09)));
-    ((void)(+((long double ).0123456789E+09)));
-    ((void)(+((long double ).0123456789E+09)));
-    ((void)(-((float ).0123456789E-09)));
-    ((void)(-((double ).0123456789E-09)));
-    ((void)(-((long double ).0123456789E-09)));
-    ((void)(-((long double ).0123456789E-09)));
-    ((void)((float )0123456789.0123456789));
-    ((void)((double )0123456789.0123456789));
-    ((void)((long double )0123456789.0123456789));
-    ((void)((long double )0123456789.0123456789));
-    ((void)(+((float )0123456789.0123456789E09)));
-    ((void)(+((double )0123456789.0123456789E09)));
-    ((void)(+((long double )0123456789.0123456789E09)));
-    ((void)(+((long double )0123456789.0123456789E09)));
-    ((void)(-((float )0123456789.0123456789E+09)));
-    ((void)(-((double )0123456789.0123456789E+09)));
-    ((void)(-((long double )0123456789.0123456789E+09)));
-    ((void)(-((long double )0123456789.0123456789E+09)));
-    ((void)((float )0123456789.0123456789E-09));
-    ((void)((double )0123456789.0123456789E-09));
-    ((void)((long double )0123456789.0123456789E-09));
-    ((void)((long double )0123456789.0123456789E-09));
-    ((void)((float )0x0123456789.p09));
-    ((void)((double )0x0123456789.p09));
-    ((void)((long double )0x0123456789.p09));
-    ((void)((long double )0x0123456789.p09));
-    ((void)(+((float )0x0123456789.p09)));
-    ((void)(+((double )0x0123456789.p09)));
-    ((void)(+((long double )0x0123456789.p09)));
-    ((void)(+((long double )0x0123456789.p09)));
-    ((void)(-((float )0x0123456789.p09)));
-    ((void)(-((double )0x0123456789.p09)));
-    ((void)(-((long double )0x0123456789.p09)));
-    ((void)(-((long double )0x0123456789.p09)));
-    ((void)((float )0x0123456789.p+09));
-    ((void)((double )0x0123456789.p+09));
-    ((void)((long double )0x0123456789.p+09));
-    ((void)((long double )0x0123456789.p+09));
-    ((void)(+((float )0x0123456789.p-09)));
-    ((void)(+((double )0x0123456789.p-09)));
-    ((void)(+((long double )0x0123456789.p-09)));
-    ((void)(+((long double )0x0123456789.p-09)));
-    ((void)(-((float )0x.0123456789p09)));
-    ((void)(-((double )0x.0123456789p09)));
-    ((void)(-((long double )0x.0123456789p09)));
-    ((void)(-((long double )0x.0123456789p09)));
-    ((void)__f__F_c__1('a'));
-    ((void)__f__F_Sc__1(20));
-    ((void)__f__F_Uc__1(((unsigned char )21u)));
-    ((void)__f__F_s__1(22));
-    ((void)__f__F_Us__1(((unsigned short int )23u)));
-    ((void)__f__F_Ui__1(((unsigned int )24)));
-    ((void)' ');
-    ((void)'a');
-    ((void)'"');
-    ((void)'_');
-    ((void)'\'');
-    ((void)'\"');
-    ((void)'\?');
-    ((void)'\\');
-    ((void)'\a');
-    ((void)'\b');
-    ((void)'\e');
-    ((void)'\f');
-    ((void)'\n');
-    ((void)'\r');
-    ((void)'\t');
-    ((void)'\v');
-    ((void)'\0');
-    ((void)'\377');
-    ((void)'\xf');
-    ((void)'\xff');
-    ((void)u' ');
-    ((void)u'a');
-    ((void)u'"');
-    ((void)u'_');
-    ((void)U' ');
-    ((void)U'a');
-    ((void)U'"');
-    ((void)U'_');
-    ((void)L' ');
-    ((void)L'a');
-    ((void)L'"');
-    ((void)L'_');
-    ((void)" ");
-    ((void)"a");
-    ((void)"'");
-    ((void)'_');
-    ((void)"abcdefghijklmnopqrstuvwxyz");
-    ((void)"");
-    ((void)"aa");
-    ((void)"a\na");
-    ((void)"a\0a");
-    ((void)"_\377_");
-    ((void)"_\xff_");
-    ((void)"\xff");
-    ((void)"\'");
-    ((void)"\"");
-    ((void)"\?");
-    ((void)"\\");
-    ((void)"\a");
-    ((void)"\b");
-    ((void)"\e");
-    ((void)"\f");
-    ((void)"\n");
-    ((void)"\r");
-    ((void)"\t");
-    ((void)"\v");
-    ((void)"\0");
-    ((void)"\377");
-    ((void)"\xf");
-    ((void)"\xff");
-    ((void)u8" ");
-    ((void)u8"a");
-    ((void)u8"'");
-    ((void)u'_');
-    ((void)u8"abcdefghijklmnopqrstuvwxyz");
-    ((void)u" ");
-    ((void)u"a");
-    ((void)u"'");
-    ((void)u'_');
-    ((void)u"abcdefghijklmnopqrstuvwxyz");
-    ((void)U" ");
-    ((void)U"a");
-    ((void)U"'");
-    ((void)U'_');
-    ((void)U"abcdefghijklmnopqrstuvwxyz");
-    ((void)L" ");
-    ((void)L"a");
-    ((void)L"'");
-    ((void)L'_');
-    ((void)L"abcdefghijklmnopqrstuvwxyz");
-    ((void)"\xFF");
-    ((void)u"\xFFFF");
-    ((void)U"\xFFFFFFFF");
-    ((void)L"\xFFFFFFFF");
-    ((void)"\x12" "3");
-    ((void)u8"a" "b" "c");
-    ((void)u8"a" "b" "c");
-    ((void)u8"a" "b" "c");
-    ((void)u8"a" "b" "c");
-    ((void)u8"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)u"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)U"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)L"a" "b" "c");
-    ((void)(___retval_main__i_1=0) /* ?{} */);
-    return ___retval_main__i_1;
-}
-static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi___1(); }
-static inline signed int invoke_main(signed int argc, char **argv, char **envp);
-signed int main(signed int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){
-    __attribute__ ((unused)) signed int ___retval_main__i_1;
-    signed int _tmp_cp_ret2;
-    ((void)(___retval_main__i_1=(((void)(_tmp_cp_ret2=invoke_main(__argc__i_1, __argv__PPc_1, __envp__PPc_1))) , _tmp_cp_ret2)) /* ?{} */);
-    ((void)(_tmp_cp_ret2) /* ^?{} */);
-    return ___retval_main__i_1;
-}
Index: src/tests/.gitignore
===================================================================
--- src/tests/.gitignore	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/.gitignore	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -1,2 +1,3 @@
 .out/
 .err/
+.type
Index: src/tests/Makefile.am
===================================================================
--- src/tests/Makefile.am	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/Makefile.am	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 09:08:15 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Nov 27 21:34:33 2017
-## Update Count     : 48
+## Last Modified On : Wed Jun  6 16:42:20 2018
+## Update Count     : 49
 ###############################################################################
 
@@ -28,5 +28,5 @@
 DEBUG_FLAGS =
 
-BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@
+BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -I.
 if !BUILD_DEBUG
 BUILD_FLAGS += -nodebug
@@ -92,7 +92,4 @@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
 
-literals : literals.c @CFA_BINDIR@/@CFA_NAME@
-	${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
-
 sched-ext-parse : sched-ext-parse.c @CFA_BINDIR@/@CFA_NAME@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
Index: src/tests/Makefile.in
===================================================================
--- src/tests/Makefile.in	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/Makefile.in	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -309,5 +309,5 @@
 # applies to both programs
 DEBUG_FLAGS = 
-BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ \
+BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -I. \
 	$(am__append_1) $(am__append_2) $(am__append_3)
 TEST_FLAGS = $(if $(test), 2> $(test), )
@@ -769,7 +769,4 @@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
 
-literals : literals.c @CFA_BINDIR@/@CFA_NAME@
-	${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
-
 sched-ext-parse : sched-ext-parse.c @CFA_BINDIR@/@CFA_NAME@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
Index: src/tests/builtins/sync.c
===================================================================
--- src/tests/builtins/sync.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/builtins/sync.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -8,5 +8,7 @@
 	volatile int * vp4 = 0; int * rp4 = 0; int v4 = 0;
 	volatile long long int * vp8 = 0; long long int * rp8 = 0; long long int v8 = 0;
+	#if defined(__SIZEOF_INT128__)
 	volatile __int128 * vp16 = 0; __int128 * rp16 = 0; __int128 v16 = 0;
+	#endif
 
 	{ char ret; ret = __sync_fetch_and_add(vp1, v1); }
@@ -18,6 +20,8 @@
 	{ long long int ret; ret = __sync_fetch_and_add(vp8, v8); }
 	{ long long int ret; ret = __sync_fetch_and_add_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_fetch_and_add(vp16, v16); }
 	{ __int128 ret; ret = __sync_fetch_and_add_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_fetch_and_sub(vp1, v1); }
@@ -29,6 +33,8 @@
 	{ long long int ret; ret = __sync_fetch_and_sub(vp8, v8); }
 	{ long long int ret; ret = __sync_fetch_and_sub_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_fetch_and_sub(vp16, v16); }
 	{ __int128 ret; ret = __sync_fetch_and_sub_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_fetch_and_or(vp1, v1); }
@@ -40,6 +46,8 @@
 	{ long long int ret; ret = __sync_fetch_and_or(vp8, v8); }
 	{ long long int ret; ret = __sync_fetch_and_or_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_fetch_and_or(vp16, v16); }
 	{ __int128 ret; ret = __sync_fetch_and_or_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_fetch_and_and(vp1, v1); }
@@ -51,6 +59,8 @@
 	{ long long int ret; ret = __sync_fetch_and_and(vp8, v8); }
 	{ long long int ret; ret = __sync_fetch_and_and_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_fetch_and_and(vp16, v16); }
 	{ __int128 ret; ret = __sync_fetch_and_and_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_fetch_and_xor(vp1, v1); }
@@ -62,6 +72,8 @@
 	{ long long int ret; ret = __sync_fetch_and_xor(vp8, v8); }
 	{ long long int ret; ret = __sync_fetch_and_xor_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_fetch_and_xor(vp16, v16); }
 	{ __int128 ret; ret = __sync_fetch_and_xor_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_fetch_and_nand(vp1, v1); }
@@ -73,6 +85,8 @@
 	{ long long int ret; ret = __sync_fetch_and_nand(vp8, v8); }
 	{ long long int ret; ret = __sync_fetch_and_nand_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_fetch_and_nand(vp16, v16); }
 	{ __int128 ret; ret = __sync_fetch_and_nand_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_add_and_fetch(vp1, v1); }
@@ -84,6 +98,8 @@
 	{ long long int ret; ret = __sync_add_and_fetch(vp8, v8); }
 	{ long long int ret; ret = __sync_add_and_fetch_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_add_and_fetch(vp16, v16); }
 	{ __int128 ret; ret = __sync_add_and_fetch_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_sub_and_fetch(vp1, v1); }
@@ -95,6 +111,8 @@
 	{ long long int ret; ret = __sync_sub_and_fetch(vp8, v8); }
 	{ long long int ret; ret = __sync_sub_and_fetch_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_sub_and_fetch(vp16, v16); }
 	{ __int128 ret; ret = __sync_sub_and_fetch_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_or_and_fetch(vp1, v1); }
@@ -106,6 +124,8 @@
 	{ long long int ret; ret = __sync_or_and_fetch(vp8, v8); }
 	{ long long int ret; ret = __sync_or_and_fetch_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_or_and_fetch(vp16, v16); }
 	{ __int128 ret; ret = __sync_or_and_fetch_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_and_and_fetch(vp1, v1); }
@@ -117,6 +137,8 @@
 	{ long long int ret; ret = __sync_and_and_fetch(vp8, v8); }
 	{ long long int ret; ret = __sync_and_and_fetch_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_and_and_fetch(vp16, v16); }
 	{ __int128 ret; ret = __sync_and_and_fetch_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_xor_and_fetch(vp1, v1); }
@@ -128,6 +150,8 @@
 	{ long long int ret; ret = __sync_xor_and_fetch(vp8, v8); }
 	{ long long int ret; ret = __sync_xor_and_fetch_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_xor_and_fetch(vp16, v16); }
 	{ __int128 ret; ret = __sync_xor_and_fetch_16(vp16, v16); }
+	#endif
 
 	{ char ret; ret = __sync_nand_and_fetch(vp1, v1); }
@@ -139,6 +163,8 @@
 	{ long long int ret; ret = __sync_nand_and_fetch(vp8, v8); }
 	{ long long int ret; ret = __sync_nand_and_fetch_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_nand_and_fetch(vp16, v16); }
 	{ __int128 ret; ret = __sync_nand_and_fetch_16(vp16, v16); }
+	#endif
 
 	{ _Bool ret; ret = __sync_bool_compare_and_swap(vp1, v1, v1); }
@@ -150,6 +176,8 @@
 	{ _Bool ret; ret = __sync_bool_compare_and_swap(vp8, v8, v8); }
 	{ _Bool ret; ret = __sync_bool_compare_and_swap_8(vp8, v8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ _Bool ret; ret = __sync_bool_compare_and_swap(vp16, v16, v16); }
 	{ _Bool ret; ret = __sync_bool_compare_and_swap_16(vp16, v16,v16); }
+	#endif
 
 	{ char ret; ret = __sync_val_compare_and_swap(vp1, v1, v1); }
@@ -161,6 +189,8 @@
 	{ long long int ret; ret = __sync_val_compare_and_swap(vp8, v8, v8); }
 	{ long long int ret; ret = __sync_val_compare_and_swap_8(vp8, v8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_val_compare_and_swap(vp16, v16, v16); }
 	{ __int128 ret; ret = __sync_val_compare_and_swap_16(vp16, v16,v16); }
+	#endif
 
 	{ char ret; ret = __sync_lock_test_and_set(vp1, v1); }
@@ -172,6 +202,8 @@
 	{ long long int ret; ret = __sync_lock_test_and_set(vp8, v8); }
 	{ long long int ret; ret = __sync_lock_test_and_set_8(vp8, v8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __sync_lock_test_and_set(vp16, v16); }
 	{ __int128 ret; ret = __sync_lock_test_and_set_16(vp16, v16); }
+	#endif
 
 	{ __sync_lock_release(vp1); }
@@ -183,6 +215,8 @@
 	{ __sync_lock_release(vp8); }
 	{ __sync_lock_release_8(vp8); }
+	#if defined(__SIZEOF_INT128__)
 	{ __sync_lock_release(vp16); }
 	{ __sync_lock_release_16(vp16); }
+	#endif
 
 	{ __sync_synchronize(); }
@@ -208,7 +242,9 @@
 	{ long long int ret; ret = __atomic_exchange_8(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; __atomic_exchange(vp8, &v8, &ret, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_exchange_n(vp16, &v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_exchange_16(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; __atomic_exchange(vp16, &v16, &ret, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_load_n(vp1, __ATOMIC_SEQ_CST); }
@@ -224,7 +260,9 @@
 	{ long long int ret; ret = __atomic_load_8(vp8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; __atomic_load(vp8, &ret, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_load_n(vp16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_load_16(vp16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; __atomic_load(vp16, &ret, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ _Bool ret; ret = __atomic_compare_exchange_n(vp1, rp1, v1, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
@@ -240,7 +278,9 @@
 	{ _Bool ret; ret = __atomic_compare_exchange_8(vp8, rp8, v8, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
 	{ _Bool ret; ret = __atomic_compare_exchange(vp8, rp8, &v8, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ _Bool ret; ret = __atomic_compare_exchange_n(vp16, rp16, v16, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
 	{ _Bool ret; ret = __atomic_compare_exchange_16(vp16, rp16, v16, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
 	{ _Bool ret; ret = __atomic_compare_exchange(vp16, rp16, &v16, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ __atomic_store_n(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -256,7 +296,9 @@
 	{ __atomic_store_8(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ __atomic_store(vp8, &v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __atomic_store_n(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __atomic_store_16(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __atomic_store(vp16, &v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_add_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -268,6 +310,8 @@
 	{ long long int ret; ret = __atomic_add_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_add_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_add_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_add_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_sub_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -279,6 +323,8 @@
 	{ long long int ret; ret = __atomic_sub_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_sub_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_sub_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_sub_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_and_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -290,6 +336,8 @@
 	{ long long int ret; ret = __atomic_and_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_and_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_and_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_and_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_nand_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -301,6 +349,8 @@
 	{ long long int ret; ret = __atomic_nand_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_nand_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_nand_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_nand_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_xor_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -312,6 +362,8 @@
 	{ long long int ret; ret = __atomic_xor_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_xor_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_xor_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_xor_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_or_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -323,6 +375,8 @@
 	{ long long int ret; ret = __atomic_or_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_or_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_or_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_or_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_fetch_add(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -334,6 +388,8 @@
 	{ long long int ret; ret = __atomic_fetch_add(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_fetch_add_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_fetch_add(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_fetch_add_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_fetch_sub(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -345,6 +401,8 @@
 	{ long long int ret; ret = __atomic_fetch_sub(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_fetch_sub_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_fetch_sub(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_fetch_sub_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_fetch_and(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -356,6 +414,8 @@
 	{ long long int ret; ret = __atomic_fetch_and(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_fetch_and_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_fetch_and(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_fetch_and_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_fetch_nand(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -367,6 +427,8 @@
 	{ long long int ret; ret = __atomic_fetch_nand(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_fetch_nand_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_fetch_nand(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_fetch_nand_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_fetch_xor(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -378,6 +440,8 @@
 	{ long long int ret; ret = __atomic_fetch_xor(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_fetch_xor_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_fetch_xor(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_fetch_xor_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ char ret; ret = __atomic_fetch_or(vp1, v1, __ATOMIC_SEQ_CST); }
@@ -389,6 +453,8 @@
 	{ long long int ret; ret = __atomic_fetch_or(vp8, v8, __ATOMIC_SEQ_CST); }
 	{ long long int ret; ret = __atomic_fetch_or_8(vp8, v8, __ATOMIC_SEQ_CST); }
+	#if defined(__SIZEOF_INT128__)
 	{ __int128 ret; ret = __atomic_fetch_or(vp16, v16, __ATOMIC_SEQ_CST); }
 	{ __int128 ret; ret = __atomic_fetch_or_16(vp16, v16, __ATOMIC_SEQ_CST); }
+	#endif
 
 	{ _Bool ret; ret = __atomic_always_lock_free(sizeof(int), vp4); }
Index: src/tests/concurrent/coroutineYield.c
===================================================================
--- src/tests/concurrent/coroutineYield.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/concurrent/coroutineYield.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -4,4 +4,7 @@
 #include <thread>
 #include <time>
+
+#define __kick_rate 150000ul
+#include "long_tests.h"
 
 #ifndef PREEMPTION_RATE
@@ -13,5 +16,5 @@
 }
 
-#ifdef LONG_TEST
+#ifdef TEST_LONG
 static const unsigned long N = 600_000ul;
 #else
@@ -23,7 +26,11 @@
 void main(Coroutine& this) {
 	while(true) {
-		sout | "Coroutine 1" | endl;
+		#if !defined(TEST_FOREVER)
+			sout | "Coroutine 1" | endl;
+		#endif
 		yield();
-		sout | "Coroutine 2" | endl;
+		#if !defined(TEST_FOREVER)
+			sout | "Coroutine 2" | endl;
+		#endif
 		suspend();
 	}
@@ -33,9 +40,14 @@
 int main(int argc, char* argv[]) {
 	Coroutine c;
-	for(int i = 0; i < N; i++) {
-		sout | "Thread 1" | endl;
+	for(int i = 0; TEST(i < N); i++) {
+		#if !defined(TEST_FOREVER)
+			sout | "Thread 1" | endl;
+		#endif
 		resume(c);
-		sout | "Thread 2" | endl;
+		#if !defined(TEST_FOREVER)
+			sout | "Thread 2" | endl;
+		#endif
 		yield();
+		KICK_WATCHDOG;
 	}
 }
Index: src/tests/concurrent/examples/datingService.c
===================================================================
--- src/tests/concurrent/examples/datingService.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/concurrent/examples/datingService.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -8,6 +8,6 @@
 // Created On       : Mon Oct 30 12:56:20 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Mar 14 22:48:40 2018
-// Update Count     : 23
+// Last Modified On : Sun May 27 09:05:18 2018
+// Update Count     : 26
 //
 
@@ -18,8 +18,8 @@
 #include <unistd.h>										// getpid
 
-enum { NoOfPairs = 20 };
+enum { CompCodes = 20 };								// number of compatibility codes
 
 monitor DatingService {
-	condition Girls[NoOfPairs], Boys[NoOfPairs];
+	condition Girls[CompCodes], Boys[CompCodes];
 	unsigned int GirlPhoneNo, BoyPhoneNo;
 }; // DatingService
@@ -47,6 +47,6 @@
 } // DatingService boy
 
-unsigned int girlck[NoOfPairs];
-unsigned int boyck[NoOfPairs];
+unsigned int girlck[CompCodes];
+unsigned int boyck[CompCodes];
 
 thread Girl {
@@ -88,20 +88,20 @@
 int main() {
 	DatingService TheExchange;
-	Girl * girls[NoOfPairs];
-	Boy  * boys[NoOfPairs];
+	Girl * girls[CompCodes];
+	Boy  * boys[CompCodes];
 
 	srandom( /*getpid()*/ 103 );
 
-	for ( unsigned int i = 0; i < NoOfPairs; i += 1 ) {
+	for ( unsigned int i = 0; i < CompCodes; i += 1 ) {
 		girls[i] = new( &TheExchange, i, i );
-		boys[i]  = new( &TheExchange, i, NoOfPairs - ( i + 1 ) );
+		boys[i]  = new( &TheExchange, i, CompCodes - ( i + 1 ) );
 	} // for
 
-	for ( unsigned int i = 0; i < NoOfPairs; i += 1 ) {
+	for ( unsigned int i = 0; i < CompCodes; i += 1 ) {
 		delete( boys[i] );
 		delete( girls[i] );
 	} // for
 
-	for ( unsigned int i = 0; i < NoOfPairs; i += 1 ) {
+	for ( unsigned int i = 0; i < CompCodes; i += 1 ) {
 		if ( girlck[ boyck[i] ] != boyck[ girlck[i] ] ) abort();
 	} // for
Index: src/tests/concurrent/preempt.c
===================================================================
--- src/tests/concurrent/preempt.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/concurrent/preempt.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -2,4 +2,6 @@
 #include <thread>
 #include <time>
+
+#include "long_tests.h"
 
 #ifndef PREEMPTION_RATE
@@ -11,5 +13,5 @@
 }
 
-#ifdef LONG_TEST
+#ifdef TEST_LONG
 static const unsigned long N = 30_000ul;
 #else
@@ -30,5 +32,5 @@
 
 void main(worker_t & this) {
-	while(counter < N) {
+	while(TEST(counter < N)) {
 		__cfaabi_check_preemption();
 		if( (counter % 7) == this.value ) {
@@ -40,4 +42,5 @@
 		}
 		__cfaabi_check_preemption();
+		KICK_WATCHDOG;
 	}
 }
Index: src/tests/concurrent/signal/barge.c
===================================================================
--- src/tests/concurrent/signal/barge.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ 	(revision )
@@ -1,117 +1,0 @@
-//----------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------
-//
-//		DEPRECATED TEST
-//
-//----------------------------------------------------------------------------------------
-//----------------------------------------------------------------------------------------
-
-#include <fstream>
-#include <kernel>
-#include <monitor>
-#include <stdlib>
-#include <thread>
-
-static const unsigned long N = 50_000ul;
-
-#ifndef PREEMPTION_RATE
-#define PREEMPTION_RATE 10`ms
-#endif
-
-Duration default_preemption() {
-	return 0;
-}
-enum state_t { WAIT, SIGNAL, BARGE };
-
-monitor global_t {};
-
-monitor global_data_t {
-	volatile bool done;
-	int counter;
-	state_t state;
-
-	unsigned short do_signal;
-	unsigned short do_wait2;
-	unsigned short do_wait1;
-};
-
-void ?{} ( global_data_t & this ) {
-	this.done = false;
-	this.counter = 0;
-	this.state = BARGE;
-
-	this.do_signal = 6;
-	this.do_wait1  = 1;
-	this.do_wait2  = 3;
-}
-
-void ^?{} ( global_data_t & this ) {}
-
-global_t globalA;
-global_t globalB;
-global_data_t globalC;
-
-condition cond;
-
-thread Threads {};
-
-bool logicC( global_t & mutex a, global_t & mutex b, global_data_t & mutex c ) {
-	c.counter++;
-
-	if( (c.counter % 1000) == 0 ) sout | c.counter | endl;
-
-	int action = c.counter % 10;
-
-	if( action == 0 ) {
-		c.do_signal = max( random( 10 ), 1);
-		c.do_wait1 = random( c.do_signal );
-		c.do_wait2 = random( c.do_signal );
-
-		if(c.do_wait1 == c.do_wait2) sout | "Same" | endl;
-	}
-
-	if( action == c.do_wait1 || action == c.do_wait2 ) {
-		c.state = WAIT;
-		wait( cond );
-
-		if(c.state != SIGNAL) {
-			sout | "ERROR Barging detected" | c.counter | endl;
-			abort();
-		}
-	}
-	else if( action == c.do_signal ) {
-		c.state = SIGNAL;
-
-		signal( cond );
-		signal( cond );
-	}
-	else {
-		c.state = BARGE;
-	}
-
-	if( c.counter >= N ) c.done = true;
-	return !c.done;
-}
-
-bool logicB( global_t & mutex a, global_t & mutex b ) {
-	return logicC(a, b, globalC);
-}
-
-bool logicA( global_t & mutex a ) {
-	return logicB(a, globalB);
-}
-
-void main( Threads & this ) {
-	while( logicA(globalA) ) { yield(); };
-}
-
-static thread_desc * volatile the_threads;
-
-int main(int argc, char* argv[]) {
-	srandom(0);
-	processor p;
-	{
-		Threads t[17];
-		the_threads = (thread_desc*)t;
-	}
-}
Index: src/tests/concurrent/signal/block.c
===================================================================
--- src/tests/concurrent/signal/block.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/concurrent/signal/block.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -14,4 +14,6 @@
 #include <time>
 
+#include "long_tests.h"
+
 #ifndef PREEMPTION_RATE
 #define PREEMPTION_RATE 10`ms
@@ -22,5 +24,5 @@
 }
 
-#ifdef LONG_TEST
+#ifdef TEST_LONG
 static const unsigned long N = 150_000ul;
 #else
@@ -40,5 +42,5 @@
 }
 
-void ^?{} ( global_data_t & this ) {}
+void ^?{} ( global_data_t & mutex this ) {}
 
 global_data_t globalA, globalB;
@@ -66,6 +68,7 @@
 thread Waiter {};
 void main( Waiter & this ) {
-	for( int i = 0; i < N; i++ ) {
+	for( int i = 0; TEST(i < N); i++ ) {
 		wait_op( globalA, globalB, i );
+		KICK_WATCHDOG;
 	}
 }
Index: src/tests/concurrent/signal/disjoint.c
===================================================================
--- src/tests/concurrent/signal/disjoint.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/concurrent/signal/disjoint.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -4,4 +4,6 @@
 #include <thread>
 #include <time>
+
+#include "long_tests.h"
 
 #ifndef PREEMPTION_RATE
@@ -13,5 +15,5 @@
 }
 
-#ifdef LONG_TEST
+#ifdef TEST_LONG
 static const unsigned long N = 300_000ul;
 #else
@@ -26,5 +28,5 @@
 monitor global_data_t;
 void ?{}( global_data_t & this );
-void ^?{} ( global_data_t & this );
+void ^?{} ( global_data_t & mutex this );
 
 monitor global_data_t {
@@ -42,5 +44,5 @@
 }
 
-void ^?{} ( global_data_t & this ) {}
+void ^?{} ( global_data_t & mutex this ) {}
 
 //------------------------------------------------------------------------------
@@ -67,9 +69,10 @@
 	}
 
-	d.counter++;
+	#if !defined(TEST_FOREVER)
+		d.counter++;
+		if( (d.counter % 1000) == 0 ) sout | d.counter | endl;
+	#endif
 
-	if( (d.counter % 1000) == 0 ) sout | d.counter | endl;
-
-	return d.counter < N;
+	return TEST(d.counter < N);
 }
 
@@ -77,5 +80,5 @@
 
 void main( Waiter & this ) {
-	while( wait( mut, data ) ) { yield(); }
+	while( wait( mut, data ) ) { KICK_WATCHDOG; yield(); }
 }
 
@@ -94,5 +97,5 @@
 
 	//This is technically a mutual exclusion violation but the mutex monitor protects us
-	bool running = data.counter < N && data.counter > 0;
+	bool running = TEST(data.counter < N) && data.counter > 0;
 	if( data.state != SIGNAL && running ) {
 		sout | "ERROR Eager signal" | data.state | endl;
Index: src/tests/concurrent/signal/wait.c
===================================================================
--- src/tests/concurrent/signal/wait.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/concurrent/signal/wait.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -12,4 +12,7 @@
 #include <time>
 
+#define __kick_rate 12000ul
+#include "long_tests.h"
+
 #ifndef PREEMPTION_RATE
 #define PREEMPTION_RATE 10`ms
@@ -20,5 +23,5 @@
 }
 
-#ifdef LONG_TEST
+#ifdef TEST_LONG
 static const unsigned long N = 375_000ul;
 #else
@@ -90,6 +93,7 @@
 // Waiter ABC
 void main( WaiterABC & this ) {
-	for( int i = 0; i < N; i++ ) {
+	for( int i = 0; TEST(i < N); i++ ) {
 		wait( condABC, globalA, globalB, globalC );
+		KICK_WATCHDOG;
 	}
 
@@ -100,6 +104,7 @@
 // Waiter AB
 void main( WaiterAB & this ) {
-	for( int i = 0; i < N; i++ ) {
+	for( int i = 0; TEST(i < N); i++ ) {
 		wait( condAB , globalA, globalB );
+		KICK_WATCHDOG;
 	}
 
@@ -110,6 +115,7 @@
 // Waiter AC
 void main( WaiterAC & this ) {
-	for( int i = 0; i < N; i++ ) {
+	for( int i = 0; TEST(i < N); i++ ) {
 		wait( condAC , globalA, globalC );
+		KICK_WATCHDOG;
 	}
 
@@ -120,6 +126,7 @@
 // Waiter BC
 void main( WaiterBC & this ) {
-	for( int i = 0; i < N; i++ ) {
+	for( int i = 0; TEST(i < N); i++ ) {
 		wait( condBC , globalB, globalC );
+		KICK_WATCHDOG;
 	}
 
Index: src/tests/ifcond.c
===================================================================
--- src/tests/ifcond.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ 	(revision )
@@ -1,47 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// ifcond.c --
-//
-// Author           : Peter A. Buhr
-// Created On       : Sat Aug 26 10:13:11 2017
-// Last Modified By : Rob Schluntz
-// Last Modified On : Fri Sep 01 15:22:19 2017
-// Update Count     : 14
-//
-
-#include <fstream>
-
-int f( int r ) { return r; }
-
-int main( void ) {
-	int x = 4, y = 3;
-
-	if ( int x = 1 ) {
-		sout | "x != 0 correct" | endl;
-	} else {
-		sout | "x == 0 incorrect" | endl;
-	} // if
-
-	if ( int x = 4, y = 0 ) {
-		sout | "x != 0 && y != 0 incorrect" | endl;
-	} else if ( int x = 4, y = 1 ) {
-		sout | "x != 0 && y != 0 correct" | endl;
-	} else {
-		sout | "x == 0 || y == 0 incorrect" | endl;
-	} // if
-
-	if ( int x = 5, y = f( x ); x == y ) {
-		sout | "x == y correct" | endl;
-	} else {
-		sout | "x != y incorrect" | endl;
-	} // if
-} // main
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa ifcond.c" //
-// End: //
Index: src/tests/ifwhileCtl.c
===================================================================
--- src/tests/ifwhileCtl.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/tests/ifwhileCtl.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,75 @@
+//
+// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+//
+// ifwhileCtl.c --
+//
+// Author           : Peter A. Buhr
+// Created On       : Sat Aug 26 10:13:11 2017
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Wed Jun  6 17:15:09 2018
+// Update Count     : 21
+//
+
+#include <fstream>
+
+int f( int r ) { return r; }
+
+int main( void ) {
+	int x = 4, y = 3;
+
+	if ( int x = 1 ) {
+		sout | "x != 0 correct" | endl;
+	} else {
+		sout | "x == 0 incorrect" | endl;
+	} // if
+
+	if ( int x = 4, y = 0 ) {
+		sout | "x != 0 && y != 0 incorrect" | endl;
+	} else if ( int x = 4, y = 1 ) {
+		sout | "x != 0 && y != 0 correct" | endl;
+	} else {
+		sout | "x == 0 || y == 0 incorrect" | endl;
+	} // if
+
+	if ( int x = 5, y = f( x ); x == y ) {
+		sout | "x == y correct" | endl;
+	} else {
+		sout | "x != y incorrect" | endl;
+	} // if
+
+	if ( struct S { int i; } s = { 3 }; s.i < 4 ) {
+		S s1;
+		sout | "s.i < 4 correct" | endl;
+	} else {
+		S s1;
+		sout | "s.i >= 4 incorrect" | endl;
+	} // if
+
+	while ( int x = 1 ) {
+		sout | "x != 0 correct" | endl;
+		break;
+	} // while
+
+	while ( int x = 4, y = 0 ) {
+		sout | "x != 0 && y != 0 incorrect" | endl;
+	} // while
+
+	while ( int x = 5, y = f( x ); x == y ) {
+		sout | "x == y correct" | endl;
+		break;
+	} // while
+
+	while ( struct S { int i; } s = { 3 }; s.i < 4 ) {
+		S s1;
+		sout | "s.i < 4 correct" | endl;
+		break;
+	} // while
+} // main
+
+// Local Variables: //
+// tab-width: 4 //
+// compile-command: "cfa ifwhileCtl.c" //
+// End: //
Index: src/tests/long_tests.h
===================================================================
--- src/tests/long_tests.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/tests/long_tests.h	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,21 @@
+#pragma once
+
+#include <unistd.h>
+
+#if   defined(TEST_FOREVER)
+
+static unsigned long long __kick_count = 0;
+#if !defined(__kick_rate)
+#define __kick_rate 5000ul
+#endif
+
+#define TEST(x) 1
+#define KICK_WATCHDOG do { __kick_count++; if(__kick_count > __kick_rate) { write(STDOUT_FILENO, ".", 1); __kick_count = 0; } } while(0)
+
+
+#else
+
+#define TEST(x) x
+#define KICK_WATCHDOG
+
+#endif
Index: src/tests/preempt_longrun/Makefile.am
===================================================================
--- src/tests/preempt_longrun/Makefile.am	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/preempt_longrun/Makefile.am	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -19,9 +19,16 @@
 preempt=10ul\`ms
 debug=-debug
+type=LONG
 
 REPEAT = ${abs_top_srcdir}/tools/repeat
+WATCHDOG = ${abs_top_srcdir}/tools/watchdog
 TIME = /usr/bin/time -f "%E"
 
-BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -DLONG_TEST
+# $(shell ./update-type $(type))
+# ./update-type $(type)
+
+UPDATED_TYPE = $(shell ./update-type $(type))
+
+BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -I.. -I. -DTEST_$(shell cat .type | tr a-z A-Z)
 CFLAGS = ${BUILD_FLAGS}
 CC = @CFA_BINDIR@/@CFA_NAME@
@@ -29,16 +36,30 @@
 TESTS = block coroutine create disjoint enter enter3 processor stack wait yield
 
-.INTERMEDIATE: ${TESTS}
+# .INTERMEDIATE: ${TESTS}
 
 all-local: ${TESTS:=.run}
 
+runall : ${TESTS:=.run}
+	@ echo "All programs terminated normally"
+
+watchall : ${TESTS:=.watch}
+	@ echo "All programs terminated normally"
+
+compileall : ${TESTS}
+	@ echo "Compiled"
+
 clean-local:
-	rm -f ${TESTS}
+	rm -f ${TESTS} core* out.log .type
 
-% : %.c ${CC}
+% : %.c ${CC} ${UPDATED_TYPE}
 	${AM_V_GEN}${CC} ${CFLAGS} ${<} $(debug) -o ${@}
 
 %.run : % ${REPEAT}
 	@ time ${REPEAT} -r out.log -i -s $(repeats) timeout ${max_time} ./${<}
+	@ rm ${<}
+	@ echo -e "${<}: SUCCESS\n"
+
+%.watch : % ${WATCHDOG}
+	@ time ${WATCHDOG} ./${<}
 	@ rm ${<}
 	@ echo -e "${<}: SUCCESS\n"
@@ -49,4 +70,7 @@
 	@ echo -e "${<}: SUCCESS\n"
 
-${REPEAT}:
+${REPEAT}: ${abs_top_srcdir}/tools/Makefile
 	@+make -C ${abs_top_srcdir}/tools/
+
+${WATCHDOG}: ${abs_top_srcdir}/tools/Makefile
+	@+make -C ${abs_top_srcdir}/tools/
Index: src/tests/preempt_longrun/Makefile.in
===================================================================
--- src/tests/preempt_longrun/Makefile.in	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/preempt_longrun/Makefile.in	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -452,7 +452,13 @@
 preempt = 10ul\`ms
 debug = -debug
+type = LONG
 REPEAT = ${abs_top_srcdir}/tools/repeat
+WATCHDOG = ${abs_top_srcdir}/tools/watchdog
 TIME = /usr/bin/time -f "%E"
-BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -DLONG_TEST
+
+# $(shell ./update-type $(type))
+# ./update-type $(type)
+UPDATED_TYPE = $(shell ./update-type $(type))
+BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -O2 -DPREEMPTION_RATE=${preempt} -I.. -I. -DTEST_$(shell cat .type | tr a-z A-Z)
 TESTS = block coroutine create disjoint enter enter3 processor stack wait yield
 all: all-am
@@ -873,12 +879,21 @@
 
 
-.INTERMEDIATE: ${TESTS}
+# .INTERMEDIATE: ${TESTS}
 
 all-local: ${TESTS:=.run}
 
+runall : ${TESTS:=.run}
+	@ echo "All programs terminated normally"
+
+watchall : ${TESTS:=.watch}
+	@ echo "All programs terminated normally"
+
+compileall : ${TESTS}
+	@ echo "Compiled"
+
 clean-local:
-	rm -f ${TESTS}
-
-% : %.c ${CC}
+	rm -f ${TESTS} core* out.log .type
+
+% : %.c ${CC} ${UPDATED_TYPE}
 	${AM_V_GEN}${CC} ${CFLAGS} ${<} $(debug) -o ${@}
 
@@ -888,4 +903,9 @@
 	@ echo -e "${<}: SUCCESS\n"
 
+%.watch : % ${WATCHDOG}
+	@ time ${WATCHDOG} ./${<}
+	@ rm ${<}
+	@ echo -e "${<}: SUCCESS\n"
+
 %.time : % ${REPEAT}
 	@ ${REPEAT} -i -s -- $(repeats) $(TIME) -a -o times.log ./${<}
@@ -893,5 +913,8 @@
 	@ echo -e "${<}: SUCCESS\n"
 
-${REPEAT}:
+${REPEAT}: ${abs_top_srcdir}/tools/Makefile
+	@+make -C ${abs_top_srcdir}/tools/
+
+${WATCHDOG}: ${abs_top_srcdir}/tools/Makefile
 	@+make -C ${abs_top_srcdir}/tools/
 
Index: src/tests/preempt_longrun/create.c
===================================================================
--- src/tests/preempt_longrun/create.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/preempt_longrun/create.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -2,4 +2,6 @@
 #include <thread>
 #include <time>
+
+#include "long_tests.h"
 
 #ifndef PREEMPTION_RATE
@@ -19,6 +21,7 @@
 int main(int argc, char* argv[]) {
 	processor p;
-	for(int i = 0; i < N; i++) {
+	for(int i = 0; TEST(i < N); i++) {
 		worker_t w[7];
+		KICK_WATCHDOG;
 	}
 }
Index: src/tests/preempt_longrun/enter.c
===================================================================
--- src/tests/preempt_longrun/enter.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/preempt_longrun/enter.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -3,4 +3,7 @@
 #include <thread>
 #include <time>
+
+#define __kick_rate 75000ul
+#include "long_tests.h"
 
 #ifndef PREEMPTION_RATE
@@ -15,19 +18,14 @@
 
 monitor mon_t {};
+void foo( mon_t & mutex this ) {
+	KICK_WATCHDOG;
+}
 
 mon_t mon;
-
-void foo( mon_t & mutex this ) {}
-
 thread worker_t {};
-
 void main( worker_t & this ) {
-	for( unsigned long i = 0; i < N; i++ ) {
+	for( unsigned long i = 0; TEST(i < N); i++ ) {
 		foo( mon );
 	}
-}
-
-extern "C" {
-static worker_t * workers;
 }
 
@@ -36,5 +34,4 @@
 	{
 		worker_t w[7];
-		workers = w;
 	}
 }
Index: src/tests/preempt_longrun/enter3.c
===================================================================
--- src/tests/preempt_longrun/enter3.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/preempt_longrun/enter3.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -3,4 +3,7 @@
 #include <thread>
 #include <time>
+
+#define __kick_rate 75000ul
+#include "long_tests.h"
 
 #ifndef PREEMPTION_RATE
@@ -18,10 +21,12 @@
 mon_t mon1, mon2, mon3;
 
-void foo( mon_t & mutex a, mon_t & mutex b, mon_t & mutex c ) {}
+void foo( mon_t & mutex a, mon_t & mutex b, mon_t & mutex c ) {
+	KICK_WATCHDOG;
+}
 
 thread worker_t {};
 
 void main( worker_t & this ) {
-	for( unsigned long i = 0; i < N; i++ ) {
+	for( unsigned long i = 0; TEST(i < N); i++ ) {
 		foo( mon1, mon2, mon3 );
 	}
Index: src/tests/preempt_longrun/processor.c
===================================================================
--- src/tests/preempt_longrun/processor.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/preempt_longrun/processor.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -2,4 +2,8 @@
 #include <thread>
 #include <time>
+
+#include <unistd.h>
+
+#include "long_tests.h"
 
 #ifndef PREEMPTION_RATE
@@ -11,5 +15,5 @@
 }
 
-static const unsigned long N = 5_000ul;
+static const unsigned long N = 50_000ul;
 
 int main(int argc, char* argv[]) {
@@ -18,8 +22,12 @@
 		p[pi] = new();
 	}
-	for ( int i = 0; i < N; i++) {
+	for ( int i = 0; TEST(i < N); i++) {
 		int pi = i % 15;
 		delete( p[pi] );
 		p[pi] = new();
+		KICK_WATCHDOG;
+	}
+	for ( int pi = 0; pi < 15; pi++ ) {
+		delete( p[pi] );
 	}
 }
Index: src/tests/preempt_longrun/stack.c
===================================================================
--- src/tests/preempt_longrun/stack.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/preempt_longrun/stack.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -3,4 +3,7 @@
 #include <thread>
 #include <time>
+
+#define __kick_rate 5000000ul
+#include "long_tests.h"
 
 #ifndef PREEMPTION_RATE
@@ -15,14 +18,17 @@
 
 void main(worker_t & this) {
-	volatile long long p = 5_021_609ul;
-	volatile long long a = 326_417ul;
-	volatile long long n = 1l;
-	for (volatile long long i = 0; i < p; i++) {
-		n *= a;
-		n %= p;
-	}
+	while(TEST(0)) {
+		volatile long long p = 5_021_609ul;
+		volatile long long a = 326_417ul;
+		volatile long long n = 1l;
+		for (volatile long long i = 0; i < p; i++) {
+			n *= a;
+			n %= p;
+			KICK_WATCHDOG;
+		}
 
-	if( n != a ) {
-		abort();
+		if( !TEST(n == a) ) {
+			abort();
+		}
 	}
 }
Index: src/tests/preempt_longrun/update-type
===================================================================
--- src/tests/preempt_longrun/update-type	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
+++ src/tests/preempt_longrun/update-type	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+if [ "$#" -ne 1 ]
+then
+	echo "illegal number of parameters, must be 1 was $#"
+	exit
+fi
+
+NEW="$(echo $1 | tr a-z A-Z)"
+TYPE_FILE=".type"
+if [ -f "$TYPE_FILE" ]
+then
+	OLD="$(cat $TYPE_FILE | tr a-z A-Z)"
+	if [ $OLD == $NEW ]
+	then
+		echo > /dev/null
+		# echo "$TYPE_FILE stayed unchanged"
+	else
+		echo "$NEW" > "$TYPE_FILE"
+		# echo "$TYPE_FILE changed from '$OLD' to '$NEW'"
+	fi
+else
+	echo "$NEW" > "$TYPE_FILE"
+fi
+echo "$TYPE_FILE"
Index: src/tests/preempt_longrun/yield.c
===================================================================
--- src/tests/preempt_longrun/yield.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/preempt_longrun/yield.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -2,4 +2,7 @@
 #include <thread>
 #include <time>
+
+#define __kick_rate 550000ul
+#include "long_tests.h"
 
 #ifndef PREEMPTION_RATE
@@ -11,5 +14,5 @@
 }
 
-#ifdef LONG_TEST
+#ifdef TEST_LONG
 static const unsigned long N = 9_750_000ul;
 #else
@@ -20,6 +23,7 @@
 
 void main(worker_t & this) {
-	for(int i = 0; i < N; i++) {
+	for(int i = 0; TEST(i < N); i++) {
 		yield();
+		KICK_WATCHDOG;
 	}
 }
Index: src/tests/pybin/tools.py
===================================================================
--- src/tests/pybin/tools.py	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/pybin/tools.py	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -83,4 +83,20 @@
 	return sh(cmd)
 
+def which(program):
+    import os
+    def is_exe(fpath):
+        return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
+
+    fpath, fname = os.path.split(program)
+    if fpath:
+        if is_exe(program):
+            return program
+    else:
+        for path in os.environ["PATH"].split(os.pathsep):
+            exe_file = os.path.join(path, program)
+            if is_exe(exe_file):
+                return exe_file
+
+    return None
 ################################################################################
 #               file handling
@@ -219,4 +235,13 @@
 	return False
 
+def fancy_print(text):
+	column = which('column')
+	if column:
+		cmd = "%s 2> /dev/null" % column
+		print(cmd)
+		proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True)
+		proc.communicate(input=text)
+	else:
+		print(text)
 
 settings.set_machine_default( getMachineType )
Index: src/tests/raii/.expect/ctor-autogen-ERR1.txt
===================================================================
--- src/tests/raii/.expect/ctor-autogen-ERR1.txt	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/raii/.expect/ctor-autogen-ERR1.txt	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -1,9 +1,56 @@
-raii/ctor-autogen.c:102:1 error: No reasonable alternatives for expression Applying untyped: 
-  Name: ?{}
-...to: 
-  Cast of:
-    Variable Expression: x: instance of struct Managed with body 1 
-  ... to:
-    reference to instance of struct Managed with body 1 
-  constant expression (123 123: signed int)
+raii/ctor-autogen.c:102:1 error: Unique best alternative includes deleted identifier in Cast of:
+  Application of
+    Deleted Expression
+      Variable Expression: ?{}: static inline function
+      ... with parameters
+        _dst: reference to instance of struct Managed with body 1 
+        x: signed int
+      ... returning nothing 
 
+      ... deleted by: ?{}: function
+      ... with parameters
+        m: reference to instance of struct Managed with body 1 
+      ... returning nothing 
+      ... with body 
+        CompoundStmt
+          Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+              ... with parameters
+                intrinsic reference to signed int
+                intrinsic signed int
+              ... returning 
+                _retval__operator_assign: signed int
+                ... with attributes: 
+                  Attribute with name: unused
+
+
+            ... to arguments
+              Cast of:
+                Member Expression, with field: 
+                  x: signed int
+                ... from aggregate: 
+                  Cast of:
+                    Variable Expression: m: reference to instance of struct Managed with body 1 
+                  ... to:
+                    instance of struct Managed with body 1 
+              ... to:
+                reference to signed int
+              Cast of:
+                constant expression (0 0: zero_t)
+              ... to:
+                signed int
+
+            ... with environment:
+              Types:
+              Non-types:
+
+
+  ... to arguments
+    Cast of:
+      Variable Expression: x: instance of struct Managed with body 1 
+    ... to:
+      reference to instance of struct Managed with body 1 
+    constant expression (123 123: signed int)
+
+... to: nothing
Index: src/tests/sum.c
===================================================================
--- src/tests/sum.c	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/sum.c	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -11,6 +11,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Feb 17 11:49:17 2018
-// Update Count     : 273
+// Last Modified On : Sun Jun  3 19:23:41 2018
+// Update Count     : 278
 //
 
@@ -18,8 +18,8 @@
 #include <stdlib>
 
-void ?{}( int & c, zero_t ) { c = 0; }
+void ?{}( int & c, zero_t ) { c = 0; }					// not in prelude
 
 trait sumable( otype T ) {
-	void ?{}( T &, zero_t );							// constructor from 0 literal
+	void ?{}( T &, zero_t );							// 0 literal constructor
 	T ?+?( T, T );										// assortment of additions
 	T ?+=?( T &, T );
@@ -29,7 +29,7 @@
 
 forall( otype T | sumable( T ) )						// use trait
-T sum( unsigned int size, T a[] ) {
-	T total = 0;										// instantiate T from 0 by calling constructor
-	for ( unsigned int i = 0; i < size; i += 1 )
+T sum( size_t size, T a[] ) {
+	T total = 0;										// initialize by 0 constructor
+	for ( size_t i = 0; i < size; i += 1 )
 		total += a[i];									// select appropriate +
 	return total;
@@ -111,8 +111,8 @@
 	for ( int i = 0; i < size; i += 1, v += 1 ) {
 		s += (int)v;
-		gs.x[i] = (int)v;								// set filed array in generic type
+		gs.x[i] = (int)v;								// set field array in generic type
 	} // for
 	sout | "sum from" | low | "to" | High | "is"
-		 | sum( size, gs.x ) | ", check" | (int)s | endl; // add filed array in generic type
+		 | sum( size, gs.x ) | ", check" | (int)s | endl; // add field array in generic type
 } // main
 
Index: src/tests/test.py
===================================================================
--- src/tests/test.py	(revision 97397a26b44bae1c0120193fd3d160297ec1db7a)
+++ src/tests/test.py	(revision b21c77a0e211d9361763565a2eb5ef4330f2957b)
@@ -277,5 +277,5 @@
 	elif options.list :
 		print("Listing for %s:%s"% (settings.arch.string, settings.debug.string))
-		print("\n".join(map(lambda t: "%s" % (t.toString()), tests)))
+		fancy_print("\n".join(map(lambda t: "%s" % (t.toString()), tests)))
 
 	else :
